Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNoAuthURL  = fmt.Errorf("Environment variable OS_AUTH_URL needs to be set.")
	ErrNoUsername = fmt.Errorf("Environment variable OS_USERNAME needs to be set.")
	ErrNoPassword = fmt.Errorf("Environment variable OS_PASSWORD needs to be set.")
)

ErrNoAuthUrl, ErrNoUsername, and ErrNoPassword errors indicate of the required OS_AUTH_URL, OS_USERNAME, or OS_PASSWORD environment variables, respectively, remain undefined. See the AuthOptions() function for more details.

Functions

func AuthOptionsFromEnv

func AuthOptionsFromEnv() (gophercloud.AuthOptions, error)

AuthOptions fills out an identity.AuthOptions structure with the settings found on the various OpenStack OS_* environment variables. The following variables provide sources of truth: OS_AUTH_URL, OS_USERNAME, OS_PASSWORD, OS_TENANT_ID, and OS_TENANT_NAME. Of these, OS_USERNAME, OS_PASSWORD, and OS_AUTH_URL must have settings, or an error will result. OS_TENANT_ID and OS_TENANT_NAME are optional.

func Authenticate

func Authenticate(client *gophercloud.ProviderClient, options gophercloud.AuthOptions) error

Authenticate or re-authenticate against the most recent identity service supported at the provided endpoint.

func AuthenticateV2

func AuthenticateV2(client *gophercloud.ProviderClient, options gophercloud.AuthOptions) error

AuthenticateV2 explicitly authenticates against the identity v2 endpoint.

func AuthenticateV3

func AuthenticateV3(client *gophercloud.ProviderClient, options gophercloud.AuthOptions) error

AuthenticateV3 explicitly authenticates against the identity v3 service.

func AuthenticatedClient

func AuthenticatedClient(options gophercloud.AuthOptions) (*gophercloud.ProviderClient, error)

AuthenticatedClient logs in to an OpenStack cloud found at the identity endpoint specified by options, acquires a token, and returns a Client instance that's ready to operate. It first queries the root identity endpoint to determine which versions of the identity service are supported, then chooses the most recent identity service available to proceed.

func NewBlockStorageV1

NewBlockStorageV1 creates a ServiceClient that may be used to access the v1 block storage service.

func NewClient

func NewClient(endpoint string) (*gophercloud.ProviderClient, error)

NewClient prepares an unauthenticated ProviderClient instance. Most users will probably prefer using the AuthenticatedClient function instead. This is useful if you wish to explicitly control the version of the identity service that's used for authentication explicitly, for example.

func NewComputeV2

NewComputeV2 creates a ServiceClient that may be used with the v2 compute package.

func NewIdentityV2

func NewIdentityV2(client *gophercloud.ProviderClient) *gophercloud.ServiceClient

NewIdentityV2 creates a ServiceClient that may be used to interact with the v2 identity service.

func NewIdentityV3

func NewIdentityV3(client *gophercloud.ProviderClient) *gophercloud.ServiceClient

NewIdentityV3 creates a ServiceClient that may be used to access the v3 identity service.

func NewNetworkV2

NewNetworkV2 creates a ServiceClient that may be used with the v2 network package.

func NewObjectStorageV1

NewObjectStorageV1 creates a ServiceClient that may be used with the v1 object storage package.

func V2EndpointURL

func V2EndpointURL(catalog *tokens2.ServiceCatalog, opts gophercloud.EndpointOpts) (string, error)

V2EndpointURL discovers the endpoint URL for a specific service from a ServiceCatalog acquired during the v2 identity service. The specified EndpointOpts are used to identify a unique, unambiguous endpoint to return. It's an error both when multiple endpoints match the provided criteria and when none do. The minimum that can be specified is a Type, but you will also often need to specify a Name and/or a Region depending on what's available on your OpenStack deployment.

func V3EndpointURL

func V3EndpointURL(v3Client *gophercloud.ServiceClient, opts gophercloud.EndpointOpts) (string, error)

