Documentation ¶
Index ¶
- func RegisterContainerService(vendor string, ctor ContainerServiceCtor)
- func RegisterDatabaseService(vendor string, ctor DatabaseServiceCtor)
- func RegisterKeyManagement(vendor string, ctor KeyManagementCtor)
- func RegisterStorage(vendor string, ctor StorageCtor)
- type ContainerService
- type ContainerServiceCtor
- type DataCenter
- type DatabaseService
- type DatabaseServiceCtor
- type Dns
- type KeyManagement
- type KeyManagementCtor
- type Storage
- type StorageCtor
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterContainerService ¶
func RegisterContainerService(vendor string, ctor ContainerServiceCtor)
RegisterContainerService is used by a provider implementation to make the provider package (i.e. pkg/aws or pkg/mock) available to the arc package. This function is called in the packages' init() function.
func RegisterDatabaseService ¶
func RegisterDatabaseService(vendor string, ctor DatabaseServiceCtor)
RegisterDatabaseService is used by a provider implementation to make the provider package (i.e. pkg/aws or pkg/mock) available to the arc package. This function is called in the packages' init() function.
func RegisterKeyManagement ¶
func RegisterKeyManagement(vendor string, ctor KeyManagementCtor)
RegisterKeyManagement is used by a provider implementation to make the provider package (i.e. pkg/aws or pkg/mock) available to the amp package. This function is called in the packages' init() function.
func RegisterStorage ¶
func RegisterStorage(vendor string, ctor StorageCtor)
RegisterStorage is used by a provider implementation to make the provider package (i.e. pkg/aws or pkg/mock) available to the amp package. This function is called in the packages' init() function.
Types ¶
type ContainerService ¶
type ContainerService interface {
NewContainerService(*config.ContainerService) (resource.ProviderContainerService, error)
}
ContainerService is an abstract factory. It provides the methods that will create the provider resources. Vendor implementations will provide the concrete implementations of these methods.
func NewContainerService ¶
func NewContainerService(cfg *config.ContainerService) (ContainerService, error)
NewContainerService is the provider agnostic constructor used by pkg/arc.
type ContainerServiceCtor ¶
type ContainerServiceCtor func(*config.ContainerService) (ContainerService, error)
ContainerServiceCtor is the function signature for the provider's container service constructor.
type DataCenter ¶
type DataCenter interface { NewNetwork(*config.Network) (resource.ProviderNetwork, error) NewSubnet(resource.Network, *config.Subnet) (resource.ProviderSubnet, error) NewSecurityGroup(resource.Network, *config.SecurityGroup) (resource.ProviderSecurityGroup, error) NewNetworkPost(resource.Network, *config.Network) (resource.ProviderNetworkPost, error) NewCompute(*config.Compute) (resource.ProviderCompute, error) NewKeyPair(*config.KeyPair) (resource.ProviderKeyPair, error) NewInstance(resource.Instance, *config.Instance) (resource.ProviderInstance, error) NewVolume(resource.Compute, *config.Volume) (resource.ProviderVolume, error) NewElasticIP(resource.ElasticIP, resource.Instance) (resource.ProviderElasticIP, error) NewRole(resource.Role, string, resource.Instance) (resource.ProviderRole, error) }
type DatabaseService ¶
type DatabaseService interface { NewDatabaseService(*config.DatabaseService) (resource.ProviderDatabaseService, error) NewDatabase(*config.Database, resource.DatabaseParams) (resource.ProviderDatabase, error) }
DatabaseService is an abstract factory. It provides the methods that will create the provider resources. Vendor implementations will provide the concrete implementations of these methods.
func NewDatabaseService ¶
func NewDatabaseService(cfg *config.DatabaseService) (DatabaseService, error)
NewDatabaseService is the provider agnostic constructor used by pkg/arc.
type DatabaseServiceCtor ¶
type DatabaseServiceCtor func(*config.DatabaseService) (DatabaseService, error)
DatabaseServiceCtor is the function signature for the provider's database service constructor.
type KeyManagement ¶
type KeyManagement interface { NewKeyManagement(cfg *config.KeyManagement) (resource.ProviderKeyManagement, error) NewEncryptionKey(k resource.EncryptionKey, cfg *config.EncryptionKey) (resource.ProviderEncryptionKey, error) }
KeyManagement is an abstract factory. It provides the methods that will create the provider resources. Vendor implementations will provide the concrete implementations of these methods.
func NewKeyManagement ¶
func NewKeyManagement(cfg *config.Amp) (KeyManagement, error)
NewKeyManagement is the provider agnostic constructor used by pkg/amp.
type KeyManagementCtor ¶
type KeyManagementCtor func(*config.Amp) (KeyManagement, error)
KeyManagementCtor is the function signature for the provider's key management constructor.
type Storage ¶
type Storage interface { NewStorage(cfg *config.Storage) (resource.ProviderStorage, error) NewBucket(b resource.Bucket, cfg *config.Bucket) (resource.ProviderBucket, error) }
Storage is an abstract factory. It provides the methods that will create the provider resources. Vendor implementations will provide the concrete implementations of these methods.