providers

package
v0.32.0 Latest Latest
Warning

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

Go to latest
Published: May 19, 2023 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CacheParameter added in v0.28.0

type CacheParameter struct {
	ParameterName  string `json:"parameter_name"`
	ParameterValue string `json:"parameter_value"`
}

type Credentials

type Credentials struct {
	Host       string `json:"host"`
	Port       int64  `json:"port"`
	Name       string `json:"name"`
	Password   string `json:"password"`
	URI        string `json:"uri"`
	TLSEnabled bool   `json:"tls_enabled"`
}

Credentials are the connection parameters for Redis clients

type DeprovisionParameters

type DeprovisionParameters struct {
	FinalSnapshotIdentifier string
}

type ElastiCache

type ElastiCache interface {
	CreateCacheParameterGroupWithContext(ctx aws.Context, input *elasticache.CreateCacheParameterGroupInput, opts ...request.Option) (*elasticache.CreateCacheParameterGroupOutput, error)
	CreateReplicationGroupWithContext(ctx aws.Context, input *elasticache.CreateReplicationGroupInput, opts ...request.Option) (*elasticache.CreateReplicationGroupOutput, error)
	DeleteCacheParameterGroupWithContext(ctx aws.Context, input *elasticache.DeleteCacheParameterGroupInput, opts ...request.Option) (*elasticache.DeleteCacheParameterGroupOutput, error)
	DeleteReplicationGroupWithContext(ctx aws.Context, input *elasticache.DeleteReplicationGroupInput, opts ...request.Option) (*elasticache.DeleteReplicationGroupOutput, error)
	DescribeReplicationGroupsWithContext(ctx aws.Context, input *elasticache.DescribeReplicationGroupsInput, opts ...request.Option) (*elasticache.DescribeReplicationGroupsOutput, error)
	DescribeCacheClustersWithContext(ctx aws.Context, input *elasticache.DescribeCacheClustersInput, opts ...request.Option) (*elasticache.DescribeCacheClustersOutput, error)
	DescribeCacheParametersWithContext(ctx aws.Context, input *elasticache.DescribeCacheParametersInput, opts ...request.Option) (*elasticache.DescribeCacheParametersOutput, error)
	ModifyReplicationGroupWithContext(ctx aws.Context, input *elasticache.ModifyReplicationGroupInput, opts ...request.Option) (*elasticache.ModifyReplicationGroupOutput, error)
	ModifyCacheParameterGroupWithContext(ctx aws.Context, input *elasticache.ModifyCacheParameterGroupInput, opts ...request.Option) (*elasticache.CacheParameterGroupNameMessage, error)
	DescribeSnapshotsPagesWithContext(ctx aws.Context, input *elasticache.DescribeSnapshotsInput, fn func(*elasticache.DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error
	ListTagsForResourceWithContext(ctx aws.Context, input *elasticache.ListTagsForResourceInput, opts ...request.Option) (*elasticache.TagListMessage, error)
	TestFailoverWithContext(ctx aws.Context, input *elasticache.TestFailoverInput, opts ...request.Option) (*elasticache.TestFailoverOutput, error)
	AddTagsToResourceWithContext(ctx aws.Context, input *elasticache.AddTagsToResourceInput, opts ...request.Option) (*elasticache.TagListMessage, error)
	RemoveTagsFromResourceWithContext(ctx aws.Context, input *elasticache.RemoveTagsFromResourceInput, opts ...request.Option) (*elasticache.TagListMessage, error)
}

ElastiCache is a partially extracted interface from the AWS Elasticache SDK

type InstanceDetails added in v0.28.0

type InstanceDetails struct {
	ServiceID    string             `json:"service_id"`
	PlanID       string             `json:"plan_id"`
	DashboardURL string             `json:"dashboard_url"`
	Parameters   InstanceParameters `json:"parameters"`
	domain.GetInstanceDetailsSpec
}

type InstanceParameters added in v0.27.0

type InstanceParameters struct {
	PreferredMaintenanceWindow string           `json:"preferred_maintenance_window"`
	DailyBackupWindow          string           `json:"daily_backup_window"`
	MaxMemoryPolicy            string           `json:"maxmemory_policy"`
	CacheParameters            []CacheParameter `json:"cache_parameters"`
	ActiveNodes                []string         `json:"active_nodes"`
	PassiveNodes               []string         `json:"passive_nodes"`
	AutoFailover               bool             `json:"auto_failover"`
}

type Provider

type Provider interface {
	Provision(ctx context.Context, instanceID string, params ProvisionParameters) error
	UpdateReplicationGroup(ctx context.Context, instanceID string, params UpdateReplicationGroupParameters) error
	UpdateParamGroupParameters(ctx context.Context, instanceID string, params UpdateParamGroupParameters) error
	Deprovision(ctx context.Context, instanceID string, params DeprovisionParameters) error
	ProgressState(ctx context.Context, instanceID string, operation string, primaryNode string) (ServiceState, string, error)
	GetInstanceParameters(ctx context.Context, instanceID string) (InstanceParameters, error)
	GetInstanceTags(ctx context.Context, instanceID string) (map[string]string, error)
	GenerateCredentials(ctx context.Context, instanceID, bindingID string) (*Credentials, error)
	RevokeCredentials(ctx context.Context, instanceID, bindingID string) error
	DeleteCacheParameterGroup(ctx context.Context, instanceID string) error
	FindSnapshots(ctx context.Context, instanceID string) ([]SnapshotInfo, error)
	StartFailoverTest(ctx context.Context, instanceID string) (string, error)
}

Provider is a general interface to implement the broker's functionality with a specific provider

type ProvisionParameters

type ProvisionParameters struct {
	InstanceType               string
	CacheParameterGroupFamily  string
	SecurityGroupIds           []string
	CacheSubnetGroupName       string
	PreferredMaintenanceWindow string
	ReplicasPerNodeGroup       int64
	ShardCount                 int64
	SnapshotRetentionLimit     int64
	RestoreFromSnapshot        *string
	AutomaticFailoverEnabled   bool
	MultiAZEnabled             bool
	Description                string
	Parameters                 map[string]string
	Tags                       map[string]string
	Engine                     string
	EngineVersion              string
}

type SecretsManager added in v0.11.0

type SecretsManager interface {
	CreateSecretWithContext(ctx aws.Context, input *secretsmanager.CreateSecretInput, opts ...request.Option) (*secretsmanager.CreateSecretOutput, error)
	GetSecretValueWithContext(ctx aws.Context, input *secretsmanager.GetSecretValueInput, opts ...request.Option) (*secretsmanager.GetSecretValueOutput, error)
	DeleteSecretWithContext(ctx aws.Context, input *secretsmanager.DeleteSecretInput, opts ...request.Option) (*secretsmanager.DeleteSecretOutput, error)
}

SecretsManager is a partially extracted interface from the AWS Elasticache SDK

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 SnapshotInfo

type SnapshotInfo struct {
	Name       string
	CreateTime time.Time
	Tags       map[string]string
}

type UpdateParamGroupParameters added in v0.28.0

type UpdateParamGroupParameters struct {
	Parameters map[string]string
}

type UpdateReplicationGroupParameters added in v0.28.0

type UpdateReplicationGroupParameters struct {
	PreferredMaintenanceWindow 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