Documentation ¶
Index ¶
- Constants
- func AcceptAllFlavors(nova.FlavorDetail) bool
- func IsAuthorisationFailure(err error) bool
- type AuthMode
- type Environ
- func (e *Environ) AdoptResources(ctx context.ProviderCallContext, controllerUUID string, ...) error
- func (e *Environ) AllInstances(ctx context.ProviderCallContext) ([]instances.Instance, error)
- func (e *Environ) AllocateContainerAddresses(ctx context.ProviderCallContext, hostInstanceID instance.Id, ...) ([]network.InterfaceInfo, error)
- func (*Environ) AreSpacesRoutable(ctx context.ProviderCallContext, space1, space2 *environs.ProviderSpaceInfo) (bool, error)
- func (e *Environ) AvailabilityZones(ctx context.ProviderCallContext) ([]common.AvailabilityZone, error)
- func (e *Environ) Bootstrap(ctx environs.BootstrapContext, callCtx context.ProviderCallContext, ...) (*environs.BootstrapResult, error)
- func (e *Environ) ClosePorts(ctx context.ProviderCallContext, rules []network.IngressRule) error
- func (e *Environ) Config() *config.Config
- func (e *Environ) ConstraintsValidator(ctx context.ProviderCallContext) (constraints.Validator, error)
- func (e *Environ) ControllerInstances(ctx context.ProviderCallContext, controllerUUID string) ([]instance.Id, error)
- func (e *Environ) Create(ctx context.ProviderCallContext, args environs.CreateParams) error
- func (e *Environ) DeriveAvailabilityZones(ctx context.ProviderCallContext, args environs.StartInstanceParams) ([]string, error)
- func (e *Environ) Destroy(ctx context.ProviderCallContext) error
- func (e *Environ) DestroyController(ctx context.ProviderCallContext, controllerUUID string) error
- func (e *Environ) DistributeInstances(ctx context.ProviderCallContext, candidates, distributionGroup []instance.Id, ...) ([]instance.Id, error)
- func (e *Environ) IngressRules(ctx context.ProviderCallContext) ([]network.IngressRule, error)
- func (e *Environ) InstanceAvailabilityZoneNames(ctx context.ProviderCallContext, ids []instance.Id) ([]string, error)
- func (e *Environ) InstanceTypes(ctx context.ProviderCallContext, c constraints.Value) (instances.InstanceTypesWithCostMetadata, error)
- func (e *Environ) Instances(ctx context.ProviderCallContext, ids []instance.Id) ([]instances.Instance, error)
- func (*Environ) MaintainInstance(ctx context.ProviderCallContext, args environs.StartInstanceParams) error
- func (e *Environ) MetadataLookupParams(region string) (*simplestreams.MetadataLookupParams, error)
- func (e *Environ) NetworkInterfaces(ctx context.ProviderCallContext, instId instance.Id) ([]network.InterfaceInfo, error)
- func (e *Environ) OpenPorts(ctx context.ProviderCallContext, rules []network.IngressRule) error
- func (e *Environ) PrecheckInstance(ctx context.ProviderCallContext, args environs.PrecheckInstanceParams) error
- func (e *Environ) PrepareForBootstrap(ctx environs.BootstrapContext) error
- func (e *Environ) Provider() environs.EnvironProvider
- func (*Environ) ProviderSpaceInfo(ctx context.ProviderCallContext, space *network.SpaceInfo) (*environs.ProviderSpaceInfo, error)
- func (e *Environ) Region() (simplestreams.CloudSpec, error)
- func (e *Environ) ReleaseContainerAddresses(ctx context.ProviderCallContext, interfaces []network.ProviderInterfaceInfo) error
- func (*Environ) SSHAddresses(ctx context.ProviderCallContext, addresses []network.Address) ([]network.Address, error)
- func (e *Environ) SetClock(clock clock.Clock)
- func (e *Environ) SetConfig(cfg *config.Config) error
- func (e *Environ) Spaces(ctx context.ProviderCallContext) ([]network.SpaceInfo, error)
- func (e *Environ) StartInstance(ctx context.ProviderCallContext, args environs.StartInstanceParams) (_ *environs.StartInstanceResult, err error)
- func (e *Environ) StopInstances(ctx context.ProviderCallContext, ids ...instance.Id) error
- func (env *Environ) StorageProvider(t storage.ProviderType) (storage.Provider, error)
- func (env *Environ) StorageProviderTypes() ([]storage.ProviderType, error)
- func (e *Environ) Subnets(ctx context.ProviderCallContext, instId instance.Id, subnetIds []network.Id) ([]network.SubnetInfo, error)
- func (e *Environ) SuperSubnets(ctx context.ProviderCallContext) ([]string, error)
- func (e *Environ) SupportsContainerAddresses(ctx context.ProviderCallContext) (bool, error)
- func (e *Environ) SupportsSpaceDiscovery(ctx context.ProviderCallContext) (bool, error)
- func (e *Environ) SupportsSpaces(ctx context.ProviderCallContext) (bool, error)
- func (e *Environ) TagInstance(ctx context.ProviderCallContext, id instance.Id, tags map[string]string) error
- type EnvironProvider
- func (p EnvironProvider) CloudSchema() *jsonschema.Schema
- 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) Ping(ctx context.ProviderCallContext, endpoint string) 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)
- func (EnvironProvider) Version() int
- type Firewaller
- type FirewallerFactory
- type FlavorFilter
- type FlavorFilterFunc
- type LegacyNovaNetworking
- func (n *LegacyNovaNetworking) AllocatePublicIP(instId instance.Id) (*string, error)
- func (*LegacyNovaNetworking) DefaultNetworks() ([]nova.ServerNetworks, error)
- func (n *LegacyNovaNetworking) NetworkInterfaces(instId instance.Id) ([]network.InterfaceInfo, error)
- func (n *LegacyNovaNetworking) ResolveNetwork(name string, external bool) (string, error)
- func (n *LegacyNovaNetworking) Subnets(instId instance.Id, subnetIds []network.Id) ([]network.SubnetInfo, error)
- type Networking
- type NetworkingDecorator
- type NeutronNetworking
- func (n *NeutronNetworking) AllocatePublicIP(instId instance.Id) (*string, error)
- func (n *NeutronNetworking) DefaultNetworks() ([]nova.ServerNetworks, error)
- func (n *NeutronNetworking) NetworkInterfaces(instId instance.Id) ([]network.InterfaceInfo, error)
- func (n *NeutronNetworking) ResolveNetwork(name string, external bool) (string, error)
- func (n *NeutronNetworking) Subnets(instId instance.Id, subnetIds []network.Id) ([]network.SubnetInfo, error)
- 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 ( ExternalNetworkKey = "external-network" NetworkKey = "network" PolicyTargetGroupKey = "policy-target-group" UseDefaultSecgroupKey = "use-default-secgroup" UseOpenstackGBPKey = "use-openstack-gbp" UseFloatingIPKey = "use-floating-ip" )
const ( CredAttrTenantName = "tenant-name" CredAttrTenantID = "tenant-id" CredAttrUserName = "username" CredAttrPassword = "password" CredAttrDomainName = "domain-name" CredAttrProjectDomainName = "project-domain-name" CredAttrUserDomainName = "user-domain-name" CredAttrAccessKey = "access-key" CredAttrSecretKey = "secret-key" CredAttrVersion = "version" )
const (
CinderProviderType = storage.ProviderType("cinder")
)
const (
GroupControllerPattern = `^(?P<prefix>juju-)(?P<controllerUUID>` + validUUID + `)(?P<suffix>-.*)$`
)
Variables ¶
This section is empty.
Functions ¶
func AcceptAllFlavors ¶
func AcceptAllFlavors(nova.FlavorDetail) bool
AcceptAllFlavors is a function that returns true for any input, and can be assigned to a value of type FlavorFilterFunc.
func IsAuthorisationFailure ¶
IsAuthorisationFailure determines if the given error has an authorisation failure.
Types ¶
type Environ ¶
type Environ struct {
// contains filtered or unexported fields
}
func (*Environ) AdoptResources ¶
func (e *Environ) AdoptResources(ctx context.ProviderCallContext, controllerUUID string, fromVersion version.Number) error
AdoptResources is part of the Environ interface.
func (*Environ) AllInstances ¶
AllInstances returns all instances in this environment.
func (*Environ) AllocateContainerAddresses ¶
func (e *Environ) AllocateContainerAddresses(ctx context.ProviderCallContext, hostInstanceID instance.Id, containerTag names.MachineTag, preparedInfo []network.InterfaceInfo) ([]network.InterfaceInfo, error)
AllocateContainerAddresses is specified on environs.Networking.
func (*Environ) AreSpacesRoutable ¶
func (*Environ) AreSpacesRoutable(ctx context.ProviderCallContext, space1, space2 *environs.ProviderSpaceInfo) (bool, error)
AreSpacesRoutable is specified on environs.NetworkingEnviron.
func (*Environ) AvailabilityZones ¶
func (e *Environ) AvailabilityZones(ctx context.ProviderCallContext) ([]common.AvailabilityZone, error)
AvailabilityZones returns a slice of availability zones.
func (*Environ) Bootstrap ¶
func (e *Environ) Bootstrap(ctx environs.BootstrapContext, callCtx context.ProviderCallContext, args environs.BootstrapParams) (*environs.BootstrapResult, error)
func (*Environ) ClosePorts ¶
func (e *Environ) ClosePorts(ctx context.ProviderCallContext, rules []network.IngressRule) error
func (*Environ) ConstraintsValidator ¶
func (e *Environ) ConstraintsValidator(ctx context.ProviderCallContext) (constraints.Validator, error)
ConstraintsValidator is defined on the Environs interface.
func (*Environ) ControllerInstances ¶
func (*Environ) Create ¶
func (e *Environ) Create(ctx context.ProviderCallContext, args environs.CreateParams) error
Create is part of the Environ interface.
func (*Environ) DeriveAvailabilityZones ¶
func (e *Environ) DeriveAvailabilityZones(ctx context.ProviderCallContext, args environs.StartInstanceParams) ([]string, error)
DeriveAvailabilityZones is part of the common.ZonedEnviron interface.
func (*Environ) DestroyController ¶
func (e *Environ) DestroyController(ctx context.ProviderCallContext, controllerUUID string) error
DestroyController implements the Environ interface.
func (*Environ) DistributeInstances ¶
func (e *Environ) DistributeInstances( ctx context.ProviderCallContext, candidates, distributionGroup []instance.Id, limitZones []string, ) ([]instance.Id, error)
DistributeInstances implements the state.InstanceDistributor policy.
func (*Environ) IngressRules ¶
func (e *Environ) IngressRules(ctx context.ProviderCallContext) ([]network.IngressRule, error)
func (*Environ) InstanceAvailabilityZoneNames ¶
func (e *Environ) InstanceAvailabilityZoneNames(ctx context.ProviderCallContext, ids []instance.Id) ([]string, error)
InstanceAvailabilityZoneNames returns the availability zone names for each of the specified instances.
func (*Environ) InstanceTypes ¶
func (e *Environ) InstanceTypes(ctx context.ProviderCallContext, c constraints.Value) (instances.InstanceTypesWithCostMetadata, error)
func (*Environ) MaintainInstance ¶
func (*Environ) MaintainInstance(ctx context.ProviderCallContext, 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) NetworkInterfaces ¶
func (e *Environ) NetworkInterfaces(ctx context.ProviderCallContext, instId instance.Id) ([]network.InterfaceInfo, error)
NetworkInterfaces is specified on environs.Networking.
func (*Environ) OpenPorts ¶
func (e *Environ) OpenPorts(ctx context.ProviderCallContext, rules []network.IngressRule) error
func (*Environ) PrecheckInstance ¶
func (e *Environ) PrecheckInstance(ctx context.ProviderCallContext, args environs.PrecheckInstanceParams) error
PrecheckInstance is defined on the environs.InstancePrechecker 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) ProviderSpaceInfo ¶
func (*Environ) ProviderSpaceInfo(ctx context.ProviderCallContext, space *network.SpaceInfo) (*environs.ProviderSpaceInfo, error)
ProviderSpaceInfo is specified on environs.NetworkingEnviron.
func (*Environ) Region ¶
func (e *Environ) Region() (simplestreams.CloudSpec, error)
Region is specified in the HasRegion interface.
func (*Environ) ReleaseContainerAddresses ¶
func (e *Environ) ReleaseContainerAddresses(ctx context.ProviderCallContext, interfaces []network.ProviderInterfaceInfo) error
ReleaseContainerAddresses is specified on environs.Networking.
func (*Environ) SSHAddresses ¶
func (*Environ) SSHAddresses(ctx context.ProviderCallContext, addresses []network.Address) ([]network.Address, error)
SSHAddresses is specified on environs.SSHAddresses.
func (*Environ) StartInstance ¶
func (e *Environ) StartInstance(ctx context.ProviderCallContext, args environs.StartInstanceParams) (_ *environs.StartInstanceResult, err error)
StartInstance is specified in the InstanceBroker interface.
func (*Environ) StopInstances ¶
func (*Environ) StorageProvider ¶
StorageProvider implements storage.ProviderRegistry.
func (*Environ) StorageProviderTypes ¶
func (env *Environ) StorageProviderTypes() ([]storage.ProviderType, error)
StorageProviderTypes implements storage.ProviderRegistry.
func (*Environ) Subnets ¶
func (e *Environ) Subnets(ctx context.ProviderCallContext, instId instance.Id, subnetIds []network.Id) ([]network.SubnetInfo, error)
Subnets is specified on environs.Networking.
func (*Environ) SuperSubnets ¶
func (e *Environ) SuperSubnets(ctx context.ProviderCallContext) ([]string, error)
SuperSubnets is specified on environs.Networking
func (*Environ) SupportsContainerAddresses ¶
func (e *Environ) SupportsContainerAddresses(ctx context.ProviderCallContext) (bool, error)
SupportsContainerAddresses is specified on environs.Networking.
func (*Environ) SupportsSpaceDiscovery ¶
func (e *Environ) SupportsSpaceDiscovery(ctx context.ProviderCallContext) (bool, error)
SupportsSpaceDiscovery is specified on environs.Networking.
func (*Environ) SupportsSpaces ¶
func (e *Environ) SupportsSpaces(ctx context.ProviderCallContext) (bool, error)
SupportsSpaces is specified on environs.Networking.
func (*Environ) TagInstance ¶
func (e *Environ) TagInstance(ctx context.ProviderCallContext, id instance.Id, tags map[string]string) error
TagInstance implements environs.InstanceTagger.
type EnvironProvider ¶
type EnvironProvider struct { environs.ProviderCredentials Configurator ProviderConfigurator FirewallerFactory FirewallerFactory FlavorFilter FlavorFilter // NetworkingDecorator, if non-nil, will be used to // decorate the default networking implementation. // This can be used to override behaviour. NetworkingDecorator NetworkingDecorator // ClientFromEndpoint returns an Openstack client for the given endpoint. ClientFromEndpoint func(endpoint string) client.AuthenticatingClient }
func (EnvironProvider) CloudSchema ¶
func (p EnvironProvider) CloudSchema() *jsonschema.Schema
CloudSchema returns the schema for adding new clouds of this type.
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) Ping ¶
func (p EnvironProvider) Ping(ctx context.ProviderCallContext, endpoint string) error
Ping tests the connection to the cloud, to verify the endpoint is valid.
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.
func (EnvironProvider) Version ¶
func (EnvironProvider) Version() int
Version is part of the EnvironProvider interface.
type Firewaller ¶
type Firewaller interface { // OpenPorts opens the given port ranges for the whole environment. OpenPorts(ctx context.ProviderCallContext, rules []network.IngressRule) error // ClosePorts closes the given port ranges for the whole environment. ClosePorts(ctx context.ProviderCallContext, rules []network.IngressRule) error // IngressRules returns the ingress rules applied to the whole environment. // It is expected that there be only one ingress rule result for a given // port range - the rule's SourceCIDRs will contain all applicable source // address rules for that port range. IngressRules(ctx context.ProviderCallContext) ([]network.IngressRule, error) // DeleteAllModelGroups deletes all security groups for the // model. DeleteAllModelGroups(ctx context.ProviderCallContext) error // DeleteAllControllerGroups deletes all security groups for the // controller, ie those for all hosted models. DeleteAllControllerGroups(ctx context.ProviderCallContext, controllerUUID string) error // DeleteGroups deletes the security groups with the specified names. DeleteGroups(ctx context.ProviderCallContext, names ...string) error // UpdateGroupController updates all of the security groups for // this model to refer to the specified controller, such that // DeleteAllControllerGroups will remove them only when called // with the specified controller ID. UpdateGroupController(ctx context.ProviderCallContext, controllerUUID string) error // GetSecurityGroups returns a list of the security groups that // belong to given instances. GetSecurityGroups(ctx context.ProviderCallContext, ids ...instance.Id) ([]string, error) // SetUpGroups sets up initial security groups, if any, and returns // their names. SetUpGroups(ctx context.ProviderCallContext, controllerUUID, machineId string, apiPort int) ([]string, error) // OpenInstancePorts opens the given port ranges for the specified instance. OpenInstancePorts(ctx context.ProviderCallContext, inst instances.Instance, machineId string, rules []network.IngressRule) error // CloseInstancePorts closes the given port ranges for the specified instance. CloseInstancePorts(ctx context.ProviderCallContext, inst instances.Instance, machineId string, rules []network.IngressRule) error // InstanceIngressRules returns the ingress rules applied to the specified instance. InstanceIngressRules(ctx context.ProviderCallContext, inst instances.Instance, machineId string) ([]network.IngressRule, 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 FlavorFilter ¶
type FlavorFilter interface { // AcceptFlavor returns true iff the given flavor is acceptable. AcceptFlavor(nova.FlavorDetail) bool }
FlavorFilter is an interface that can control which server flavors are acceptable.
type FlavorFilterFunc ¶
type FlavorFilterFunc func(nova.FlavorDetail) bool
FlavorFilterFunc is a function type that implements FlavorFilter.
func (FlavorFilterFunc) AcceptFlavor ¶
func (f FlavorFilterFunc) AcceptFlavor(d nova.FlavorDetail) bool
AcceptFlavor is part of the FlavorFilter interface.
type LegacyNovaNetworking ¶
type LegacyNovaNetworking struct {
// contains filtered or unexported fields
}
LegacyNovaNetworking is an implementation of Networking that uses the legacy Nova network APIs.
NOTE(axw) this is provided on a best-effort basis, primarily for CI testing of Juju until we are no longer dependent on an old OpenStack installation. This should not be relied on in production, and should be removed as soon as possible.
func (*LegacyNovaNetworking) AllocatePublicIP ¶
func (n *LegacyNovaNetworking) AllocatePublicIP(instId instance.Id) (*string, error)
AllocatePublicIP is part of the Networking interface.
func (*LegacyNovaNetworking) DefaultNetworks ¶
func (*LegacyNovaNetworking) DefaultNetworks() ([]nova.ServerNetworks, error)
DefaultNetworks is part of the Networking interface.
func (*LegacyNovaNetworking) NetworkInterfaces ¶
func (n *LegacyNovaNetworking) NetworkInterfaces(instId instance.Id) ([]network.InterfaceInfo, error)
NetworkInterfaces is part of the Networking interface.
func (*LegacyNovaNetworking) ResolveNetwork ¶
func (n *LegacyNovaNetworking) ResolveNetwork(name string, external bool) (string, error)
ResolveNetwork is part of the Networking interface.
func (*LegacyNovaNetworking) Subnets ¶
func (n *LegacyNovaNetworking) Subnets(instId instance.Id, subnetIds []network.Id) ([]network.SubnetInfo, error)
Subnets is part of the Networking interface.
type Networking ¶
type Networking interface { // AllocatePublicIP allocates a public (floating) IP // to the specified instance. AllocatePublicIP(instance.Id) (*string, error) // DefaultNetworks returns the set of networks that should be // added by default to all new instances. DefaultNetworks() ([]nova.ServerNetworks, error) // ResolveNetwork takes either a network ID or label // with a string to specify whether the network is external // and returns the corresponding network ID. ResolveNetwork(string, bool) (string, error) // Subnets returns basic information about subnets known // by OpenStack for the environment. // Needed for Environ.Networking Subnets(instance.Id, []network.Id) ([]network.SubnetInfo, error) // NetworkInterfaces requests information about the network // interfaces on the given instance. // Needed for Environ.Networking NetworkInterfaces(instId instance.Id) ([]network.InterfaceInfo, error) }
Networking is an interface providing networking-related operations for an OpenStack Environ.
type NetworkingDecorator ¶
type NetworkingDecorator interface { // DecorateNetworking can be used to return a new Networking // implementation that overrides the provided, default Networking // implementation. DecorateNetworking(Networking) (Networking, error) }
NetworkingDecorator is an interface that provides a means of overriding the default Networking implementation.
type NeutronNetworking ¶
type NeutronNetworking struct {
// contains filtered or unexported fields
}
NeutronNetworking is an implementation of Networking that uses the Neutron network APIs.
func (*NeutronNetworking) AllocatePublicIP ¶
func (n *NeutronNetworking) AllocatePublicIP(instId instance.Id) (*string, error)
AllocatePublicIP is part of the Networking interface.
func (*NeutronNetworking) DefaultNetworks ¶
func (n *NeutronNetworking) DefaultNetworks() ([]nova.ServerNetworks, error)
DefaultNetworks is part of the Networking interface.
func (*NeutronNetworking) NetworkInterfaces ¶
func (n *NeutronNetworking) NetworkInterfaces(instId instance.Id) ([]network.InterfaceInfo, error)
func (*NeutronNetworking) ResolveNetwork ¶
func (n *NeutronNetworking) ResolveNetwork(name string, external bool) (string, error)
ResolveNetwork is part of the Networking interface.
func (*NeutronNetworking) Subnets ¶
func (n *NeutronNetworking) Subnets(instId instance.Id, subnetIds []network.Id) ([]network.SubnetInfo, error)
Subnets returns basic information about the specified subnets known by the provider for the specified instance or list of ids. subnetIds can be empty, in which case all known are returned.
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) SetVolumeMetadata(volumeId string, metadata map[string]string) (map[string]string, 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.