Categorygithub.com/smashwilson/gophercloud
modulepackage
0.1.0
Repository: https://github.com/smashwilson/gophercloud.git
Documentation: pkg.go.dev

# README

== Gophercloud -- V0.1.0 image:https://secure.travis-ci.org/rackspace/gophercloud.png?branch=master["build status",link="https://travis-ci.org/rackspace/gophercloud"]

Gophercloud currently lets you authenticate with OpenStack providers to create and manage servers. We are working on extending the API to further include cloud files, block storage, DNS, databases, security groups, and other features.

WARNING: This library is still in the very early stages of development. Unless you want to contribute, it probably isn't what you want. Yet.

=== Outstanding Features

  1. Apache 2.0 License, making Gophercloud friendly to commercial and open-source enterprises alike.
  2. Gophercloud is one of the most actively maintained Go SDKs for OpenStack.
  3. Gophercloud supports Identity V2 and Nova V2 APIs. More coming soon!
  4. The up-coming Gophercloud 0.2.0 release supports API extensions, and makes writing support for new extensions easy.
  5. Gophercloud supports automatic reauthentication upon auth token timeout, if enabled by your software.
  6. Gophercloud is the only SDK implementation with actual acceptance-level integration tests.

=== What Does it Look Like?

The Gophercloud 0.1.0 and earlier APIs are now deprecated and obsolete. No new feature development will occur for 0.1.0 or 0.0.0. However, we will accept and provide bug fixes for these APIs. Please refer to the acceptance tests in the master brach for code examples using the v0.1.0 API. The most up to date documentation for version 0.1.x can be found at link:http://godoc.org/github.com/rackspace/gophercloud[our Godoc.org documentation].

We are working on a new API that provides much better support for extensions, pagination, and other features that proved difficult to implement before. This new API will be substantially more Go-idiomatic as well; one of the complaints received about 0.1.x and earlier is that it didn't "feel" right. To see what this new API is going to look like, you can look at the code examples up on the link:http://gophercloud.io/docs.html[Gophercloud website]. If you're interested in tracking progress, note that features for version 0.2.0 will appear in the v0.2.0 branch until merged to master.

=== How can I Contribute?

After using Gophercloud for a while, you might find that it lacks some useful feature, or that existing behavior seems buggy. We welcome contributions from our users for both missing functionality as well as for bug fixes. We encourage contributors to collaborate with the link:http://gophercloud.io/community.html[Gophercloud community.]

Finally, Gophercloud maintains its own link:http://gophercloud.io[announcements and updates blog.] Feel free to check back now and again to see what's new.

== License

Copyright (C) 2013, 2014 Rackspace, Inc.

Licensed under the Apache License, Version 2.0

# Packages

No description provided by the author
No description provided by the author

# Functions

ActualResponseCode inspects a returned error, and discovers the actual response actual response code that caused the error to be raised.
Authenticate() grants access to the OpenStack-compatible provider API.
Given a set of criteria to match on, locate the first candidate endpoint in the provided service catalog.
Populates an ApiCriteria struct with the api valuesfrom one of the api maps .
Instantiates a Cloud Servers object for the provider given.
TestContext yields a new Context instance, pre-initialized with a barren state suitable for per-unit-test customization.

# Constants

The choices available for UrlChoice.
The choices available for UrlChoice.

# Variables

ErrConfiguration errors happen when attempting to add a new provider, and the provider added lacks a correct or consistent configuration.
ErrCredentials errors happen when attempting to authenticate using a set of credentials not recognized by the Authenticate() method.
ErrEndpoint errors happen when no endpoint with the desired characteristics exists in the service catalog.
ErrError errors happen when you attempt to discover the response code responsible for a previous request bombing with an error, but pass in an error interface which doesn't belong to the web client.
ErrNotImplemented should be used only while developing new SDK features.
ErrProvider errors occur when attempting to reference an unsupported provider.
The default generic openstack api.
Api for use with rackspace.
WarnUnauthoritative warnings happen when a service believes its response to be correct, but is not in a position of knowing for sure at the moment.

# Structs

Access encapsulates the API token and its relevant fields, as well as the services catalog that Identity API returns once authenticated.
An AddressSet provides a set of public and private IP addresses for a resource.
ApiCriteria provides one or more criteria for the SDK to look for appropriate endpoints.
No description provided by the author
Auth provides a JSON encoding wrapper for passing credentials to the Identity service.
AuthContainer provides a JSON encoding wrapper for passing credentials to the Identity service.
AuthOptions lets anyone calling Authenticate() supply the required access credentials.
CatalogEntry encapsulates a service catalog record.
Context structures encapsulate Gophercloud-global state in a manner which facilitates easier unit testing.
No description provided by the author
EntryEndpoint encapsulates how to get to the API of some service.
FileConfig structures represent a blob of data which must appear at a a specific location in a server's filesystem.
Flavor records represent (virtual) hardware configurations for server resources in a region.
FlavorLink provides a reference to a flavor by either ID or by direct URL.
No description provided by the author
Image is used for JSON (un)marshalling.
ImageLink provides a reference to a image by either ID or by direct URL.
No description provided by the author
Link is used for JSON (un)marshalling.
NetworkConfig structures represent an affinity between a server and a specific, uniquely identified network.
No description provided by the author
NewServer structures are used for both requests and responses.
NewServerSettings structures record those fields of the Server structure to change when updating a server (see UpdateServer method).
PasswordCredentials provides a JSON encoding wrapper for passing credentials to the Identity service.
Provider structures exist for each tangible provider of OpenStack service.
RaxBandwidth provides measurement of server bandwidth consumed over a given audit interval.
ResizeRequest structures are used internally to encode to JSON the parameters required to resize a server instance.
Role encapsulates a permission that a user can rely on.
SecurityGroup provides a description of a security group, including all its rules.
Server records represent (virtual) hardware instances (not configurations) accessible by the user.
SGRule encapsulates a single rule which applies to a security group.
Tenant encapsulates tenant authentication information.
Token encapsulates an authentication token and when it expires.
User encapsulates the user credentials, and provides visibility in what the user can do through its role assignments.
A VersionedAddress denotes either an IPv4 or IPv6 (depending on version indicated) address.

# Interfaces

AccessProvider instances encapsulate a Keystone authentication interface.
CloudServersProvider instances encapsulate a Cloud Servers API, should one exist in the service catalog for your provider.
ServiceCatalogerIdentityV2 interface provides direct access to the service catalog as offered by the Identity V2 API.

# Type aliases

No description provided by the author
ReauthHandlerFunc functions are responsible for somehow performing the task of reauthentication.