Documentation ¶
Index ¶
- Variables
- func ProviderStatesMapping(state ServiceState) (brokerapi.LastOperationState, error)
- type BindParameters
- type Broker
- func (b *Broker) Bind(ctx context.Context, instanceID, bindingID string, ...) (brokerapi.Binding, error)
- func (b *Broker) Deprovision(ctx context.Context, instanceID string, details brokerapi.DeprovisionDetails, ...) (brokerapi.DeprovisionServiceSpec, error)
- func (b *Broker) LastOperation(ctx context.Context, instanceID, operationData string) (brokerapi.LastOperation, error)
- func (b *Broker) Provision(ctx context.Context, instanceID string, details brokerapi.ProvisionDetails, ...) (brokerapi.ProvisionedServiceSpec, error)
- func (b *Broker) Services(ctx context.Context) []brokerapi.Service
- func (b *Broker) Unbind(ctx context.Context, instanceID, bindingID string, ...) error
- func (b *Broker) Update(ctx context.Context, instanceID string, details brokerapi.UpdateDetails, ...) (brokerapi.UpdateServiceSpec, error)
- type Config
- type DeprovisionParameters
- type PlanConfig
- type Provider
- type ProvisionParameters
- type ServiceState
- type UpdateParameters
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrNoSuchPlan = errors.New("no plan found")
)
Functions ¶
func ProviderStatesMapping ¶
func ProviderStatesMapping(state ServiceState) (brokerapi.LastOperationState, error)
Types ¶
type BindParameters ¶
type BindParameters struct{}
type Broker ¶
type Broker struct {
// contains filtered or unexported fields
}
Broker is the open service broker API implementation for AWS Elasticache Redis
func (*Broker) Bind ¶
func (b *Broker) Bind(ctx context.Context, instanceID, bindingID string, details brokerapi.BindDetails) (brokerapi.Binding, error)
Bind binds an application and a service instance
func (*Broker) Deprovision ¶
func (b *Broker) Deprovision(ctx context.Context, instanceID string, details brokerapi.DeprovisionDetails, asyncAllowed bool) (brokerapi.DeprovisionServiceSpec, error)
Deprovision deletes a service instance
func (*Broker) LastOperation ¶
func (b *Broker) LastOperation(ctx context.Context, instanceID, operationData string) (brokerapi.LastOperation, error)
LastOperation returns with the last known state of the given service instance
func (*Broker) Provision ¶
func (b *Broker) Provision(ctx context.Context, instanceID string, details brokerapi.ProvisionDetails, asyncAllowed bool) (brokerapi.ProvisionedServiceSpec, error)
Provision creates a new ElastiCache replication group
type Config ¶
type Config struct { LogLevel string `json:"log_level"` Username string `json:"username"` Password string `json:"password"` Region string `json:"region"` ClusterNamePrefix string `json:"cluster_name_prefix"` BrokerName string `json:"broker_name"` AuthTokenSeed string `json:"auth_token_seed"` AllowUserProvisionParameters bool `json:"allow_user_provision_parameters"` AllowUserUpdateParameters bool `json:"allow_user_update_parameters"` AllowUserBindParameters bool `json:"allow_user_bind_parameters"` CacheSubnetGroupName string `json:"cache_subnet_group_name"` VpcSecurityGroupIds []string `json:"vpc_security_group_ids"` Catalog brokerapi.CatalogResponse `json:"catalog"` PlanConfigs map[string]PlanConfig `json:"plan_configs"` }
func LoadConfig ¶
func (Config) GetPlanConfig ¶
func (c Config) GetPlanConfig(planID string) (PlanConfig, error)
type DeprovisionParameters ¶
type DeprovisionParameters struct {
FinalSnapshotIdentifier string
}
type PlanConfig ¶
type PlanConfig struct { InstanceType string `json:"instance_type"` ReplicasPerNodeGroup int64 `json:"replicas_per_node_group"` ShardCount int64 `json:"shard_count"` SnapshotRetentionLimit int64 `json:"snapshot_retention_limit"` AutomaticFailoverEnabled bool `json:"automatic_failover_enabled"` Parameters map[string]string `json:"parameters"` }
type Provider ¶
type Provider interface { Provision(ctx context.Context, instanceID string, params ProvisionParameters) error Deprovision(ctx context.Context, instanceID string, params DeprovisionParameters) error GetState(ctx context.Context, instanceID string) (ServiceState, string, error) }
Provider is a general interface to implement the broker's functionality with a specific provider
type ProvisionParameters ¶
type ProvisionParameters struct { AuthToken string InstanceType string CacheParameterGroupName string SecurityGroupIds []string CacheSubnetGroupName string PreferredMaintenanceWindow string ReplicasPerNodeGroup int64 ShardCount int64 SnapshotRetentionLimit int64 Description string AutomaticFailoverEnabled bool Parameters map[string]string Tags map[string]string }
type ServiceState ¶
type ServiceState string
ServiceState is the state of a service instance
const ( Creating ServiceState = "creating" Available ServiceState = "available" Modifying ServiceState = "modifying" Deleting ServiceState = "deleting" CreateFailed ServiceState = "create-failed" Snapshotting ServiceState = "snapshotting" NonExisting ServiceState = "non-existing" )
Service states
type UpdateParameters ¶
type UpdateParameters struct{}
Click to show internal directories.
Click to hide internal directories.