rdsbroker

package
v0.0.0-...-0a9cbe1 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2015 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BindParameters

type BindParameters struct {
	DBName string `mapstructure:"dbname"`
}

type Catalog

type Catalog struct {
	Services []Service `json:"services,omitempty"`
}

func (Catalog) FindService

func (c Catalog) FindService(serviceID string) (service Service, found bool)

func (Catalog) FindServicePlan

func (c Catalog) FindServicePlan(planID string) (plan ServicePlan, found bool)

func (Catalog) Validate

func (c Catalog) Validate() error

type Config

type Config struct {
	Region                       string  `json:"region"`
	DBPrefix                     string  `json:"db_prefix"`
	AllowUserProvisionParameters bool    `json:"allow_user_provision_parameters"`
	AllowUserUpdateParameters    bool    `json:"allow_user_update_parameters"`
	AllowUserBindParameters      bool    `json:"allow_user_bind_parameters"`
	Catalog                      Catalog `json:"catalog"`
}

func (Config) Validate

func (c Config) Validate() error

type Cost

type Cost struct {
	Amount map[string]interface{} `json:"amount,omitempty"`
	Unit   string                 `json:"unit,omitempty"`
}

type DashboardClient

type DashboardClient struct {
	ID          string `json:"id,omitempty"`
	Secret      string `json:"secret,omitempty"`
	RedirectURI string `json:"redirect_uri,omitempty"`
}

type ProvisionParameters

type ProvisionParameters struct {
	BackupRetentionPeriod      int64  `mapstructure:"backup_retention_period"`
	CharacterSetName           string `mapstructure:"character_set_name"`
	DBName                     string `mapstructure:"dbname"`
	PreferredBackupWindow      string `mapstructure:"preferred_backup_window"`
	PreferredMaintenanceWindow string `mapstructure:"preferred_maintenance_window"`
}

type RDSBroker

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

func New

func New(
	config Config,
	dbInstance awsrds.DBInstance,
	dbCluster awsrds.DBCluster,
	sqlProvider sqlengine.Provider,
	logger lager.Logger,
) *RDSBroker

func (*RDSBroker) Bind

func (b *RDSBroker) Bind(instanceID, bindingID string, details brokerapi.BindDetails) (brokerapi.BindingResponse, error)

func (*RDSBroker) Deprovision

func (b *RDSBroker) Deprovision(instanceID string, details brokerapi.DeprovisionDetails, acceptsIncomplete bool) (bool, error)

func (*RDSBroker) LastOperation

func (b *RDSBroker) LastOperation(instanceID string) (brokerapi.LastOperationResponse, error)

func (*RDSBroker) Provision

func (b *RDSBroker) Provision(instanceID string, details brokerapi.ProvisionDetails, acceptsIncomplete bool) (brokerapi.ProvisioningResponse, bool, error)

func (*RDSBroker) Services

func (b *RDSBroker) Services() brokerapi.CatalogResponse

func (*RDSBroker) Unbind

func (b *RDSBroker) Unbind(instanceID, bindingID string, details brokerapi.UnbindDetails) error

func (*RDSBroker) Update

func (b *RDSBroker) Update(instanceID string, details brokerapi.UpdateDetails, acceptsIncomplete bool) (bool, error)

type RDSProperties

type RDSProperties struct {
	DBInstanceClass             string   `json:"db_instance_class"`
	Engine                      string   `json:"engine"`
	EngineVersion               string   `json:"engine_version"`
	AllocatedStorage            int64    `json:"allocated_storage"`
	AutoMinorVersionUpgrade     bool     `json:"auto_minor_version_upgrade,omitempty"`
	AvailabilityZone            string   `json:"availability_zone,omitempty"`
	BackupRetentionPeriod       int64    `json:"backup_retention_period,omitempty"`
	CharacterSetName            string   `json:"character_set_name,omitempty"`
	DBParameterGroupName        string   `json:"db_parameter_group_name,omitempty"`
	DBClusterParameterGroupName string   `json:"db_cluster_parameter_group_name,omitempty"`
	DBSecurityGroups            []string `json:"db_security_groups,omitempty"`
	DBSubnetGroupName           string   `json:"db_subnet_group_name,omitempty"`
	LicenseModel                string   `json:"license_model,omitempty"`
	MultiAZ                     bool     `json:"multi_az,omitempty"`
	OptionGroupName             string   `json:"option_group_name,omitempty"`
	Port                        int64    `json:"port,omitempty"`
	PreferredBackupWindow       string   `json:"preferred_backup_window,omitempty"`
	PreferredMaintenanceWindow  string   `json:"preferred_maintenance_window,omitempty"`
	PubliclyAccessible          bool     `json:"publicly_accessible,omitempty"`
	StorageEncrypted            bool     `json:"storage_encrypted,omitempty"`
	KmsKeyID                    string   `json:"kms_key_id,omitempty"`
	StorageType                 string   `json:"storage_type,omitempty"`
	Iops                        int64    `json:"iops,omitempty"`
	VpcSecurityGroupIds         []string `json:"vpc_security_group_ids,omitempty"`
	CopyTagsToSnapshot          bool     `json:"copy_tags_to_snapshot,omitempty"`
	SkipFinalSnapshot           bool     `json:"skip_final_snapshot,omitempty"`
}

func (RDSProperties) Validate

func (rp RDSProperties) Validate() error

type Service

type Service struct {
	ID              string           `json:"id"`
	Name            string           `json:"name"`
	Description     string           `json:"description"`
	Bindable        bool             `json:"bindable,omitempty"`
	Tags            []string         `json:"tags,omitempty"`
	Metadata        *ServiceMetadata `json:"metadata,omitempty"`
	Requires        []string         `json:"requires,omitempty"`
	PlanUpdateable  bool             `json:"plan_updateable"`
	Plans           []ServicePlan    `json:"plans,omitempty"`
	DashboardClient *DashboardClient `json:"dashboard_client,omitempty"`
}

func (Service) Validate

func (s Service) Validate() error

type ServiceMetadata

type ServiceMetadata struct {
	DisplayName         string `json:"displayName,omitempty"`
	ImageURL            string `json:"imageUrl,omitempty"`
	LongDescription     string `json:"longDescription,omitempty"`
	ProviderDisplayName string `json:"providerDisplayName,omitempty"`
	DocumentationURL    string `json:"documentationUrl,omitempty"`
	SupportURL          string `json:"supportUrl,omitempty"`
}

type ServicePlan

type ServicePlan struct {
	ID            string               `json:"id"`
	Name          string               `json:"name"`
	Description   string               `json:"description"`
	Metadata      *ServicePlanMetadata `json:"metadata,omitempty"`
	Free          bool                 `json:"free"`
	RDSProperties RDSProperties        `json:"rds_properties,omitempty"`
}

func (ServicePlan) Validate

func (sp ServicePlan) Validate() error

type ServicePlanMetadata

type ServicePlanMetadata struct {
	Bullets     []string `json:"bullets,omitempty"`
	Costs       []Cost   `json:"costs,omitempty"`
	DisplayName string   `json:"displayName,omitempty"`
}

type UpdateParameters

type UpdateParameters struct {
	ApplyImmediately           bool   `mapstructure:"apply_immediately"`
	BackupRetentionPeriod      int64  `mapstructure:"backup_retention_period"`
	PreferredBackupWindow      string `mapstructure:"preferred_backup_window"`
	PreferredMaintenanceWindow string `mapstructure:"preferred_maintenance_window"`
}

Jump to

Keyboard shortcuts

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