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 NewCDNV1

NewCDNV1 creates a ServiceClient that may be used to access the OpenStack v1 CDN 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 NewOrchestrationV1

NewOrchestrationV1 creates a ServiceClient that may be used to access the v1 orchestration service.

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(catalog *tokens3.ServiceCatalog, opts gophercloud.EndpointOpts) (string, error)

V3EndpointURL discovers the endpoint URL for a specific service from a Catalog acquired during the v3 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.

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.
Package apiversions provides information and interaction with the different API versions for the OpenStack Block Storage service, code-named Cinder.
v1/snapshots
Package snapshots provides information and interaction with snapshots in the OpenStack Block Storage service.
Package snapshots provides information and interaction with snapshots in the OpenStack Block Storage service.
v1/volumes
Package volumes provides information and interaction with volumes in the OpenStack Block Storage service.
Package volumes provides information and interaction with volumes in the OpenStack Block Storage service.
v1/volumes/testing
This is package created is to hold fixtures (which imports testing), so that importing volumes package does not inadvertently import testing into production code More information here: https://github.com/rackspace/gophercloud/issues/473
This is package created is to hold fixtures (which imports testing), so that importing volumes package does not inadvertently import testing into production code More information here: https://github.com/rackspace/gophercloud/issues/473
v1/volumetypes
Package volumetypes provides information and interaction with volume types in the OpenStack Block Storage service.
Package volumetypes provides information and interaction with volume types in the OpenStack Block Storage service.
cdn
v1/base
Package base provides information and interaction with the base API resource in the OpenStack CDN service.
Package base provides information and interaction with the base API resource in the OpenStack CDN service.
v1/flavors
Package flavors provides information and interaction with the flavors API resource in the OpenStack CDN service.
Package flavors provides information and interaction with the flavors API resource in the OpenStack CDN service.
v1/serviceassets
Package serviceassets provides information and interaction with the serviceassets API resource in the OpenStack CDN service.
Package serviceassets provides information and interaction with the serviceassets API resource in the OpenStack CDN service.
v1/services
Package services provides information and interaction with the services API resource in the OpenStack CDN service.
Package services provides information and interaction with the services API resource in the OpenStack CDN service.
common
extensions
Package extensions provides information and interaction with the different extensions available for an OpenStack service.
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.
Package extensions provides information and interaction with the different extensions available for the OpenStack Compute service.
v2/extensions/diskconfig
Package diskconfig provides information and interaction with the Disk Config extension that works with the OpenStack Compute service.
Package diskconfig provides information and interaction with the Disk Config extension that works with the OpenStack Compute service.
v2/extensions/floatingip
Package floatingip provides the ability to manage floating ips through nova-network
Package floatingip provides the ability to manage floating ips through nova-network
v2/extensions/keypairs
Package keypairs provides information and interaction with the Keypairs extension for the OpenStack Compute service.
Package keypairs provides information and interaction with the Keypairs extension for the OpenStack Compute service.
v2/extensions/networks
Package network provides the ability to manage nova-networks
Package network provides the ability to manage nova-networks
v2/extensions/schedulerhints
Package schedulerhints enables instances to provide the OpenStack scheduler hints about where they should be placed in the cloud.
Package schedulerhints enables instances to provide the OpenStack scheduler hints about where they should be placed in the cloud.
v2/extensions/servergroups
Package servergroups provides the ability to manage server groups
Package servergroups provides the ability to manage server groups
v2/extensions/startstop
Package startstop provides functionality to start and stop servers that have been provisioned by the OpenStack Compute service.
Package startstop provides functionality to start and stop servers that have been provisioned by the OpenStack Compute service.
v2/extensions/tenantnetworks
Package tenantnetworks provides the ability for tenants to see information about the networks they have access to
Package tenantnetworks provides the ability for tenants to see information about the networks they have access to
v2/extensions/volumeattach
Package volumeattach provides the ability to attach and detach volumes to instances
Package volumeattach provides the ability to attach and detach volumes to instances
v2/extensions/volumeattach/testing
This is package created is to hold fixtures (which imports testing), so that importing volumeattach package does not inadvertently import testing into production code More information here: https://github.com/rackspace/gophercloud/issues/473
This is package created is to hold fixtures (which imports testing), so that importing volumeattach package does not inadvertently import testing into production code More information here: https://github.com/rackspace/gophercloud/issues/473
v2/flavors
Package flavors provides information and interaction with the flavor API resource in the OpenStack Compute service.
Package flavors provides information and interaction with the flavor API resource in the OpenStack Compute service.
v2/images
Package images provides information and interaction with the image API resource in the OpenStack Compute service.
Package images provides information and interaction with the image API resource in the OpenStack Compute service.
v2/servers
Package servers provides information and interaction with the server API resource in the OpenStack Compute service.
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.
Package extensions provides information and interaction with the different extensions available for the OpenStack Identity service.
v2/extensions/admin/roles
Package roles provides functionality to interact with and control roles on the API.
Package roles provides functionality to interact with and control roles on the API.
v2/tenants
Package tenants provides information and interaction with the tenants API resource for the OpenStack Identity service.
Package tenants provides information and interaction with the tenants API resource for the OpenStack Identity service.
v2/tokens
Package tokens provides information and interaction with the token API resource for the OpenStack Identity service.
Package tokens provides information and interaction with the token API resource for the OpenStack Identity service.
v3/endpoints
Package endpoints provides information and interaction with the service endpoints API resource in the OpenStack Identity service.
Package endpoints provides information and interaction with the service endpoints API resource in the OpenStack Identity service.
v3/roles
Package roles provides information and interaction with the roles API resource for the OpenStack Identity service.
Package roles provides information and interaction with the roles API resource for the OpenStack Identity service.
v3/services
Package services provides information and interaction with the services API resource for the OpenStack Identity service.
Package services provides information and interaction with the services API resource for the OpenStack Identity service.
v3/tokens
Package tokens provides information and interaction with the token API resource for the OpenStack Identity service.
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.
Package apiversions provides information and interaction with the different API versions for the OpenStack Neutron service.
v2/extensions/external
Package external provides information and interaction with the external extension for the OpenStack Networking service.
Package external provides information and interaction with the external extension for the OpenStack Networking service.
v2/extensions/fwaas
Package fwaas provides information and interaction with the Firewall as a Service extension for the OpenStack Networking service.
Package fwaas provides information and interaction with the Firewall as a Service extension for the OpenStack Networking service.
v2/extensions/layer3
Package layer3 provides access to the Layer-3 networking extension for the OpenStack Neutron service.
Package layer3 provides access to the Layer-3 networking extension for the OpenStack Neutron service.
v2/extensions/lbaas
Package lbaas provides information and interaction with the Load Balancer as a Service extension for the OpenStack Networking service.
Package lbaas provides information and interaction with the Load Balancer as a Service extension for the OpenStack Networking service.
v2/extensions/provider
Package provider gives access to the provider Neutron plugin, allowing network extended attributes.
Package provider gives access to the provider Neutron plugin, allowing network extended attributes.
v2/extensions/security
Package security contains functionality to work with security group and security group rules Neutron resources.
Package security contains functionality to work with security group and security group rules Neutron resources.
v2/networks
Package networks contains functionality for working with Neutron network resources.
Package networks contains functionality for working with Neutron network resources.
v2/ports
Package ports contains functionality for working with Neutron port resources.
Package ports contains functionality for working with Neutron port resources.
v2/subnets
Package subnets contains functionality for working with Neutron subnet resources.
Package subnets contains functionality for working with Neutron subnet resources.
objectstorage
v1/accounts
Package accounts contains functionality for working with Object Storage account resources.
Package accounts contains functionality for working with Object Storage account resources.
v1/containers
Package containers contains functionality for working with Object Storage container resources.
Package containers contains functionality for working with Object Storage container resources.
v1/objects
Package objects contains functionality for working with Object Storage object resources.
Package objects contains functionality for working with Object Storage object resources.
orchestration
v1/apiversions
Package apiversions provides information and interaction with the different API versions for the OpenStack Heat service.
Package apiversions provides information and interaction with the different API versions for the OpenStack Heat service.
v1/buildinfo
Package buildinfo provides build information about heat deployments.
Package buildinfo provides build information about heat deployments.
v1/stackevents
Package stackevents provides operations for finding, listing, and retrieving stack events.
Package stackevents provides operations for finding, listing, and retrieving stack events.
v1/stackresources
Package stackresources provides operations for working with stack resources.
Package stackresources provides operations for working with stack resources.
v1/stacks
Package stacks provides operation for working with Heat stacks.
Package stacks provides operation for working with Heat stacks.
v1/stacktemplates
Package stacktemplates provides operations for working with Heat templates.
Package stacktemplates provides operations for working with Heat templates.