efsbroker

package
v0.0.0-...-e5cf6b4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 22, 2019 License: Apache-2.0 Imports: 18 Imported by: 4

Documentation

Index

Constants

View Source
const (
	PermissionVolumeMount = brokerapi.RequiredPermission("volume_mount")
	DefaultContainerPath  = "/var/vcap/data"

	RootPath = ":/"
)
View Source
const (
	PollingInterval = time.Second
)

Variables

View Source
var (
	ErrNoMountTargets         = errors.New("no mount targets found")
	ErrMountTargetUnavailable = errors.New("mount target not in available state")
)

Functions

This section is empty.

Types

type Broker

type Broker struct {
	ProvisionOperation   func(logger lager.Logger, instanceID string, details brokerapi.ProvisionDetails, efsService EFSService, efsTools efsvoltools.VolTools, subnets []Subnet, clock Clock, updateCb func(*OperationState)) Operation
	DeprovisionOperation func(logger lager.Logger, efsService EFSService, clock Clock, spec DeprovisionOperationSpec, updateCb func(*OperationState)) Operation
	// contains filtered or unexported fields
}

func New

func New(
	logger lager.Logger,
	serviceName, serviceId, dataDir string,
	os osshim.Os,
	clock clock.Clock,
	store brokerstore.Store,
	efsService EFSService, subnets []Subnet,
	efsTools efsvoltools.VolTools,
	provisionOperation func(logger lager.Logger, instanceID string, details brokerapi.ProvisionDetails, efsService EFSService, efsTools efsvoltools.VolTools, subnets []Subnet, clock Clock, updateCb func(*OperationState)) Operation,
	deprovisionOperation func(logger lager.Logger, efsService EFSService, clock Clock, spec DeprovisionOperationSpec, updateCb func(*OperationState)) Operation,
) *Broker

func (*Broker) Bind

func (b *Broker) Bind(context context.Context, instanceID string, bindingID string, details brokerapi.BindDetails) (_ brokerapi.Binding, e error)

func (*Broker) Deprovision

func (b *Broker) Deprovision(context context.Context, instanceID string, details brokerapi.DeprovisionDetails, asyncAllowed bool) (_ brokerapi.DeprovisionServiceSpec, e error)

func (*Broker) DeprovisionEvent

func (b *Broker) DeprovisionEvent(opState *OperationState)

func (*Broker) LastOperation

func (b *Broker) LastOperation(_ context.Context, instanceID string, operationData string) (brokerapi.LastOperation, error)

func (*Broker) Provision

func (b *Broker) Provision(context context.Context, instanceID string, details brokerapi.ProvisionDetails, asyncAllowed bool) (_ brokerapi.ProvisionedServiceSpec, e error)

func (*Broker) ProvisionEvent

func (b *Broker) ProvisionEvent(opState *OperationState)

callbacks

func (*Broker) Services

func (b *Broker) Services(_ context.Context) []brokerapi.Service

func (*Broker) Unbind

func (b *Broker) Unbind(context context.Context, instanceID string, bindingID string, details brokerapi.UnbindDetails) (e error)

func (*Broker) Update

func (b *Broker) Update(context context.Context, instanceID string, details brokerapi.UpdateDetails, asyncAllowed bool) (brokerapi.UpdateServiceSpec, error)

type Clock

type Clock interface {
	Sleep(d time.Duration)
}

type DeprovisionOperation

type DeprovisionOperation struct {
	// contains filtered or unexported fields
}

func NewTestDeprovisionOperation

func NewTestDeprovisionOperation(logger lager.Logger, efsService EFSService, clock Clock, spec DeprovisionOperationSpec, updateCb func(*OperationState)) *DeprovisionOperation

func (*DeprovisionOperation) CheckFs

func (o *DeprovisionOperation) CheckFs(fsID string) error

func (*DeprovisionOperation) CheckMountTarget

func (o *DeprovisionOperation) CheckMountTarget(fsID string) error

func (*DeprovisionOperation) DeleteFs

func (o *DeprovisionOperation) DeleteFs(fsID string) error

func (*DeprovisionOperation) DeleteMountTarget

func (o *DeprovisionOperation) DeleteMountTarget(fsID string) error

func (*DeprovisionOperation) Execute

func (o *DeprovisionOperation) Execute()

type DeprovisionOperationSpec

type DeprovisionOperationSpec struct {
	InstanceID     string
	FsID           string
	MountTargetIDs []string
}

type EFSInstance

type EFSInstance struct {
	brokerapi.ProvisionDetails
	EfsId         string             `json:"EfsId"`
	FsState       string             `json:"FsState"`
	MountId       string             `json:"MountId"`
	MountState    string             `json:"MountState"`
	MountPermsSet bool               `json:"MountPermsSet"`
	MountIp       string             `json:"MountIp"`
	MountIds      []string           `json:"MountIds"`
	MountStates   []string           `json:"MountStates"`
	MountIps      []string           `json:"MountIps"`
	MountAZs      []string           `json:"MountAZs"`
	Err           *OperationStateErr `json:"Err"`
}

type Operation

type Operation interface {
	Execute()
}

func NewDeprovisionOperation

func NewDeprovisionOperation(logger lager.Logger, efsService EFSService, clock Clock, spec DeprovisionOperationSpec, updateCb func(*OperationState)) Operation

func NewProvisionOperation

func NewProvisionOperation(logger lager.Logger, instanceID string, details brokerapi.ProvisionDetails, efsService EFSService, efsTools efsvoltools.VolTools, subnets []Subnet, clock Clock, updateCb func(*OperationState)) Operation

type OperationState

type OperationState struct {
	InstanceID        string
	FsID              string
	FsState           string
	MountTargetIDs    []string
	MountTargetStates []string
	MountPermsSet     bool
	MountTargetIps    []string
	MountTargetAZs    []string
	Err               *OperationStateErr
}

type OperationStateErr

type OperationStateErr struct {
	Message string `json:"message"`
}

func NewOperationStateErr

func NewOperationStateErr(format string, args ...interface{}) *OperationStateErr

func WrapOperationStateErr

func WrapOperationStateErr(err error) *OperationStateErr

func (*OperationStateErr) Error

func (e *OperationStateErr) Error() string

type ProvisionOperationStateMachine

type ProvisionOperationStateMachine struct {
	// contains filtered or unexported fields
}

func NewProvisionStateMachine

func NewProvisionStateMachine(logger lager.Logger, instanceID string, details brokerapi.ProvisionDetails, efsService EFSService, efsTools efsvoltools.VolTools, subnets []Subnet, clock Clock, updateCb func(*OperationState)) *ProvisionOperationStateMachine

func (*ProvisionOperationStateMachine) CheckFs

func (*ProvisionOperationStateMachine) CheckMountTargets

func (o *ProvisionOperationStateMachine) CheckMountTargets() error

func (*ProvisionOperationStateMachine) CreateFs

func (o *ProvisionOperationStateMachine) CreateFs() error

func (*ProvisionOperationStateMachine) CreateMountTargets

func (o *ProvisionOperationStateMachine) CreateMountTargets() error

func (*ProvisionOperationStateMachine) Execute

func (o *ProvisionOperationStateMachine) Execute()

func (*ProvisionOperationStateMachine) OpenPerms

func (o *ProvisionOperationStateMachine) OpenPerms() error

type Subnet

type Subnet struct {
	ID            string
	AZ            string
	SecurityGroup string
}

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL