Documentation
¶
Index ¶
- Constants
- type AuthMode
- type Environ
- func (e *Environ) AllInstances() ([]instance.Instance, error)
- func (e *Environ) AvailabilityZones() ([]common.AvailabilityZone, error)
- func (e *Environ) Bootstrap(ctx environs.BootstrapContext, args environs.BootstrapParams) (*environs.BootstrapResult, error)
- func (e *Environ) ClosePorts(ports []network.PortRange) error
- func (e *Environ) Config() *config.Config
- func (e *Environ) ConstraintsValidator() (constraints.Validator, error)
- func (e *Environ) ControllerInstances(controllerUUID string) ([]instance.Id, error)
- func (e *Environ) Create(environs.CreateParams) error
- func (e *Environ) Destroy() error
- func (e *Environ) DestroyController(controllerUUID string) error
- func (e *Environ) DistributeInstances(candidates, distributionGroup []instance.Id) ([]instance.Id, error)
- func (e *Environ) InstanceAvailabilityZoneNames(ids []instance.Id) ([]string, error)
- func (e *Environ) Instances(ids []instance.Id) ([]instance.Instance, error)
- func (*Environ) MaintainInstance(args environs.StartInstanceParams) error
- func (e *Environ) MetadataLookupParams(region string) (*simplestreams.MetadataLookupParams, error)
- func (e *Environ) OpenPorts(ports []network.PortRange) error
- func (e *Environ) Ports() ([]network.PortRange, error)
- func (e *Environ) PrecheckInstance(series string, cons constraints.Value, placement string) error
- func (e *Environ) PrepareForBootstrap(ctx environs.BootstrapContext) error
- func (e *Environ) Provider() environs.EnvironProvider
- func (e *Environ) Region() (simplestreams.CloudSpec, error)
- func (e *Environ) RunUpgradeStepsFor(ver version.Number) error
- func (e *Environ) SetConfig(cfg *config.Config) error
- func (e *Environ) StartInstance(args environs.StartInstanceParams) (*environs.StartInstanceResult, error)
- func (e *Environ) StopInstances(ids ...instance.Id) error
- func (env *Environ) StorageProvider(t storage.ProviderType) (storage.Provider, error)
- func (env *Environ) StorageProviderTypes() ([]storage.ProviderType, error)
- func (e *Environ) TagInstance(id instance.Id, tags map[string]string) error
- type EnvironProvider
- func (p EnvironProvider) ConfigDefaults() schema.Defaults
- func (p EnvironProvider) ConfigSchema() schema.Fields
- func (EnvironProvider) DetectRegions() ([]cloud.Region, error)
- func (p EnvironProvider) MetadataLookupParams(region string) (*simplestreams.MetadataLookupParams, error)
- func (p EnvironProvider) Open(args environs.OpenParams) (environs.Environ, error)
- func (p EnvironProvider) PrepareConfig(args environs.PrepareConfigParams) (*config.Config, error)
- func (EnvironProvider) Schema() environschema.Fields
- func (p EnvironProvider) Validate(cfg, old *config.Config) (valid *config.Config, err error)
- type Firewaller
- type FirewallerFactory
- type OpenstackCredentials
- func (OpenstackCredentials) CredentialSchemas() map[cloud.AuthType]cloud.CredentialSchema
- func (c OpenstackCredentials) DetectCredentials() (*cloud.CloudCredential, error)
- func (OpenstackCredentials) FinalizeCredential(_ environs.FinalizeCredentialContext, args environs.FinalizeCredentialParams) (*cloud.Credential, error)
- type OpenstackRenderer
- type OpenstackStorage
- type ProviderConfigurator
Constants ¶
const ( CredAttrTenantName = "tenant-name" CredAttrUserName = "username" CredAttrPassword = "password" CredAttrDomainName = "domain-name" CredAttrAccessKey = "access-key" CredAttrSecretKey = "secret-key" )
const (
CinderProviderType = storage.ProviderType("cinder")
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Environ ¶
type Environ struct {
// contains filtered or unexported fields
}
func (*Environ) AllInstances ¶
AllInstances returns all instances in this environment.
func (*Environ) AvailabilityZones ¶
func (e *Environ) AvailabilityZones() ([]common.AvailabilityZone, error)
AvailabilityZones returns a slice of availability zones.
func (*Environ) Bootstrap ¶
func (e *Environ) Bootstrap(ctx environs.BootstrapContext, args environs.BootstrapParams) (*environs.BootstrapResult, error)
func (*Environ) ConstraintsValidator ¶
func (e *Environ) ConstraintsValidator() (constraints.Validator, error)
ConstraintsValidator is defined on the Environs interface.
func (*Environ) ControllerInstances ¶
func (*Environ) Create ¶
func (e *Environ) Create(environs.CreateParams) error
Create is part of the Environ interface.
func (*Environ) DestroyController ¶
DestroyController implements the Environ interface.
func (*Environ) DistributeInstances ¶
func (e *Environ) DistributeInstances(candidates, distributionGroup []instance.Id) ([]instance.Id, error)
DistributeInstances implements the state.InstanceDistributor policy.
func (*Environ) InstanceAvailabilityZoneNames ¶
InstanceAvailabilityZoneNames returns the availability zone names for each of the specified instances.
func (*Environ) MaintainInstance ¶
func (*Environ) MaintainInstance(args environs.StartInstanceParams) error
MaintainInstance is specified in the InstanceBroker interface.
func (*Environ) MetadataLookupParams ¶
func (e *Environ) MetadataLookupParams(region string) (*simplestreams.MetadataLookupParams, error)
MetadataLookupParams returns parameters which are used to query simplestreams metadata.
func (*Environ) PrecheckInstance ¶
PrecheckInstance is defined on the state.Prechecker interface.
func (*Environ) PrepareForBootstrap ¶
func (e *Environ) PrepareForBootstrap(ctx environs.BootstrapContext) error
PrepareForBootstrap is part of the Environ interface.
func (*Environ) Provider ¶
func (e *Environ) Provider() environs.EnvironProvider
func (*Environ) Region ¶
func (e *Environ) Region() (simplestreams.CloudSpec, error)
Region is specified in the HasRegion interface.
func (*Environ) RunUpgradeStepsFor ¶
RunUpgradeStepsFor implements provider.Upgradable
func (*Environ) StartInstance ¶
func (e *Environ) StartInstance(args environs.StartInstanceParams) (*environs.StartInstanceResult, error)
StartInstance is specified in the InstanceBroker interface.
func (*Environ) StorageProvider ¶
StorageProvider implements storage.ProviderRegistry.
func (*Environ) StorageProviderTypes ¶
func (env *Environ) StorageProviderTypes() ([]storage.ProviderType, error)
StorageProviderTypes implements storage.ProviderRegistry.
type EnvironProvider ¶
type EnvironProvider struct {
environs.ProviderCredentials
Configurator ProviderConfigurator
FirewallerFactory FirewallerFactory
}
func (EnvironProvider) ConfigDefaults ¶
func (p EnvironProvider) ConfigDefaults() schema.Defaults
ConfigDefaults returns the default values for the provider specific config attributes.
func (EnvironProvider) ConfigSchema ¶
func (p EnvironProvider) ConfigSchema() schema.Fields
ConfigSchema returns extra config attributes specific to this provider only.
func (EnvironProvider) DetectRegions ¶
func (EnvironProvider) DetectRegions() ([]cloud.Region, error)
DetectRegions implements environs.CloudRegionDetector.
func (EnvironProvider) MetadataLookupParams ¶
func (p EnvironProvider) MetadataLookupParams(region string) (*simplestreams.MetadataLookupParams, error)
MetadataLookupParams returns parameters which are used to query image metadata to find matching image information.
func (EnvironProvider) Open ¶
func (p EnvironProvider) Open(args environs.OpenParams) (environs.Environ, error)
func (EnvironProvider) PrepareConfig ¶
func (p EnvironProvider) PrepareConfig(args environs.PrepareConfigParams) (*config.Config, error)
PrepareConfig is specified in the EnvironProvider interface.
func (EnvironProvider) Schema ¶
func (EnvironProvider) Schema() environschema.Fields
Schema returns the configuration schema for an environment.
type Firewaller ¶
type Firewaller interface {
// OpenPorts opens the given port ranges for the whole environment.
OpenPorts(ports []network.PortRange) error
// ClosePorts closes the given port ranges for the whole environment.
ClosePorts(ports []network.PortRange) error
// Ports returns the port ranges opened for the whole environment.
Ports() ([]network.PortRange, error)
// Implementations are expected to delete all security groups for the
// environment.
DeleteAllModelGroups() error
// Implementations are expected to delete all security groups for the
// controller, ie those for all hosted models.
DeleteAllControllerGroups(controllerUUID string) error
// Implementations should return list of security groups, that belong to given instances.
GetSecurityGroups(ids ...instance.Id) ([]string, error)
// Implementations should set up initial security groups, if any.
SetUpGroups(controllerUUID, machineId string, apiPort int) ([]nova.SecurityGroup, error)
// Set of initial networks, that should be added by default to all new instances.
InitialNetworks() []nova.ServerNetworks
// OpenInstancePorts opens the given port ranges for the specified instance.
OpenInstancePorts(inst instance.Instance, machineId string, ports []network.PortRange) error
// CloseInstancePorts closes the given port ranges for the specified instance.
CloseInstancePorts(inst instance.Instance, machineId string, ports []network.PortRange) error
// InstancePorts returns the port ranges opened for the specified instance.
InstancePorts(inst instance.Instance, machineId string) ([]network.PortRange, error)
}
Firewaller allows custom openstack provider behaviour. This is used in other providers that embed the openstack provider.
type FirewallerFactory ¶
type FirewallerFactory interface {
GetFirewaller(env environs.Environ) Firewaller
}
factory for obtaining firawaller object.
type OpenstackCredentials ¶
type OpenstackCredentials struct{}
func (OpenstackCredentials) CredentialSchemas ¶
func (OpenstackCredentials) CredentialSchemas() map[cloud.AuthType]cloud.CredentialSchema
CredentialSchemas is part of the environs.ProviderCredentials interface.
func (OpenstackCredentials) DetectCredentials ¶
func (c OpenstackCredentials) DetectCredentials() (*cloud.CloudCredential, error)
DetectCredentials is part of the environs.ProviderCredentials interface.
func (OpenstackCredentials) FinalizeCredential ¶
func (OpenstackCredentials) FinalizeCredential(_ environs.FinalizeCredentialContext, args environs.FinalizeCredentialParams) (*cloud.Credential, error)
FinalizeCredential is part of the environs.ProviderCredentials interface.
type OpenstackRenderer ¶
type OpenstackRenderer struct{}
func (OpenstackRenderer) Render ¶
func (OpenstackRenderer) Render(cfg cloudinit.CloudConfig, os jujuos.OSType) ([]byte, error)
type OpenstackStorage ¶
type OpenstackStorage interface {
GetVolume(volumeId string) (*cinder.Volume, error)
GetVolumesDetail() ([]cinder.Volume, error)
DeleteVolume(volumeId string) error
CreateVolume(cinder.CreateVolumeVolumeParams) (*cinder.Volume, error)
AttachVolume(serverId, volumeId, mountPoint string) (*nova.VolumeAttachment, error)
DetachVolume(serverId, attachmentId string) error
ListVolumeAttachments(serverId string) ([]nova.VolumeAttachment, error)
}
type ProviderConfigurator ¶
type ProviderConfigurator interface {
// GetConfigDefaults sets some configuration default values, if any
GetConfigDefaults() schema.Defaults
// This method allows to adjust defult RunServerOptions, before new server is actually created.
ModifyRunServerOptions(options *nova.RunServerOpts)
// This method provides default cloud config.
// This config can be different for different providers.
GetCloudConfig(args environs.StartInstanceParams) (cloudinit.CloudConfig, error)
}
This interface is added to allow to customize openstack provider behaviour. This is used in other providers, that embeds openstack provider.