V3EndpointURL discovers the endpoint URL for a specific service using multiple calls against an identity v3 service endpoint. The specified EndpointOpts are used to identify a unique, unambiguous endpoint to return. It's an error both when multiple endpoints match the provided criteria and when none do. The minimum that can be specified is a Type, but you will also often need to specify a Name and/or a Region depending on what's available on your OpenStack deployment.

Types

This section is empty.

Directories

Path Synopsis
blockstorage/v1/apiversions Package apiversions provides information and interaction with the different API versions for the OpenStack Block Storage service, code-named Cinder.
blockstorage/v1/snapshots Package snapshots provides information and interaction with snapshots in the OpenStack Block Storage service.
blockstorage/v1/volumes Package volumes provides information and interaction with volumes in the OpenStack Block Storage service.
blockstorage/v1/volumetypes Package volumetypes provides information and interaction with volume types in the OpenStack Block Storage service.
common/extensions Package extensions provides information and interaction with the different extensions available for an OpenStack service.
compute/v2/extensions Package extensions provides information and interaction with the different extensions available for the OpenStack Compute service.
compute/v2/extensions/bootfromvolume
compute/v2/extensions/diskconfig Package diskconfig provides information and interaction with the Disk Config extension that works with the OpenStack Compute service.
compute/v2/extensions/keypairs Package keypairs provides information and interaction with the Keypairs extension for the OpenStack Compute service.
compute/v2/flavors Package flavors provides information and interaction with the flavor API resource in the OpenStack Compute service.
compute/v2/images Package images provides information and interaction with the image API resource in the OpenStack Compute service.
compute/v2/servers Package servers provides information and interaction with the server API resource in the OpenStack Compute service.
identity/v2/extensions Package extensions provides information and interaction with the different extensions available for the OpenStack Identity service.
identity/v2/tenants Package tenants provides information and interaction with the tenants API resource for the OpenStack Identity service.
identity/v2/tokens Package tokens provides information and interaction with the token API resource for the OpenStack Identity service.
identity/v3/endpoints Package endpoints provides information and interaction with the service endpoints API resource in the OpenStack Identity service.
identity/v3/services Package services provides information and interaction with the services API resource for the OpenStack Identity service.
identity/v3/tokens Package tokens provides information and interaction with the token API resource for the OpenStack Identity service.
networking/v2/apiversions Package apiversions provides information and interaction with the different API versions for the OpenStack Neutron service.
networking/v2/common
networking/v2/extensions
networking/v2/extensions/external Package external provides information and interaction with the external extension for the OpenStack Networking service.
networking/v2/extensions/layer3 Package layer3 provides access to the Layer-3 networking extension for the OpenStack Neutron service.
networking/v2/extensions/layer3/floatingips
networking/v2/extensions/layer3/routers
networking/v2/extensions/lbaas Package lbaas provides information and interaction with the Load Balancer as a Service extension for the OpenStack Networking service.
networking/v2/extensions/lbaas/members
networking/v2/extensions/lbaas/monitors
networking/v2/extensions/lbaas/pools
networking/v2/extensions/lbaas/vips
networking/v2/extensions/provider Package provider gives access to the provider Neutron plugin, allowing network extended attributes.
networking/v2/extensions/security Package security contains functionality to work with security group and security group rules Neutron resources.
networking/v2/extensions/security/groups
networking/v2/extensions/security/rules
networking/v2/networks Package networks contains functionality for working with Neutron network resources.
networking/v2/ports Package ports contains functionality for working with Neutron port resources.
networking/v2/subnets Package subnets contains functionality for working with Neutron subnet resources.
objectstorage/v1/accounts Package accounts contains functionality for working with Object Storage account resources.
objectstorage/v1/containers Package containers contains functionality for working with Object Storage container resources.
objectstorage/v1/objects Package objects contains functionality for working with Object Storage object resources.
utils