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.