diff --git a/RELEASENOTES.md b/RELEASENOTES.md index fd74a3d1..f993cd3f 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,5 +1,40 @@ # Release Notes for pyrax +###2014.05.06 - Version 1.8.0 + - Identity + - Added **Context Objects** as a way to encapsulate an authenticated + session. + - Context objects remove the limitation in pyrax of only working with a + single authenticated session at a time. + - Improves the ability to work with multiple providers at once, or across + multiple regions for the same provider. + - More information in the **context_objects.md** document in the docs/ + folder. + + - Cloud Files + - Fixed missing URL quoting for bulk deletes. GitHub #350 + - Multiple improvements to sync_folder_to_container in GitHub #355: + - Added the ability to specify a prefix to be added to the object name + during checking and uploading during a sync + - Sped up sync_folder_to_container by having it pull down a list of + objects all at once to use to compare against instead of checking once + for each file. + - Added verbose logging to sync_folder_to_container (Originally requested + in GitHub #250) + + - General + - Fixed issue where one bad section in the configuration file caused threw + an exception that terminated your app. GitHub #346 + - Removed the need to specify a tenant_id when authenticating with a token. + GitHub #345 + + - Block Storage + - Added missing update methods to Cloud Block Storage. + + - Documentation + - Updated the queues docs to include listing of queues. GitHub #353 + + ###2014.04.07 - Version 1.7.3 - Identity - Updated the identity module and tests to work with the new http library. @@ -77,7 +112,8 @@ ###2014.02.03 - Version 1.6.3 - Cloud Monitoring: - Added back missing error info. GitHub #285 - - Added support for Overviews and Changelogs from Cloud Monitoring. GitHub #267 + - Added support for Overviews and Changelogs from Cloud Monitoring. GitHub + #267 - Autoscale: - Corrected how networks are created when none are specified. GitHub #262 - Added load balancers to sample code for creating a scaling group. @@ -87,12 +123,16 @@ - Cloud Files: - Add `use_servicenet` setting for Cloud Files. GitHub #273 - Fixed bug in passing TTL to `delete_in_seconds()`. GitHub #281 - - Added a fix for GETting 0-byte content with Dynamic Large Objects (multipart files). GitHub #258 - - Include container name in `X-Object-Manifest` header when creating DLO. GitHub #261 - - Use `X-Object-Manifest` instead of `X-Object-Meta-Manifest` when creating DLO. GitHub #260 + - Added a fix for GETting 0-byte content with Dynamic Large Objects + (multipart files). GitHub #258 + - Include container name in `X-Object-Manifest` header when creating DLO. + GitHub #261 + - Use `X-Object-Manifest` instead of `X-Object-Meta-Manifest` when creating + DLO. GitHub #260 - Cloud Load Balancers: - Added `httpsRedirect` param for Cloud Load Balancers. GitHub #277 - - Adding an entry for the `id` attribute to the Node's `to_dict()` method. GitHub #276 + - Adding an entry for the `id` attribute to the Node's `to_dict()` method. + GitHub #276 - Cloud DNS: - Handle empty bodies in GET responses from the Cloud DNS API. GitHub #280 - Cloud Servers: @@ -273,7 +313,8 @@ - Fixed a bug that prevented region from being properly set. Issue #86. ###2013.06.04 - Version 1.4.4 -- Fixed a bug when using environment variables to set the identity_type. Issue #82. +- Fixed a bug when using environment variables to set the identity_type. Issue + #82. ###2013.06.03 - Version 1.4.3 - Added support for having objects automatically deleted from Cloud Files after @@ -288,22 +329,23 @@ ###2013.05.29 - Version 1.4.0 - Added support for **all** OpenStack clouds. Previous versions only supported - Rackspace authentication methods. + Rackspace authentication methods. - Configuration files now support multiple cloud environments in the same file. - You can switch between environments by calling `pyrax.set_environment("env")`, - where `env` is the name of the desired environment. + You can switch between environments by calling + `pyrax.set_environment("env")`, where `env` is the name of the desired + environment. - Configuration settings can now be stored in environment variables. These all - begin with `CLOUD_`; a full list can be found in the [main pyrax - documentation](https://github.com/rackspace/pyrax/tree/master/docs/pyrax_doc.md). + begin with `CLOUD_`; a full list can be found in the [main pyrax + documentation](https://github.com/rackspace/pyrax/tree/master/docs/pyrax_doc.md). - Available regions are now available in the `pyrax.regions` attribute after - authentication. + authentication. - Services that are available for the current cloud provider are now available - in the `pyrax.services` attribute. + in the `pyrax.services` attribute. - Fixed an issue in Cloud Databases in which the `volume` attribute was - sometimes a dict and sometimes an instance of `CloudDatabaseVolume`. Now it - will always be an instance. + sometimes a dict and sometimes an instance of `CloudDatabaseVolume`. Now it + will always be an instance. - Added a smoke test script to the integrated tests. It currently covers the - compute, networking, database, and object_store services. + compute, networking, database, and object_store services. - Removed unnecessary hack for compute URIs. - Cleaned up some naming and formatting inconsistencies. @@ -412,7 +454,7 @@ container class. 'DRAINING' condition (GitHub #6). Modified the rax_identity to accept UTC dates returned from the LON datacenter (GitHub #5). Fixed an issue that prevented HTTP debugging from turning off in swiftclient. - + ###2013.01.15 - Version 1.2.4 - Added support for keychain storage of credentials for authentication. @@ -422,7 +464,8 @@ issue that prevented HTTP debugging from turning off in swiftclient. - Added the 'halfClosed' parameter to the create() method of load balancers. ###2013.01.03 - Version 1.2.2 -- Fixed an issue that was causing calls to cloudservers to needlessly re-authenticate. +- Fixed an issue that was causing calls to cloudservers to needlessly + re-authenticate. ###2012.12.27 - Version 1.2.1 - Removed old class docs that were no longer needed in this release. @@ -437,7 +480,7 @@ issue that prevented HTTP debugging from turning off in swiftclient. - Added a requirement for python-novaclient>=2.10.0. ###2012.12.18 - Version 1.1.6b -- Removed the code that controlled when pyrax connected to services. +- Removed the code that controlled when pyrax connected to services. - Changed the User-agent format to match the other SDKs. ###2012.12.17 - Version 1.1.5b @@ -447,23 +490,28 @@ issue that prevented HTTP debugging from turning off in swiftclient. ###2012.12.13 - Version 1.1.4b - Added the ability to connect to the internal URL for Cloud Files. - Added limit and marker to the base client/manager classes. -- Added the cloudfiles Container and StorageObject classes to the pyrax namespace. +- Added the cloudfiles Container and StorageObject classes to the pyrax + namespace. ###2012.12.10 - Version 1.1.2b - Added a test that was missing in the previous release. ###2012.12.07 - Version 1.1.1b -- Added the ability for developers to customize the User-agent string for their applications. +- Added the ability for developers to customize the User-agent string for their + applications. ###2012.11.26 - Version 1.1.1b - Added Cloud Block Storage support. -- Added the refactored code for Cloud Load Balancers that removes the dependency on the python-cloudlb library. +- Added the refactored code for Cloud Load Balancers that removes the + dependency on the python-cloudlb library. ###2012.11.24 - Version 1.0.4b - Maintenance fix release. ###2012.11.20 -- Improved the handling of CDN calls so they don't fail as often, and are more resilient when they do. +- Improved the handling of CDN calls so they don't fail as often, and are more + resilient when they do. ###2012.11.06 -- Release of the initial beta for pyrax. Supports Cloud Servers, Cloud Files, and Cloud Load Balancers. +- Release of the initial beta for pyrax. Supports Cloud Servers, Cloud Files, + and Cloud Load Balancers. diff --git a/docs/context_objects.md b/docs/context_objects.md new file mode 100644 index 00000000..2a9f4ce6 --- /dev/null +++ b/docs/context_objects.md @@ -0,0 +1,133 @@ +# Context Objects + +Context objects represent a single authenticated session. You can work with as many context objects as you like at the same time without worrying about logging in or out of each one to work with the other. Earlier versions of pyrax (before 1.8.0) only allowed you to work with one authenticated session at a time. + +This ability is useful if you ever need to work with multiple projects (accounts) at the same time, or with multiple users within the same project. + +## Creating a Context Object + +To create a context object, you call: + + ctx = pyrax.create_context({id_type}) + +where `id_type` is either "keystone" or "rackspace". If you've defined the identity type you wish to use in either your `~/.pyrax.cfg` file, or in environment variables, you can omit the id_type from the call: + + ctx = pyrax.create_context() + +If you have multiple **[environments](https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#configuration-environments)** defined, you may specify the environment to use when creating the context by specifying that name in the `env` parameter: + + ctx = pyrax.create_context(env="{my_special_environment}") + +If you don't specify an environment, the current environment is used. You may also populate the context object with login credential information, as well as the `verify_ssl` setting. The full call with all available parameters is: + + ctx = pyrax.create_context(id_type=None, env=None, username=None, + password=None, tenant_id=None, tenant_name=None, api_key=None, + verify_ssl=None) + +At this point you have an unauthenticated context. You must authenticate before you can do anything useful with a context object. To authenticate you need to provide your credentials if you haven't already when you created the object. You can either set them individually: + + ctx.username = {your_user_name} + ctx.password = {your_password} + +...or you can set them together: + + ctx.set_credentials({your_user_name}, {your_password}) + +...or if you have them stored in a file (see the information on **[credential files](https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating)** for how to set one up), you can call: + + ctx.set_credential_file({path/to/your/file}) + +After you have set your credentials, you call: + + ctx.authenticate() + +This submits your credentials, and assuming that they are valid, get back a Service Catalog that contains all of the services and regions that the authenticated user is authorized to use. + +If you have your password stored in your system's keychain, you can set your credentials and authenticate with a single call: + + ctx.keyring_auth({username}) + + +## Working With Context Objects + +Once you have an authenticated context object, you can work with the various services (e.g., object storage, compute, databases) for each region that your provider offers. Examples of regions for Rackspace are **"DFW"**, **"LON"**, **"SYD"**, while HP offers regions such as **"region-a.geo-1"** and **"region-b.geo-1"**. + +Many OpenStack installations only have a single region. In those cases it might seem a little annoying to have to include that. + +### Service Names + +The various services are known by several types of names: descriptive names, project code names, and vendor product names. For example, the **compute** service is known within OpenStack as project **nova**, at Rackspace as the **Cloud Servers** product, and at HP as the **Cloud Compute** product. The descriptive name is the one that is used in these docs, but it is common for developers to use the other variations. The older versions of pyrax (before 1.8.0) primarily used the Rackspace-branded name for the service. + +Pyrax accepts any of these different names as aliases for the services. Here is a partial list of these aliases for many of the current services: + +Code Name | Service Name +---- | ---- +nova | compute +cloudservers | compute +swift | object_store +cloudfiles | object_store +cloud_loadbalancers | load_balancer +trove | database +cloud_databases | database +cinder | volume +cloud_blockstorage | volume +designate | dns +cloud_dns | dns +neutron | network +cloud_networks | network +glance | image +images | image +marconi | queues +queues | queues +cloud_monitoring | monitor +autoscale | autoscale + +### Getting a Client + +The simplest way to get a client is to call: + + client = ctx.get_client({service}, {region}) + +For example, if you want a client to interact with your servers in the ORD region of Rackspace, you call: + + srvr_ord = ctx.get_client("compute", "ORD") + servers = srvr_ord.list() + +The following two statements behave identically, as pyrax maps the code names to the actual service names: + + srvr_ord = ctx.get_client("nova", "ORD") + srvr_ord = ctx.get_client("cloudservers", "ORD") + +Once you have the client, you use it as you would use clients in prior versions of pyrax. As an example, once you have `srvr_ord` defined above, to get a list of your servers in that region, you call: + + servers = srvr_ord.list() + +#### Private (Internal) Clients + +Some services offer internal URLs; these are typically used for communication between resources within the same datacenter. If you are working within a datacenter, these are typically more efficient and reduce or eliminate bandwidth charges with many commercial providers. A typical use case is storing objects in swift from a compute resource in the same datacenter. + +To get a client that works with the internal URL, add the parameter `public=False` to the `get_client()` call: + + storage_ord = ctx.get_client("object_store", "ORD", public=False) + +If there is no internal URL defined for the service, a **`NoEndpointForService`** exception is raised. + +## Shortcuts + +Context objects provide convenient ways to access the clients in order to make working with pyrax simpler. You can use standard dot notation to define your clients: + + srvr_ord = ctx.compute.ORD.client + # - or - + srvr_ord = ctx.ORD.compute.client + +The ordering of service.region and region.service isn't important; either one resolves to the client for that service/region combination. + +Another use of this notation is to get an object with all the services in a given region: + + syd_svcs = ctx.SYD + server_clt = syd_svcs.compute.client + db_clt = syd_svcs.database.client + +Note that the context object _must_ be authenticated before you attempt to access it using dot notation as described here. If the context has not been authenticated, a **`NotAuthenticated`** exception is raised. Also, regions containing periods in their name will not work as shortcuts, since those periods are interpreted by Python as object dot notation. If you're working with a region such as "**region-a.geo-1**", which is one of HP Cloud's regions, you will have to use standard dict syntax to access it: + + compute_client = ctx.compute["region-a.geo-1"].client diff --git a/docs/getting_started.md b/docs/getting_started.md index b4d607ba..06083a0e 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -38,6 +38,9 @@ Please note that **all versions of pyrax beginning with 1.4.0 require that you d 1. **Environment Variable** - If you don't have a configuration file, pyrax checks for the environment variable `CLOUD_ID_TYPE`. Set this by executing `export CLOUD_ID_TYPE=keystone` in a bash shell, or by setting it in the System section of the Control Panel in Windows. 1. **Set in Code** - if you can't do either of the above, change the import statement to add `pyrax.set_setting("identity_type", "keystone")` immediately after the `import pyrax` statement. +Note that if you are using the Rackspace Cloud, you would replace "keystone" in the above examples with "rackspace". + + ## Authenticating You can authenticate in any one of three ways: @@ -122,7 +125,7 @@ Please note that if you used `auth_with_token()` to authenticate originally, pyr ## Pyrax Configuration You can control how pyrax behaves through the configuration file. It should be named `~/.pyrax.cfg`. Like the credential file, `~/.pyrax.cfg` is a standard configuration file. Alternatively, you may set these values using environment variables in the OS. Note that the configuration file values take precendence over any environment variables. Environment variables also do not support multiple configurations. -Do **not** include login credentials, such as passwords, in the configuration file. As this is a defined file in a known location, it is a security risk to have your login information stored in clear text. You may use a [credential file](#authenticating) if you wish to store your credentials on disk; this can be named whatever you wish, and placed anywhere on disk, since you pass the full path to the file when authenticating this way. Please note that credentials stored in the configuration file will be ignored, and a warning will be issued if they are found. +**Do not include login credentials**, such as passwords, in the configuration file. As this is a defined file in a known location, it is a security risk to have your login information stored in clear text. You may use a [credential file](#authenticating) if you wish to store your credentials on disk; this can be named whatever you wish, and placed anywhere on disk, since you pass the full path to the file when authenticating this way. Please note that credentials stored in the configuration file will be ignored, and a warning will be issued if they are found. **NOTE**: At the very least, you *must* set the `identity_type` setting so that can use the correct identity class. Prior versions only worked with Rackspace identity, but that is no longer the case. If you don't want to use a configuration file or an environment variable, you can do this in code: @@ -160,6 +163,7 @@ Setting | Affects | Default | Notes | Env. Variable **custom_user_agent** | Customizes the User-agent string sent to the server. | -none- | | CLOUD_USER_AGENT **debug** | When True, causes all HTTP requests and responses to be output to the console to aid in debugging. | False | Previous versions called this setting 'http_debug'. | CLOUD_DEBUG **verify_ssl** | Set this to False to bypass SSL certificate verification. | True | | CLOUD_VERIFY_SSL +**use_servicenet** | By default your connection to Cloud Files uses the public internet. If you're connecting from a cloud server in the same region, though, you have the option of using the internal **Service Net** network connection, which is not only faster, but does not incur bandwidth charges for transfers within the datacenter. | False | | USE_SERVICENET Here is a sample: @@ -206,17 +210,32 @@ As of this writing, Rackspace has three cloud regions in the US: "DFW" (Dallas-F cs_dfw = pyrax.connect_to_cloudservers(region="DFW") cs_ord = pyrax.connect_to_cloudservers(region="ORD") cs_iad = pyrax.connect_to_cloudservers(region="IAD") - dfw_servers = cs_dfw.servers.list() - ord_servers = cs_ord.servers.list() - iad_servers = cs_iad.servers.list() + dfw_servers = cs_dfw.list() + ord_servers = cs_ord.list() + iad_servers = cs_iad.list() all_servers = dfw_servers + ord_servers + iad_servers The important point to keep in mind when dealing with multiple regions is that all of pyrax's `connect_to_*` methods take a region parameter, and return a region-specific object. If you do not explicitly include a region, the default region you defined in your config file is used. If you did not define a default region, pyrax defaults to the "DFW" region. +**Update as of Version 1.8.0**: Pyrax's new [*context objects*](https://github.com/rackspace/pyrax/blob/master/docs/context_objects.md) make it even easier to work with multiple regions. See that document for more in-depth information, but here is the code listed above re-written to use context objects to handle multiple regions: + + import pyrax + ctx = pyrax.create_context() + ctx.keyring_auth() + cs_dfw = ctx.DFW.compute.client + cs_ord = ctx.ORD.compute.client + cs_iad = ctx.IAD.compute.client + dfw_servers = cs_dfw.list() + ord_servers = cs_ord.list() + iad_servers = cs_iad.list() + all_servers = dfw_servers + ord_servers + iad_servers + ## The `Identity` Class pyrax has an `Identity` class that is used to handle authentication and cache credentials. You can access it in your code using the reference `pyrax.identity`. Once authenticated, it stores your credentials and authentication token information. In most cases you do not need to interact with this object directly; pyrax uses it to handle authentication tasks for you. But it is available in case you need more fine-grained control of the authentication process, such as querying endpoints in different regions, or getting a list of user roles. +As of Version 1.8.0 of pyrax, the concept of [**context objects**](https://github.com/rackspace/pyrax/docs/context_objects.md) that encapsulate all of the identity and clients for a given login can be used. + You can check its `authenticated` attribute to determine if authentication was successful; if so, its `token` and `expires` attributes contain the returned authentication information, and its `services` attribute contains a dict with all the service endpoint information. Here is an example of the contents of `services` after authentication (with identifying information obscured): {u'access': diff --git a/docs/html/____init_____8py.html b/docs/html/____init_____8py.html index b041f278..ddcab268 100644 --- a/docs/html/____init_____8py.html +++ b/docs/html/____init_____8py.html @@ -109,6 +109,8 @@  Changes the value of the specified key in the current environment, or in another environment if specified.
def set_default_region  Changes the default_region setting.
+def create_context + Returns an instance of the specified identity class, or if none is specified, an instance of the current setting for 'identity_class'.
def auth_with_token  If you already have a valid token and either a tenant ID or name, you can call this to configure the identity and available services.
def set_credentials @@ -147,6 +149,8 @@  Creates a client for working with Images.
def connect_to_queues  Creates a client for working with Queues.
+def client_class_for_service + Returns the client class registered for the given service, or None if there is no such service, or if no class has been registered.
def get_http_debug def set_http_debug def get_encoding @@ -199,7 +203,7 @@ diff --git a/docs/html/annotated.html b/docs/html/annotated.html index 107aa2e1..3f5851fe 100644 --- a/docs/html/annotated.html +++ b/docs/html/annotated.html @@ -93,8 +93,8 @@ AutoScalePolicy AutoScaleWebhook BadRequestHTTP 400 - Bad request: you sent some malformed data - BaseAuthThis class handles all of the basic authentication requirements for working with an OpenStack Cloud system BaseClientThe base class for all pyrax clients + BaseIdentityThis class handles all of the basic authentication requirements for working with an OpenStack Cloud system BaseManagerManagers interact with a particular type of API (servers, databases, dns, etc.) and provide CRUD operations for them BaseQueueManagerThis class attempts to add in all the common deviations from the API standards that the regular base classes are based on BaseResourceA resource represents a particular instance of an object (server, flavor, etc) @@ -157,8 +157,10 @@ DomainRecordUpdateFailed DomainResultsIteratorResultsIterator subclass for iterating over all domains DomainUpdateFailed + DotDictDictionary subclass that allows accessing keys via dot notation DuplicateQueue DuplicateUser + EndpointHolds the endpoint information, as well as an instance of the appropriate client for that service and region EndpointNotDefined EndpointNotFound EnvironmentNotFound @@ -190,12 +192,13 @@ FakeDNSManager FakeDNSPTRRecord FakeDNSRecord + FakeEndpoint FakeEntity - FakeEntryPoint FakeException FakeFolderUploader FakeIdentityClass that returns canned authentication responses FakeIdentityResponse + FakeIdentityService FakeImage FakeImageClient FakeImageManager @@ -212,13 +215,12 @@ FakeQueueClaim FakeQueueClient FakeQueueManager - FakeQueueMessage + FakeRaxIdentity FakeResponse FakeScalingGroup FakeScalingGroupManager FakeServer FakeService - FakeServiceCatalog FakeStatusChanger FakeStorageObject FakeVirtualIP @@ -289,10 +291,14 @@ NetworkInUse NetworkLabelNotUnique NetworkNotFound + NoClientForService NodeRepresents a Node for a Load Balancer + NoEndpointForRegion + NoEndpointForService NoMoreResults NoReloadError NoSSLTerminationConfiguration + NoSuchClient NoSuchContainer NoSuchDatabase NoSuchDatabaseUser @@ -320,10 +326,12 @@ RaxIdentityThis class handles all of the authentication requirements for working with the Rackspace Cloud RecordResultsIteratorResultsIterator subclass for iterating over all domain records ResultsIteratorThis object will iterate over all the results for a given type of listing, no matter how many items exist + Role ScalingGroup ScalingGroupManager SelfDeletingTempDirectoryConvenience class for dealing with temporary folders and the files within them SelfDeletingTempfileConvenience class for dealing with temporary files + ServiceRepresents an available service from the service catalog ServiceCatalogHelper methods for dealing with a Keystone Service Catalog ServiceNotAvailable ServiceResponseFailure @@ -365,7 +373,7 @@ diff --git a/docs/html/base__identity_8py.html b/docs/html/base__identity_8py.html index 75bce60a..40ed3dbd 100644 --- a/docs/html/base__identity_8py.html +++ b/docs/html/base__identity_8py.html @@ -88,18 +88,25 @@ Classes class  Tenant class  User -class  BaseAuth - This class handles all of the basic authentication requirements for working with an OpenStack Cloud system. More...
+class  Role +class  Service + Represents an available service from the service catalog. More...
+class  Endpoint + Holds the endpoint information, as well as an instance of the appropriate client for that service and region. More...
+class  BaseIdentity + This class handles all of the basic authentication requirements for working with an OpenStack Cloud system. More...

Packages

namespace  pyrax::base_identity

Variables

keyring = None string _pat = r"" string _utc_pat = r"" tuple API_DATE_PATTERN = re.compile(_pat, re.VERBOSE) tuple UTC_API_DATE_PATTERN = re.compile(_utc_pat, re.VERBOSE) string DATE_FORMAT = "%Y-%m-%d %H:%M:%S" + default_region = None @@ -119,7 +126,7 @@ diff --git a/docs/html/classes.html b/docs/html/classes.html index c7efa75e..c72415d0 100644 --- a/docs/html/classes.html +++ b/docs/html/classes.html @@ -85,88 +85,91 @@
A | B | C | D | E | F | H | I | J | K | M | N | O | P | Q | R | S | T | U | V | _
+ + + + + - - - - - - - - - + + + + - - - - - - - - + + + + + + + + - - - - - + + - - + + + + + - - - - - - - - - + + + + + + + + - - - - + + + - - - - - - - - - - + + + + + + + + + - - - - - - - + + + + + + - - - - + + + + + + + +
  A  
-
CloudMonitorOverviewManager (pyrax.cloudmonitoring)   FakeIdentity (pyrax.fakes)   InvalidMonitoringCheckUpdate (pyrax.exceptions)   
  P  
+
CloudNetwork (pyrax.cloudnetworks)   FakeIdentityService (pyrax.fakes)   InvalidNodeParameters (pyrax.exceptions)   ProtocolMismatch (pyrax.exceptions)   
CloudNetworkClient (pyrax.cloudnetworks)   FakeImage (pyrax.fakes)   InvalidPTRRecord (pyrax.exceptions)   PTRRecordCreationFailed (pyrax.exceptions)   
AccessListIDNotFound (pyrax.exceptions)   CloudNetworkManager (pyrax.cloudnetworks)   FakeImageClient (pyrax.fakes)   InvalidQueueName (pyrax.exceptions)   PTRRecordDeletionFailed (pyrax.exceptions)   
AmbiguousEndpoints (pyrax.exceptions)   Connection (pyrax.cf_wrapper.client)   FakeImageManager (pyrax.fakes)   InvalidSessionPersistenceType (pyrax.exceptions)   PTRRecordUpdateFailed (pyrax.exceptions)   
AuthenticationFailed (pyrax.exceptions)   Container (pyrax.cf_wrapper.container)   FakeImageMemberManager (pyrax.fakes)   InvalidSetting (pyrax.exceptions)   PyraxException (pyrax.exceptions)   
AuthorizationFailure (pyrax.exceptions)   
  D  
+
FakeImageTagManager (pyrax.fakes)   InvalidSize (pyrax.exceptions)   
  Q  
CloudMonitorZone (pyrax.cloudmonitoring)   FakeIdentityResponse (pyrax.fakes)   InvalidMonitoringMetricsRequest (pyrax.exceptions)   
AccessListIDNotFound (pyrax.exceptions)   CloudNetwork (pyrax.cloudnetworks)   FakeImage (pyrax.fakes)   InvalidMonitoringMetricsResolution (pyrax.exceptions)   PasswordChangeFailed (pyrax.exceptions)   
AmbiguousEndpoints (pyrax.exceptions)   CloudNetworkClient (pyrax.cloudnetworks)   FakeImageClient (pyrax.fakes)   InvalidNodeCondition (pyrax.exceptions)   ProtocolMismatch (pyrax.exceptions)   
AuthenticationFailed (pyrax.exceptions)   CloudNetworkManager (pyrax.cloudnetworks)   FakeImageManager (pyrax.fakes)   InvalidNodeParameters (pyrax.exceptions)   PTRRecordCreationFailed (pyrax.exceptions)   
AuthorizationFailure (pyrax.exceptions)   Connection (pyrax.cf_wrapper.client)   FakeImageMemberManager (pyrax.fakes)   InvalidPTRRecord (pyrax.exceptions)   PTRRecordDeletionFailed (pyrax.exceptions)   
AuthSystemNotFound (pyrax.exceptions)   Container (pyrax.cf_wrapper.container)   FakeImageTagManager (pyrax.fakes)   InvalidQueueName (pyrax.exceptions)   PTRRecordUpdateFailed (pyrax.exceptions)   
AutoScaleClient (pyrax.autoscale)   
  D  
-
FakeKeyring (pyrax.fakes)   InvalidSessionPersistenceType (pyrax.exceptions)   PyraxException (pyrax.exceptions)   
AutoScalePolicy (pyrax.autoscale)   FakeLoadBalancer (pyrax.fakes)   InvalidSetting (pyrax.exceptions)   
  Q  
-
AutoScaleWebhook (pyrax.autoscale)   DBUpdateUnchanged (pyrax.exceptions)   FakeLoadBalancerClient (pyrax.fakes)   InvalidSize (pyrax.exceptions)   
AuthSystemNotFound (pyrax.exceptions)   FakeKeyring (pyrax.fakes)   InvalidTemporaryURLMethod (pyrax.exceptions)   
AutoScaleClient (pyrax.autoscale)   DBUpdateUnchanged (pyrax.exceptions)   FakeLoadBalancer (pyrax.fakes)   InvalidUploadID (pyrax.exceptions)   Queue (pyrax.queueing)   
AutoScalePolicy (pyrax.autoscale)   DNSCallTimedOut (pyrax.exceptions)   FakeLoadBalancerClient (pyrax.fakes)   InvalidVirtualIPType (pyrax.exceptions)   QueueClaim (pyrax.queueing)   
AutoScaleWebhook (pyrax.autoscale)   DomainCreationFailed (pyrax.exceptions)   FakeLoadBalancerManager (pyrax.fakes)   InvalidVirtualIPVersion (pyrax.exceptions)   QueueClaimManager (pyrax.queueing)   
  B  
-
DNSCallTimedOut (pyrax.exceptions)   FakeLoadBalancerManager (pyrax.fakes)   InvalidTemporaryURLMethod (pyrax.exceptions)   Queue (pyrax.queueing)   
DomainCreationFailed (pyrax.exceptions)   FakeManager (pyrax.fakes)   InvalidUploadID (pyrax.exceptions)   QueueClaim (pyrax.queueing)   
BadRequest (pyrax.exceptions)   DomainDeletionFailed (pyrax.exceptions)   FakeNode (pyrax.fakes)   InvalidVirtualIPType (pyrax.exceptions)   QueueClaimManager (pyrax.queueing)   
BaseAuth (pyrax.base_identity)   DomainRecordAdditionFailed (pyrax.exceptions)   FakeNovaVolumeClient (pyrax.fakes)   InvalidVirtualIPVersion (pyrax.exceptions)   QueueClient (pyrax.queueing)   
BaseClient (pyrax.client)   DomainRecordDeletionFailed (pyrax.exceptions)   FakeQueue (pyrax.fakes)   InvalidVolumeResize (pyrax.exceptions)   QueueClientIDNotDefined (pyrax.exceptions)   
BaseManager (pyrax.manager)   DomainRecordNotFound (pyrax.exceptions)   FakeQueueClaim (pyrax.fakes)   
  J  
-
QueueManager (pyrax.queueing)   
BaseQueueManager (pyrax.queueing)   DomainRecordNotUnique (pyrax.exceptions)   FakeQueueClient (pyrax.fakes)   QueueMessage (pyrax.queueing)   
BaseResource (pyrax.resource)   DomainRecordUpdateFailed (pyrax.exceptions)   FakeQueueManager (pyrax.fakes)   JSONSchemaManager (pyrax.image)   QueueMessageManager (pyrax.queueing)   
BulkDeleter (pyrax.cf_wrapper.client)   DomainResultsIterator (pyrax.clouddns)   FakeQueueMessage (pyrax.fakes)   
  K  
-
  R  
+
DomainDeletionFailed (pyrax.exceptions)   FakeManager (pyrax.fakes)   InvalidVolumeResize (pyrax.exceptions)   QueueClient (pyrax.queueing)   
DomainRecordAdditionFailed (pyrax.exceptions)   FakeNode (pyrax.fakes)   
  J  
+
QueueClientIDNotDefined (pyrax.exceptions)   
BadRequest (pyrax.exceptions)   DomainRecordDeletionFailed (pyrax.exceptions)   FakeNovaVolumeClient (pyrax.fakes)   QueueManager (pyrax.queueing)   
BaseClient (pyrax.client)   DomainRecordNotFound (pyrax.exceptions)   FakeQueue (pyrax.fakes)   JSONSchemaManager (pyrax.image)   QueueMessage (pyrax.queueing)   
BaseIdentity (pyrax.base_identity)   DomainRecordNotUnique (pyrax.exceptions)   FakeQueueClaim (pyrax.fakes)   
  K  
+
QueueMessageManager (pyrax.queueing)   
BaseManager (pyrax.manager)   DomainRecordUpdateFailed (pyrax.exceptions)   FakeQueueClient (pyrax.fakes)   
  R  
BaseQueueManager (pyrax.queueing)   DomainResultsIterator (pyrax.clouddns)   FakeQueueManager (pyrax.fakes)   KeyringModuleNotInstalled (pyrax.exceptions)   
BaseResource (pyrax.resource)   DomainUpdateFailed (pyrax.exceptions)   FakeRaxIdentity (pyrax.fakes)   KeyringPasswordNotFound (pyrax.exceptions)   RaxIdentity (pyrax.identity.rax_identity)   
BulkDeleter (pyrax.cf_wrapper.client)   DotDict (pyrax.utils)   FakeResponse (pyrax.fakes)   KeyringUsernameMissing (pyrax.exceptions)   RecordResultsIterator (pyrax.clouddns)   
  C  
-
DomainUpdateFailed (pyrax.exceptions)   FakeResponse (pyrax.fakes)   
DuplicateQueue (pyrax.exceptions)   FakeScalingGroup (pyrax.fakes)   KeyringModuleNotInstalled (pyrax.exceptions)   RaxIdentity (pyrax.identity.rax_identity)   
CDNFailed (pyrax.exceptions)   DuplicateUser (pyrax.exceptions)   FakeScalingGroupManager (pyrax.fakes)   KeyringPasswordNotFound (pyrax.exceptions)   RecordResultsIterator (pyrax.clouddns)   
CFClient (pyrax.cf_wrapper.client)   
  E  
-
FakeServer (pyrax.fakes)   KeyringUsernameMissing (pyrax.exceptions)   ResultsIterator (pyrax.clouddns)   
ClientException (pyrax.exceptions)   FakeService (pyrax.fakes)   KeystoneIdentity (pyrax.identity.keystone_identity)   
  S  
-
CloudBlockStorageClient (pyrax.cloudblockstorage)   EndpointNotDefined (pyrax.exceptions)   FakeServiceCatalog (pyrax.fakes)   
  M  
+
DuplicateQueue (pyrax.exceptions)   FakeScalingGroup (pyrax.fakes)   KeystoneIdentity (pyrax.identity.keystone_identity)   ResultsIterator (pyrax.clouddns)   
DuplicateUser (pyrax.exceptions)   FakeScalingGroupManager (pyrax.fakes)   
  M  
+
Role (pyrax.base_identity)   
CDNFailed (pyrax.exceptions)   
  E  
+
FakeServer (pyrax.fakes)   
  S  
CloudBlockStorageManager (pyrax.cloudblockstorage)   EndpointNotFound (pyrax.exceptions)   FakeStatusChanger (pyrax.fakes)   ScalingGroup (pyrax.autoscale)   
CloudBlockStorageSnapshot (pyrax.cloudblockstorage)   EnvironmentNotFound (pyrax.exceptions)   FakeStorageObject (pyrax.fakes)   MissingAuthSettings (pyrax.exceptions)   ScalingGroupManager (pyrax.autoscale)   
CFClient (pyrax.cf_wrapper.client)   FakeService (pyrax.fakes)   MissingAuthSettings (pyrax.exceptions)   
ClientException (pyrax.exceptions)   Endpoint (pyrax.base_identity)   FakeStatusChanger (pyrax.fakes)   MissingClaimParameters (pyrax.exceptions)   ScalingGroup (pyrax.autoscale)   
CloudBlockStorageClient (pyrax.cloudblockstorage)   EndpointNotDefined (pyrax.exceptions)   FakeStorageObject (pyrax.fakes)   MissingDBUserParameters (pyrax.exceptions)   ScalingGroupManager (pyrax.autoscale)   
CloudBlockStorageManager (pyrax.cloudblockstorage)   EndpointNotFound (pyrax.exceptions)   FakeVirtualIP (pyrax.fakes)   MissingDNSSettings (pyrax.exceptions)   SelfDeletingTempDirectory (pyrax.utils)   
CloudBlockStorageSnapshot (pyrax.cloudblockstorage)   EnvironmentNotFound (pyrax.exceptions)   Fault (pyrax.cf_wrapper.container)   MissingHealthMonitorSettings (pyrax.exceptions)   SelfDeletingTempfile (pyrax.utils)   
CloudBlockStorageSnapshotManager (pyrax.cloudblockstorage)   
  F  
-
FakeVirtualIP (pyrax.fakes)   MissingClaimParameters (pyrax.exceptions)   SelfDeletingTempDirectory (pyrax.utils)   
CloudBlockStorageVolume (pyrax.cloudblockstorage)   Fault (pyrax.cf_wrapper.container)   MissingDBUserParameters (pyrax.exceptions)   SelfDeletingTempfile (pyrax.utils)   
CloudBlockStorageVolumeType (pyrax.cloudblockstorage)   FakeAutoScaleClient (pyrax.fakes)   FileNotFound (pyrax.exceptions)   MissingDNSSettings (pyrax.exceptions)   ServiceCatalog (pyrax.service_catalog)   
CloudDatabaseBackup (pyrax.clouddatabases)   FakeAutoScalePolicy (pyrax.fakes)   FlavorNotFound (pyrax.exceptions)   MissingHealthMonitorSettings (pyrax.exceptions)   ServiceNotAvailable (pyrax.exceptions)   
CloudDatabaseBackupManager (pyrax.clouddatabases)   FakeAutoScaleWebhook (pyrax.fakes)   FolderNotFound (pyrax.exceptions)   MissingLoadBalancerParameters (pyrax.exceptions)   ServiceResponseFailure (pyrax.exceptions)   
CloudDatabaseClient (pyrax.clouddatabases)   FakeBlockStorageClient (pyrax.fakes)   FolderUploader (pyrax.cf_wrapper.client)   MissingMonitoringCheckDetails (pyrax.exceptions)   Settings (pyrax)   
CloudDatabaseDatabase (pyrax.clouddatabases)   FakeBlockStorageManager (pyrax.fakes)   Forbidden (pyrax.exceptions)   MissingMonitoringCheckGranularity (pyrax.exceptions)   SnapshotNotAvailable (pyrax.exceptions)   
CloudDatabaseDatabaseManager (pyrax.clouddatabases)   FakeBlockStorageSnapshot (pyrax.fakes)   
  H  
-
MissingName (pyrax.exceptions)   StorageObject (pyrax.cf_wrapper.storage_object)   
CloudDatabaseFlavor (pyrax.clouddatabases)   FakeBlockStorageVolume (pyrax.fakes)   MissingTemporaryURLKey (pyrax.exceptions)   SubdomainResultsIterator (pyrax.clouddns)   
CloudDatabaseInstance (pyrax.clouddatabases)   FakeBulkDeleter (pyrax.fakes)   HTTPNotImplemented (pyrax.exceptions)   MonitoringCheckTargetNotSpecified (pyrax.exceptions)   
  T  
+
FileNotFound (pyrax.exceptions)   MissingLoadBalancerParameters (pyrax.exceptions)   Service (pyrax.base_identity)   
CloudBlockStorageVolume (pyrax.cloudblockstorage)   FlavorNotFound (pyrax.exceptions)   MissingMonitoringCheckDetails (pyrax.exceptions)   ServiceCatalog (pyrax.service_catalog)   
CloudBlockStorageVolumeType (pyrax.cloudblockstorage)   FakeAutoScaleClient (pyrax.fakes)   FolderNotFound (pyrax.exceptions)   MissingMonitoringCheckGranularity (pyrax.exceptions)   ServiceNotAvailable (pyrax.exceptions)   
CloudDatabaseBackup (pyrax.clouddatabases)   FakeAutoScalePolicy (pyrax.fakes)   FolderUploader (pyrax.cf_wrapper.client)   MissingName (pyrax.exceptions)   ServiceResponseFailure (pyrax.exceptions)   
CloudDatabaseBackupManager (pyrax.clouddatabases)   FakeAutoScaleWebhook (pyrax.fakes)   Forbidden (pyrax.exceptions)   MissingTemporaryURLKey (pyrax.exceptions)   Settings (pyrax)   
CloudDatabaseClient (pyrax.clouddatabases)   FakeBlockStorageClient (pyrax.fakes)   
  H  
+
MonitoringCheckTargetNotSpecified (pyrax.exceptions)   SnapshotNotAvailable (pyrax.exceptions)   
CloudDatabaseDatabase (pyrax.clouddatabases)   FakeBlockStorageManager (pyrax.fakes)   MonitoringZonesPollMissing (pyrax.exceptions)   StorageObject (pyrax.cf_wrapper.storage_object)   
CloudDatabaseDatabaseManager (pyrax.clouddatabases)   FakeBlockStorageSnapshot (pyrax.fakes)   HTTPNotImplemented (pyrax.exceptions)   
  N  
+
SubdomainResultsIterator (pyrax.clouddns)   
CloudDatabaseFlavor (pyrax.clouddatabases)   FakeBlockStorageVolume (pyrax.fakes)   
  I  
+
  T  
CloudDatabaseManager (pyrax.clouddatabases)   FakeClient (pyrax.fakes)   
  I  
-
MonitoringZonesPollMissing (pyrax.exceptions)   
CloudDatabaseUser (pyrax.clouddatabases)   FakeCloudMonitorCheck (pyrax.fakes)   
  N  
-
Tenant (pyrax.base_identity)   
CloudDatabaseUserManager (pyrax.clouddatabases)   FakeCloudMonitorClient (pyrax.fakes)   IdentityClassNotDefined (pyrax.exceptions)   TenantNotFound (pyrax.exceptions)   
CloudDatabaseVolume (pyrax.clouddatabases)   FakeCloudMonitorEntity (pyrax.fakes)   Image (pyrax.image)   NetworkCIDRInvalid (pyrax.exceptions)   
  U  
+
CloudDatabaseInstance (pyrax.clouddatabases)   FakeBulkDeleter (pyrax.fakes)   NetworkCIDRInvalid (pyrax.exceptions)   
CloudDatabaseManager (pyrax.clouddatabases)   FakeClient (pyrax.fakes)   IdentityClassNotDefined (pyrax.exceptions)   NetworkCIDRMalformed (pyrax.exceptions)   Tenant (pyrax.base_identity)   
CloudDatabaseUser (pyrax.clouddatabases)   FakeCloudMonitorCheck (pyrax.fakes)   Image (pyrax.image)   NetworkCountExceeded (pyrax.exceptions)   TenantNotFound (pyrax.exceptions)   
CloudDatabaseUserManager (pyrax.clouddatabases)   FakeCloudMonitorClient (pyrax.fakes)   ImageClient (pyrax.image)   NetworkInUse (pyrax.exceptions)   
  U  
CloudDNSClient (pyrax.clouddns)   FakeCloudMonitorNotification (pyrax.fakes)   ImageClient (pyrax.image)   NetworkCIDRMalformed (pyrax.exceptions)   
CloudDNSDomain (pyrax.clouddns)   FakeCloudNetwork (pyrax.fakes)   ImageManager (pyrax.image)   NetworkCountExceeded (pyrax.exceptions)   UnattachedNode (pyrax.exceptions)   
CloudDNSManager (pyrax.clouddns)   FakeCloudNetworkClient (pyrax.fakes)   ImageMember (pyrax.image)   NetworkInUse (pyrax.exceptions)   UnattachedVirtualIP (pyrax.exceptions)   
CloudDNSPTRRecord (pyrax.clouddns)   FakeContainer (pyrax.fakes)   ImageMemberManager (pyrax.image)   NetworkLabelNotUnique (pyrax.exceptions)   Unauthorized (pyrax.exceptions)   
CloudDNSRecord (pyrax.clouddns)   FakeCSClient (pyrax.fakes)   ImageTag (pyrax.image)   NetworkNotFound (pyrax.exceptions)   UnicodePathError (pyrax.exceptions)   
CloudLoadBalancer (pyrax.cloudloadbalancers)   FakeDatabaseClient (pyrax.fakes)   ImageTagManager (pyrax.image)   Node (pyrax.cloudloadbalancers)   UnsharableImage (pyrax.exceptions)   
CloudLoadBalancerClient (pyrax.cloudloadbalancers)   FakeDatabaseInstance (pyrax.fakes)   ImageTask (pyrax.image)   NoMoreResults (pyrax.exceptions)   UploadFailed (pyrax.exceptions)   
CloudLoadBalancerManager (pyrax.cloudloadbalancers)   FakeDatabaseManager (pyrax.fakes)   ImageTasksManager (pyrax.image)   NoReloadError (pyrax.exceptions)   User (pyrax.base_identity)   
CloudMonitorAlarm (pyrax.cloudmonitoring)   FakeDatabaseUser (pyrax.fakes)   InternalServerError (pyrax.exceptions)   NoSSLTerminationConfiguration (pyrax.exceptions)   UserNotFound (pyrax.exceptions)   
CloudMonitorChangelogManager (pyrax.cloudmonitoring)   FakeDatabaseVolume (pyrax.fakes)   InvalidCDNMetadata (pyrax.exceptions)   NoSuchContainer (pyrax.exceptions)   
  V  
+
CloudDatabaseVolume (pyrax.clouddatabases)   FakeCloudMonitorEntity (pyrax.fakes)   ImageManager (pyrax.image)   NetworkLabelNotUnique (pyrax.exceptions)   
CloudDNSClient (pyrax.clouddns)   FakeCloudMonitorNotification (pyrax.fakes)   ImageMember (pyrax.image)   NetworkNotFound (pyrax.exceptions)   UnattachedNode (pyrax.exceptions)   
CloudDNSDomain (pyrax.clouddns)   FakeCloudNetwork (pyrax.fakes)   ImageMemberManager (pyrax.image)   NoClientForService (pyrax.exceptions)   UnattachedVirtualIP (pyrax.exceptions)   
CloudDNSManager (pyrax.clouddns)   FakeCloudNetworkClient (pyrax.fakes)   ImageTag (pyrax.image)   Node (pyrax.cloudloadbalancers)   Unauthorized (pyrax.exceptions)   
CloudDNSPTRRecord (pyrax.clouddns)   FakeContainer (pyrax.fakes)   ImageTagManager (pyrax.image)   NoEndpointForRegion (pyrax.exceptions)   UnicodePathError (pyrax.exceptions)   
CloudDNSRecord (pyrax.clouddns)   FakeCSClient (pyrax.fakes)   ImageTask (pyrax.image)   NoEndpointForService (pyrax.exceptions)   UnsharableImage (pyrax.exceptions)   
CloudLoadBalancer (pyrax.cloudloadbalancers)   FakeDatabaseClient (pyrax.fakes)   ImageTasksManager (pyrax.image)   NoMoreResults (pyrax.exceptions)   UploadFailed (pyrax.exceptions)   
CloudLoadBalancerClient (pyrax.cloudloadbalancers)   FakeDatabaseInstance (pyrax.fakes)   InternalServerError (pyrax.exceptions)   NoReloadError (pyrax.exceptions)   User (pyrax.base_identity)   
CloudLoadBalancerManager (pyrax.cloudloadbalancers)   FakeDatabaseManager (pyrax.fakes)   InvalidCDNMetadata (pyrax.exceptions)   NoSSLTerminationConfiguration (pyrax.exceptions)   UserNotFound (pyrax.exceptions)   
CloudMonitorAlarm (pyrax.cloudmonitoring)   FakeDatabaseUser (pyrax.fakes)   InvalidConfigurationFile (pyrax.exceptions)   NoSuchClient (pyrax.exceptions)   
  V  
CloudMonitorCheck (pyrax.cloudmonitoring)   FakeDNSClient (pyrax.fakes)   InvalidConfigurationFile (pyrax.exceptions)   NoSuchDatabase (pyrax.exceptions)   
CloudMonitorCheckType (pyrax.cloudmonitoring)   FakeDNSDevice (pyrax.fakes)   InvalidCredentialFile (pyrax.exceptions)   NoSuchDatabaseUser (pyrax.exceptions)   VirtualIP (pyrax.cloudloadbalancers)   
CloudMonitorClient (pyrax.cloudmonitoring)   FakeDNSDomain (pyrax.fakes)   InvalidDateTimeString (pyrax.exceptions)   NoSuchObject (pyrax.exceptions)   VolumeAttachmentFailed (pyrax.exceptions)   
CloudMonitorEntity (pyrax.cloudmonitoring)   FakeDNSManager (pyrax.fakes)   InvalidDeviceType (pyrax.exceptions)   NotAuthenticated (pyrax.exceptions)   VolumeCloneTooSmall (pyrax.exceptions)   
CloudMonitorEntityManager (pyrax.cloudmonitoring)   FakeDNSPTRRecord (pyrax.fakes)   InvalidEmail (pyrax.exceptions)   NotCDNEnabled (pyrax.exceptions)   VolumeDetachmentFailed (pyrax.exceptions)   
CloudMonitorNotification (pyrax.cloudmonitoring)   FakeDNSRecord (pyrax.fakes)   InvalidImageMember (pyrax.exceptions)   NotFound (pyrax.exceptions)   VolumeNotAvailable (pyrax.exceptions)   
CloudMonitorNotificationManager (pyrax.cloudmonitoring)   FakeEntity (pyrax.fakes)   InvalidImageMemberStatus (pyrax.exceptions)   NoTokenLookupException (pyrax.exceptions)   
  _  
+
CloudMonitorChangelogManager (pyrax.cloudmonitoring)   FakeDatabaseVolume (pyrax.fakes)   InvalidCredentialFile (pyrax.exceptions)   NoSuchContainer (pyrax.exceptions)   
CloudMonitorCheck (pyrax.cloudmonitoring)   FakeDNSClient (pyrax.fakes)   InvalidDateTimeString (pyrax.exceptions)   NoSuchDatabase (pyrax.exceptions)   VirtualIP (pyrax.cloudloadbalancers)   
CloudMonitorCheckType (pyrax.cloudmonitoring)   FakeDNSDevice (pyrax.fakes)   InvalidDeviceType (pyrax.exceptions)   NoSuchDatabaseUser (pyrax.exceptions)   VolumeAttachmentFailed (pyrax.exceptions)   
CloudMonitorClient (pyrax.cloudmonitoring)   FakeDNSDomain (pyrax.fakes)   InvalidEmail (pyrax.exceptions)   NoSuchObject (pyrax.exceptions)   VolumeCloneTooSmall (pyrax.exceptions)   
CloudMonitorEntity (pyrax.cloudmonitoring)   FakeDNSManager (pyrax.fakes)   InvalidImageMember (pyrax.exceptions)   NotAuthenticated (pyrax.exceptions)   VolumeDetachmentFailed (pyrax.exceptions)   
CloudMonitorEntityManager (pyrax.cloudmonitoring)   FakeDNSPTRRecord (pyrax.fakes)   InvalidImageMemberStatus (pyrax.exceptions)   NotCDNEnabled (pyrax.exceptions)   VolumeNotAvailable (pyrax.exceptions)   
CloudMonitorNotification (pyrax.cloudmonitoring)   FakeDNSRecord (pyrax.fakes)   InvalidLoadBalancer (pyrax.exceptions)   NotFound (pyrax.exceptions)   
  _  
CloudMonitorNotificationPlan (pyrax.cloudmonitoring)   FakeEntryPoint (pyrax.fakes)   InvalidLoadBalancer (pyrax.exceptions)   NoUniqueMatch (pyrax.exceptions)   
CloudMonitorNotificationPlanManager (pyrax.cloudmonitoring)   FakeException (pyrax.fakes)   InvalidLoadBalancerParameters (pyrax.exceptions)   
  O  
-
_WaitThread (pyrax.utils)   
CloudMonitorNotificationType (pyrax.cloudmonitoring)   FakeFolderUploader (pyrax.fakes)   InvalidMonitoringCheckDetails (pyrax.exceptions)   
OverLimit (pyrax.exceptions)   
CloudMonitorNotificationManager (pyrax.cloudmonitoring)   FakeEndpoint (pyrax.fakes)   InvalidLoadBalancerParameters (pyrax.exceptions)   NoTokenLookupException (pyrax.exceptions)   
CloudMonitorNotificationPlan (pyrax.cloudmonitoring)   FakeEntity (pyrax.fakes)   InvalidMonitoringCheckDetails (pyrax.exceptions)   NoUniqueMatch (pyrax.exceptions)   _WaitThread (pyrax.utils)   
CloudMonitorNotificationPlanManager (pyrax.cloudmonitoring)   FakeException (pyrax.fakes)   InvalidMonitoringCheckUpdate (pyrax.exceptions)   
  O  
+
CloudMonitorNotificationType (pyrax.cloudmonitoring)   FakeFolderUploader (pyrax.fakes)   InvalidMonitoringMetricsRequest (pyrax.exceptions)   
CloudMonitorOverviewManager (pyrax.cloudmonitoring)   FakeIdentity (pyrax.fakes)   InvalidMonitoringMetricsResolution (pyrax.exceptions)   OverLimit (pyrax.exceptions)   
CloudMonitorZone (pyrax.cloudmonitoring)   FakeIdentityResponse (pyrax.fakes)   InvalidNodeCondition (pyrax.exceptions)   
  P  
+
PasswordChangeFailed (pyrax.exceptions)   
A | B | C | D | E | F | H | I | J | K | M | N | O | P | Q | R | S | T | U | V | _
@@ -188,7 +191,7 @@ diff --git a/docs/html/classpyrax_1_1autoscale_1_1AutoScaleClient-members.html b/docs/html/classpyrax_1_1autoscale_1_1AutoScaleClient-members.html index 668781d3..81e8d1a3 100644 --- a/docs/html/classpyrax_1_1autoscale_1_1AutoScaleClient-members.html +++ b/docs/html/classpyrax_1_1autoscale_1_1AutoScaleClient-members.html @@ -111,6 +111,7 @@ get_timingsBaseClient get_webhookAutoScaleClient http_log_debugBaseClient + identityBaseClient listBaseClient list_policiesAutoScaleClient list_webhooksAutoScaleClient @@ -165,7 +166,7 @@ diff --git a/docs/html/classpyrax_1_1base__identity_1_1BaseIdentity-members.html b/docs/html/classpyrax_1_1base__identity_1_1BaseIdentity-members.html new file mode 100644 index 00000000..112ea5cb --- /dev/null +++ b/docs/html/classpyrax_1_1base__identity_1_1BaseIdentity-members.html @@ -0,0 +1,179 @@ + + + + + +pyrax: Member List + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
pyrax + +
+
Python Bindings for the Rackspace Cloud
+
+
+ + + + + + +
+
+
+
BaseIdentity Member List
+
+
+This is the complete list of members for BaseIdentity, including all inherited members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
__getattr__BaseIdentity
__init__BaseIdentity
add_role_to_userBaseIdentity
api_keyBaseIdentity
auth_endpointBaseIdentity
auth_endpointBaseIdentity
auth_tokenBaseIdentity
auth_with_tokenBaseIdentity
authenticateBaseIdentity
authenticatedBaseIdentity
check_tokenBaseIdentity
create_tenantBaseIdentity
create_userBaseIdentity
delete_role_from_userBaseIdentity
delete_tenantBaseIdentity
delete_userBaseIdentity
expiresBaseIdentity
find_user_by_emailBaseIdentity
find_user_by_idBaseIdentity
find_user_by_nameBaseIdentity
get_clientBaseIdentity
get_default_regionBaseIdentity
get_extensionsBaseIdentity
get_roleBaseIdentity
get_tenantBaseIdentity
get_tokenBaseIdentity
get_token_endpointsBaseIdentity
get_userBaseIdentity
http_log_debugBaseIdentity
keyring_authBaseIdentity
list_credentialsBaseIdentity
list_rolesBaseIdentity
list_roles_for_userBaseIdentity
list_tenantsBaseIdentity
list_tokensBaseIdentity
list_usersBaseIdentity
method_deleteBaseIdentity
method_getBaseIdentity
method_headBaseIdentity
method_patchBaseIdentity
method_postBaseIdentity
method_putBaseIdentity
passwordBaseIdentity
regionBaseIdentity
regionsBaseIdentity
reset_api_keyBaseIdentity
revoke_tokenBaseIdentity
service_catalogBaseIdentity
service_mappingBaseIdentity
servicesBaseIdentity
set_credential_fileBaseIdentity
set_credentialsBaseIdentity
tenant_idBaseIdentity
tenant_nameBaseIdentity
tokenBaseIdentity
unauthenticateBaseIdentity
update_tenantBaseIdentity
update_userBaseIdentity
userBaseIdentity
user_agentBaseIdentity
usernameBaseIdentity
verify_sslBaseIdentity
+ +
+ All Classes Namespaces Files Functions Variables Properties
+ + +
+ +
+ + + + + + + diff --git a/docs/html/classpyrax_1_1base__identity_1_1BaseIdentity.html b/docs/html/classpyrax_1_1base__identity_1_1BaseIdentity.html new file mode 100644 index 00000000..a55a6ab1 --- /dev/null +++ b/docs/html/classpyrax_1_1base__identity_1_1BaseIdentity.html @@ -0,0 +1,2118 @@ + + + + + +pyrax: BaseIdentity Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
pyrax + +
+
Python Bindings for the Rackspace Cloud
+
+
+ + + + + + +
+ All Classes Namespaces Files Functions Variables Properties
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Public Attributes
+
+
BaseIdentity Class Reference
+
+
+ +

This class handles all of the basic authentication requirements for working with an OpenStack Cloud system. + More...

+
+Inheritance diagram for BaseIdentity:
+
+
+ + +FakeIdentity + +
+ +

List of all members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

def __init__
 Initializes the attributes for this identity object.
def auth_token
 Simple alias to self.token.
def auth_endpoint
 Abstracts out the logic for connecting to different auth endpoints.
def auth_endpoint
def get_default_region
 In cases where the region has not been specified, return the value to use.
def __getattr__
 Magic to allow for specification of client by region/service or by service/region.
def get_client
 Returns the client object for the specified service and region.
def set_credentials
 Sets the username and password directly.
def set_credential_file
 Reads in the credentials from the supplied file.
def auth_with_token
 If a valid token is already known, this call uses it to generate the service catalog.
def method_head
def method_get
def method_post
def method_put
def method_delete
def method_patch
def authenticate
 Using the supplied credentials, connects to the specified authentication endpoint and attempts to log in.
def keyring_auth
 Uses the keyring module to retrieve the user's password or api_key.
def unauthenticate
 Clears out any credentials, tokens, and service catalog info.
def get_extensions
 Returns a list of extensions enabled on this service.
def get_token
 Returns the auth token, if it is valid.
def list_tokens
 ADMIN ONLY.
def check_token
 ADMIN ONLY.
def revoke_token
 ADMIN ONLY.
def get_token_endpoints
 ADMIN ONLY.
def list_users
 ADMIN ONLY.
def create_user
 ADMIN ONLY.
def find_user_by_name
 Returns a User object by searching for the supplied user name.
def find_user_by_email
 Returns a User object by searching for the supplied user's email address.
def find_user_by_id
 Returns a User object by searching for the supplied user ID.
def get_user
 Returns the user specified by either ID, username or email.
def update_user
 ADMIN ONLY.
def delete_user
 ADMIN ONLY.
def list_roles_for_user
 ADMIN ONLY.
def list_credentials
 Returns a user's non-password credentials.
def reset_api_key
 Not available in basic Keystone identity.
def get_tenant
 Returns the tenant for the current user.
def list_tenants
 ADMIN ONLY.
def create_tenant
 ADMIN ONLY.
def update_tenant
 ADMIN ONLY.
def delete_tenant
 ADMIN ONLY.
def list_roles
 Returns a list of all global roles for users, optionally limited by service.
def get_role
 Returns a Role object representing the specified parameter.
def add_role_to_user
 Adds the specified role to the specified user.
def delete_role_from_user
 Deletes the specified role from the specified user.

+Public Attributes

 username
 password
 tenant_id
 tenant_name
 token
 expires
 region
 verify_ssl
 api_key
 services
 regions
 authenticated
 user_agent
 http_log_debug
 service_mapping
 service_catalog
 user
+

Detailed Description

+

This class handles all of the basic authentication requirements for working with an OpenStack Cloud system.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def __init__ ( self,
 username = None,
 password = None,
 tenant_id = None,
 tenant_name = None,
 auth_endpoint = None,
 api_key = None,
 token = None,
 credential_file = None,
 region = None,
 timeout = None,
 verify_ssl = True 
)
+
+
+ +

Initializes the attributes for this identity object.

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
def __getattr__ ( self,
 att 
)
+
+
+ +

Magic to allow for specification of client by region/service or by service/region.

+

If a service is specified, this should return an object whose endpoints contain keys for each available region for that service. If a region is specified, an object with keys for each service available in that region should be returned.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
def add_role_to_user ( self,
 role,
 user 
)
+
+
+ +

Adds the specified role to the specified user.

+

There is no return value upon success. Passing a non-existent role or user raises a NotFound exception.

+ +
+
+ +
+
+ + + + + + + + +
def auth_endpoint ( self)
+
+
+ +

Abstracts out the logic for connecting to different auth endpoints.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
def auth_endpoint ( self,
 val 
)
+
+
+ +
+
+ +
+
+ + + + + + + + +
def auth_token ( self)
+
+
+ +

Simple alias to self.token.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def auth_with_token ( self,
 token,
 tenant_id = None,
 tenant_name = None 
)
+
+
+ +

If a valid token is already known, this call uses it to generate the service catalog.

+ +

Reimplemented in FakeIdentity.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def authenticate ( self,
 username = None,
 password = None,
 api_key = None,
 tenant_id = None 
)
+
+
+ +

Using the supplied credentials, connects to the specified authentication endpoint and attempts to log in.

+

Credentials can either be passed directly to this method, or previously-stored credentials can be used. If authentication is successful, the token and service catalog information is stored, and clients for each service and region are created.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
def check_token ( self,
 token = None 
)
+
+
+ +

ADMIN ONLY.

+

Returns True or False, depending on whether the current token is valid.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def create_tenant ( self,
 name,
 description = None,
 enabled = True 
)
+
+
+ +

ADMIN ONLY.

+

Creates a new tenant.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def create_user ( self,
 name,
 email,
 password = None,
 enabled = True 
)
+
+
+ +

ADMIN ONLY.

+

Creates a new user for this tenant (account). The username and email address must be supplied. You may optionally supply the password for this user; if not, the API server generates a password and return it in the 'password' attribute of the resulting User object. NOTE: this is the ONLY time the password is returned; after the initial user creation, there is NO WAY to retrieve the user's password.

+

You may also specify that the user should be created but not active by passing False to the enabled parameter.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
def delete_role_from_user ( self,
 role,
 user 
)
+
+
+ +

Deletes the specified role from the specified user.

+

There is no return value upon success. Passing a non-existent role or user raises a NotFound exception.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
def delete_tenant ( self,
 tenant 
)
+
+
+ +

ADMIN ONLY.

+

Removes the tenant from the system. There is no 'undo' available, so you should be certain that the tenant specified is the tenant you wish to delete.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
def delete_user ( self,
 user 
)
+
+
+ +

ADMIN ONLY.

+

Removes the user from the system. There is no 'undo' available, so you should be certain that the user specified is the user you wish to delete.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
def find_user_by_email ( self,
 email 
)
+
+
+ +

Returns a User object by searching for the supplied user's email address.

+

Returns None if there is no match for the given ID.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
def find_user_by_id ( self,
 uid 
)
+
+
+ +

Returns a User object by searching for the supplied user ID.

+

Returns None if there is no match for the given ID.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
def find_user_by_name ( self,
 name 
)
+
+
+ +

Returns a User object by searching for the supplied user name.

+

Returns None if there is no match for the given name.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def get_client ( self,
 service,
 region,
 public = True 
)
+
+
+ +

Returns the client object for the specified service and region.

+

By default the public endpoint is used. If you wish to work with a services internal endpoints, specify `public=False`.

+ +
+
+ +
+
+ + + + + + + + +
def get_default_region ( self)
+
+
+ +

In cases where the region has not been specified, return the value to use.

+

Subclasses may use information in the service catalog to determine the appropriate default value.

+ +
+
+ +
+
+ + + + + + + + +
def get_extensions ( self)
+
+
+ +

Returns a list of extensions enabled on this service.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
def get_role ( self,
 role 
)
+
+
+ +

Returns a Role object representing the specified parameter.

+

The 'role' parameter can be either an existing Role object, or the ID of the role.

+

If an invalid role is passed, a NotFound exception is raised.

+ +
+
+ +
+
+ + + + + + + + +
def get_tenant ( self)
+
+
+ +

Returns the tenant for the current user.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
def get_token ( self,
 force = False 
)
+
+
+ +

Returns the auth token, if it is valid.

+

If not, calls the auth endpoint to get a new token. Passing 'True' to 'force' forces a call for a new token, even if there already is a valid token.

+ +

Reimplemented in FakeIdentity.

+ +
+
+ +
+
+ + + + + + + + +
def get_token_endpoints ( self)
+
+
+ +

ADMIN ONLY.

+

Returns a list of all endpoints for the current auth token.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def get_user ( self,
 user_id = None,
 username = None,
 email = None 
)
+
+
+ +

Returns the user specified by either ID, username or email.

+

Since more than user can have the same email address, searching by that term returns a list of 1 or more User objects. Searching by username or ID returns a single User.

+

If a user_id that doesn't belong to the current account is searched for, a Forbidden exception is raised. When searching by username or email, a NotFound exception is raised if there is no matching user.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
def keyring_auth ( self,
 username = None 
)
+
+
+ +

Uses the keyring module to retrieve the user's password or api_key.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
def list_credentials ( self,
 user = None 
)
+
+
+ +

Returns a user's non-password credentials.

+

If no user is specified, the credentials for the currently authenticated user are returned.

+

You cannot retrieve passwords by this or any other means.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def list_roles ( self,
 service_id = None,
 limit = None,
 marker = None 
)
+
+
+ +

Returns a list of all global roles for users, optionally limited by service.

+

Pagination can be handled through the standard 'limit' and 'marker' parameters.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
def list_roles_for_user ( self,
 user 
)
+
+
+ +

ADMIN ONLY.

+

Returns a list of roles for the specified user. Each role will be a 3-tuple, consisting of (role_id, role_name, role_description).

+ +
+
+ +
+
+ + + + + + + + +
def list_tenants ( self)
+
+
+ +

ADMIN ONLY.

+

Returns a list of all tenants.

+ +
+
+ +
+
+ + + + + + + + +
def list_tokens ( self)
+
+
+ +

ADMIN ONLY.

+

Returns a dict containing tokens, endpoints, user info, and role metadata.

+ +
+
+ +
+
+ + + + + + + + +
def list_users ( self)
+
+
+ +

ADMIN ONLY.

+

Returns a list of objects for all users for the tenant (account) if this request is issued by a user holding the admin role (identity:user-admin).

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def method_delete ( self,
 uri,
 admin = False,
 data = None,
 headers = None,
 std_headers = True 
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def method_get ( self,
 uri,
 admin = False,
 data = None,
 headers = None,
 std_headers = True 
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def method_head ( self,
 uri,
 admin = False,
 data = None,
 headers = None,
 std_headers = True 
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def method_patch ( self,
 uri,
 admin = False,
 data = None,
 headers = None,
 std_headers = True 
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def method_post ( self,
 uri,
 admin = False,
 data = None,
 headers = None,
 std_headers = True 
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def method_put ( self,
 uri,
 admin = False,
 data = None,
 headers = None,
 std_headers = True 
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
def reset_api_key ( self,
 user = None 
)
+
+
+ +

Not available in basic Keystone identity.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
def revoke_token ( self,
 token 
)
+
+
+ +

ADMIN ONLY.

+

Returns True or False, depending on whether deletion of the specified token was successful.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def set_credential_file ( self,
 credential_file,
 region = None,
 tenant_id = None,
 authenticate = False 
)
+
+
+ +

Reads in the credentials from the supplied file.

+

It should be a standard config file in the format:

+

[keystone] username = myusername password = top_secret tenant_id = my_id

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def set_credentials ( self,
 username,
 password = None,
 region = None,
 tenant_id = None,
 authenticate = False 
)
+
+
+ +

Sets the username and password directly.

+ +
+
+ +
+
+ + + + + + + + +
def unauthenticate ( self)
+
+
+ +

Clears out any credentials, tokens, and service catalog info.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def update_tenant ( self,
 tenant,
 name = None,
 description = None,
 enabled = True 
)
+
+
+ +

ADMIN ONLY.

+

Updates an existing tenant.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def update_user ( self,
 user,
 email = None,
 username = None,
 uid = None,
 enabled = None 
)
+
+
+ +

ADMIN ONLY.

+

Updates the user attributes with the supplied values.

+ +
+
+

Member Data Documentation

+ +
+
+ + + + +
api_key
+
+
+ +
+
+ +
+
+ + + + +
authenticated
+
+
+ +

Reimplemented in FakeIdentity.

+ +
+
+ +
+
+ + + + +
expires
+
+
+ +
+
+ +
+
+ + + + +
http_log_debug
+
+
+ +
+
+ +
+
+ + + + +
password
+
+
+ +

Reimplemented in FakeIdentity.

+ +
+
+ +
+
+ + + + +
region
+
+
+ +
+
+ +
+
+ + + + +
regions
+
+
+ +
+
+ +
+
+ + + + +
service_catalog
+
+
+ +
+
+ +
+
+ + + + +
service_mapping
+
+
+ +
+
+ +
+
+ + + + +
services
+
+
+ +
+
+ +
+
+ + + + +
tenant_id
+
+
+ +

Reimplemented in FakeIdentity.

+ +
+
+ +
+
+ + + + +
tenant_name
+
+
+ +

Reimplemented in FakeIdentity.

+ +
+
+ +
+
+ + + + +
token
+
+
+ +

Reimplemented in FakeIdentity.

+ +
+
+ +
+
+ + + + +
user
+
+
+ +
+
+ +
+
+ + + + +
user_agent
+
+
+ +
+
+ +
+
+ + + + +
username
+
+
+ +

Reimplemented in FakeIdentity.

+ +
+
+ +
+
+ + + + +
verify_ssl
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ +
+ All Classes Namespaces Files Functions Variables Properties
+ + +
+ +
+ + + + + + + diff --git a/docs/html/classpyrax_1_1base__identity_1_1BaseIdentity.png b/docs/html/classpyrax_1_1base__identity_1_1BaseIdentity.png new file mode 100644 index 00000000..06d7fb9d Binary files /dev/null and b/docs/html/classpyrax_1_1base__identity_1_1BaseIdentity.png differ diff --git a/docs/html/classpyrax_1_1base__identity_1_1Endpoint-members.html b/docs/html/classpyrax_1_1base__identity_1_1Endpoint-members.html new file mode 100644 index 00000000..22e66da2 --- /dev/null +++ b/docs/html/classpyrax_1_1base__identity_1_1Endpoint-members.html @@ -0,0 +1,129 @@ + + + + + +pyrax: Member List + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
pyrax + +
+
Python Bindings for the Rackspace Cloud
+
+
+ + + + + + +
+
+
+
Endpoint Member List
+
+
+This is the complete list of members for Endpoint, including all inherited members. + + + + + + + + + + + + +
__getattr__Endpoint
__init__Endpoint
attr_mapEndpoint [static]
clientEndpoint
client_privateEndpoint
getEndpoint
identityEndpoint
private_urlEndpoint [static]
public_urlEndpoint [static]
regionEndpoint [static]
serviceEndpoint
tenant_idEndpoint [static]
+ +
+ All Classes Namespaces Files Functions Variables Properties
+ + +
+ +
+ + + + + + + diff --git a/docs/html/classpyrax_1_1base__identity_1_1Endpoint.html b/docs/html/classpyrax_1_1base__identity_1_1Endpoint.html new file mode 100644 index 00000000..15a64ae6 --- /dev/null +++ b/docs/html/classpyrax_1_1base__identity_1_1Endpoint.html @@ -0,0 +1,410 @@ + + + + + +pyrax: Endpoint Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
pyrax + +
+
Python Bindings for the Rackspace Cloud
+
+
+ + + + + + +
+ All Classes Namespaces Files Functions Variables Properties
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Public Attributes | +Static Public Attributes
+
+
Endpoint Class Reference
+
+
+ +

Holds the endpoint information, as well as an instance of the appropriate client for that service and region. + More...

+
+Inheritance diagram for Endpoint:
+
+
+ + +FakeEndpoint + +
+ +

List of all members.

+ + + + + + + + + + + + + + + + + + +

+Public Member Functions

def __init__
 Set local attributes from the supplied dictionary.
def get
 Accepts either 'public' or 'private' as a parameter, and returns the corresponding value for 'public_url' or 'private_url', respectively.
def __getattr__
def client
def client_private

+Public Attributes

 service
 identity

+Static Public Attributes

 public_url = None
 private_url = None
 tenant_id = None
 region = None
dictionary attr_map
+

Detailed Description

+

Holds the endpoint information, as well as an instance of the appropriate client for that service and region.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def __init__ ( self,
 ep_dict,
 service,
 region,
 identity 
)
+
+
+ +

Set local attributes from the supplied dictionary.

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
def __getattr__ ( self,
 att 
)
+
+
+ +
+
+ +
+
+ + + + + + + + +
def client ( self)
+
+
+ +
+
+ +
+
+ + + + + + + + +
def client_private ( self)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
def get ( self,
 url_type 
)
+
+
+ +

Accepts either 'public' or 'private' as a parameter, and returns the corresponding value for 'public_url' or 'private_url', respectively.

+ +
+
+

Member Data Documentation

+ +
+
+ + + + +
dictionary attr_map [static]
+
+
+Initial value:
{"publicURL": "public_url",
+            "privateURL": "private_url",
+            "tenantId": "tenant_id",
+            }
+
+
+
+ +
+
+ + + + +
identity
+
+
+ +
+
+ +
+
+ + + + +
private_url = None [static]
+
+
+ +
+
+ +
+
+ + + + +
public_url = None [static]
+
+
+ +
+
+ +
+
+ + + + +
region = None [static]
+
+
+ +
+
+ +
+
+ + + + +
service
+
+
+ +
+
+ +
+
+ + + + +
tenant_id = None [static]
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ +
+ All Classes Namespaces Files Functions Variables Properties
+ + +
+ +
+ + + + + + + diff --git a/docs/html/classpyrax_1_1base__identity_1_1Endpoint.png b/docs/html/classpyrax_1_1base__identity_1_1Endpoint.png new file mode 100644 index 00000000..fc90b4c0 Binary files /dev/null and b/docs/html/classpyrax_1_1base__identity_1_1Endpoint.png differ diff --git a/docs/html/classpyrax_1_1base__identity_1_1Role.html b/docs/html/classpyrax_1_1base__identity_1_1Role.html new file mode 100644 index 00000000..78610f64 --- /dev/null +++ b/docs/html/classpyrax_1_1base__identity_1_1Role.html @@ -0,0 +1,135 @@ + + + + + +pyrax: Role Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
pyrax + +
+
Python Bindings for the Rackspace Cloud
+
+
+ + + + + + +
+ All Classes Namespaces Files Functions Variables Properties
+ + +
+ +
+ + +
+
+
+
Role Class Reference
+
+
+ +

Inherits BaseResource.

+
The documentation for this class was generated from the following file: +
+ +
+ All Classes Namespaces Files Functions Variables Properties
+ + +
+ +
+ + + + + + + diff --git a/docs/html/classpyrax_1_1base__identity_1_1Service-members.html b/docs/html/classpyrax_1_1base__identity_1_1Service-members.html new file mode 100644 index 00000000..6185c410 --- /dev/null +++ b/docs/html/classpyrax_1_1base__identity_1_1Service-members.html @@ -0,0 +1,127 @@ + + + + + +pyrax: Member List + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
pyrax + +
+
Python Bindings for the Rackspace Cloud
+
+
+ + + + + + +
+
+
+
Service Member List
+
+
+This is the complete list of members for Service, including all inherited members. + + + + + + + + + + +
__init__Service
__repr__Service
clientsService
endpointsService
get_clientService
identityService
nameService
prefixService
regionsService
service_typeService
+ +
+ All Classes Namespaces Files Functions Variables Properties
+ + +
+ +
+ + + + + + + diff --git a/docs/html/classpyrax_1_1base__identity_1_1Service.html b/docs/html/classpyrax_1_1base__identity_1_1Service.html new file mode 100644 index 00000000..2e6ea1f4 --- /dev/null +++ b/docs/html/classpyrax_1_1base__identity_1_1Service.html @@ -0,0 +1,367 @@ + + + + + +pyrax: Service Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
pyrax + +
+
Python Bindings for the Rackspace Cloud
+
+
+ + + + + + +
+ All Classes Namespaces Files Functions Variables Properties
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Public Attributes
+
+
Service Class Reference
+
+
+ +

Represents an available service from the service catalog. + More...

+
+Inheritance diagram for Service:
+
+
+ + +FakeIdentityService + +
+ +

List of all members.

+ + + + + + + + + + + + + + + + +

+Public Member Functions

def __init__
 Parse the catalog entry for a particular service.
def __repr__
def get_client
 Returns an instance of the appropriate client class for the given region.
def regions
 Returns a list of all regions which support this service.

+Public Attributes

 identity
 name
 service_type
 prefix
 clients
 endpoints
+

Detailed Description

+

Represents an available service from the service catalog.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
def __init__ ( self,
 identity,
 catalog 
)
+
+
+ +

Parse the catalog entry for a particular service.

+ +

Reimplemented in FakeIdentityService.

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + +
def __repr__ ( self)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
def get_client ( self,
 region 
)
+
+
+ +

Returns an instance of the appropriate client class for the given region.

+

If there is no endpoint for that region, a NoEndpointForRegion exception is raised.

+ +
+
+ +
+
+ + + + + + + + +
def regions ( self)
+
+
+ +

Returns a list of all regions which support this service.

+ +
+
+

Member Data Documentation

+ +
+
+ + + + +
clients
+
+
+ +

Reimplemented in FakeIdentityService.

+ +
+
+ +
+
+ + + + +
endpoints
+
+
+ +

Reimplemented in FakeIdentityService.

+ +
+
+ +
+
+ + + + +
identity
+
+
+ +

Reimplemented in FakeIdentityService.

+ +
+
+ +
+
+ + + + +
name
+
+
+ +

Reimplemented in FakeIdentityService.

+ +
+
+ +
+
+ + + + +
prefix
+
+
+ +

Reimplemented in FakeIdentityService.

+ +
+
+ +
+
+ + + + +
service_type
+
+
+ +

Reimplemented in FakeIdentityService.

+ +
+
+
The documentation for this class was generated from the following file: +
+ +
+ All Classes Namespaces Files Functions Variables Properties
+ + +
+ +
+ + + + + + + diff --git a/docs/html/classpyrax_1_1base__identity_1_1Service.png b/docs/html/classpyrax_1_1base__identity_1_1Service.png new file mode 100644 index 00000000..7b938b16 Binary files /dev/null and b/docs/html/classpyrax_1_1base__identity_1_1Service.png differ diff --git a/docs/html/classpyrax_1_1base__identity_1_1Tenant.html b/docs/html/classpyrax_1_1base__identity_1_1Tenant.html index 8e2919f7..ac0109e0 100644 --- a/docs/html/classpyrax_1_1base__identity_1_1Tenant.html +++ b/docs/html/classpyrax_1_1base__identity_1_1Tenant.html @@ -103,17 +103,8 @@
Tenant Class Reference
-
-Inheritance diagram for Tenant:
-
-
- - -BaseResource - -
- -

List of all members.

+ +

Inherits BaseResource.


The documentation for this class was generated from the following file: @@ -135,7 +126,7 @@ diff --git a/docs/html/classpyrax_1_1base__identity_1_1User.html b/docs/html/classpyrax_1_1base__identity_1_1User.html index 15faa985..38acf87a 100644 --- a/docs/html/classpyrax_1_1base__identity_1_1User.html +++ b/docs/html/classpyrax_1_1base__identity_1_1User.html @@ -103,17 +103,8 @@
User Class Reference
-
-Inheritance diagram for User:
-
-
- - -BaseResource - -
- -

List of all members.

+ +

Inherits BaseResource.


The documentation for this class was generated from the following file: @@ -135,7 +126,7 @@ diff --git a/docs/html/classpyrax_1_1cf__wrapper_1_1client_1_1CFClient.html b/docs/html/classpyrax_1_1cf__wrapper_1_1client_1_1CFClient.html index bffbe267..84383088 100644 --- a/docs/html/classpyrax_1_1cf__wrapper_1_1client_1_1CFClient.html +++ b/docs/html/classpyrax_1_1cf__wrapper_1_1client_1_1CFClient.html @@ -2315,7 +2315,19 @@   - ignore_timestamps = False  + ignore_timestamps = False, + + + + +   + object_prefix = "", + + + + +   + verbose = False  @@ -2329,7 +2341,9 @@

Compares the contents of the specified folder, and checks to make sure that the corresponding object is present in the specified container.

If there is no remote object matching the local file, it is created. If a matching object exists, the etag is examined to determine if the object in the container matches the local file; if they differ, the container is updated with the local file if the local file is newer when `ignore_timestamps' is False (default). If `ignore_timestamps` is True, the object is overwritten with the local file contents whenever the etags differ. NOTE: the timestamp of a remote object is the time it was uploaded, not the original modification time of the file stored in that object. Unless 'include_hidden' is True, files beginning with an initial period are ignored.

If the 'delete' option is True, any objects in the container that do not have corresponding files in the local folder are deleted.

-

You can selectively ignore files by passing either a single pattern or a list of patterns; these will be applied to the individual folder and file names, and any names that match any of the 'ignore' patterns will not be uploaded. The patterns should be standard *nix-style shell patterns; e.g., '*pyc' will ignore all files ending in 'pyc', such as 'program.pyc' and 'abcpyc'.

+

You can selectively ignore files by passing either a single pattern or a list of patterns; these will be applied to the individual folder and file names, and any names that match any of the 'ignore' patterns will not be uploaded. The patterns should be standard *nix-style shell patterns; e.g., '*pyc' will ignore all files ending in 'pyc', such as 'program.pyc' and 'abcpyc'.

+

If `object_prefix` is set it will be appended to the object name when it is checked and uploaded to the container. For example, if you use sync_folder_to_container("folderToSync/", myContainer, object_prefix="imgFolder") it will upload the files to the container/imgFolder/... instead of just container/...

+

Set `verbose` to True to make it print what is going on. It will show which files are being uploaded and which ones are not and why.

@@ -2668,7 +2682,7 @@ diff --git a/docs/html/classpyrax_1_1client_1_1BaseClient-members.html b/docs/html/classpyrax_1_1client_1_1BaseClient-members.html index ba11958a..b4eb908a 100644 --- a/docs/html/classpyrax_1_1client_1_1BaseClient-members.html +++ b/docs/html/classpyrax_1_1client_1_1BaseClient-members.html @@ -101,6 +101,7 @@ get_limitsBaseClient get_timingsBaseClient http_log_debugBaseClient + identityBaseClient listBaseClient management_urlBaseClient method_deleteBaseClient @@ -140,7 +141,7 @@ diff --git a/docs/html/classpyrax_1_1client_1_1BaseClient.html b/docs/html/classpyrax_1_1client_1_1BaseClient.html index 6509781b..8b2e2882 100644 --- a/docs/html/classpyrax_1_1client_1_1BaseClient.html +++ b/docs/html/classpyrax_1_1client_1_1BaseClient.html @@ -175,6 +175,7 @@

Public Attributes

 versionidentity  region_name  endpoint_type  service_name @@ -202,6 +203,12 @@   self, + + + +   + identity, + @@ -212,7 +219,7 @@   - endpoint_type = "publicURL", + endpoint_type = None, @@ -864,6 +871,19 @@
+
+ + +
+
+ + + + +
identity
+
+
+
@@ -1019,7 +1039,7 @@ diff --git a/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageClient-members.html b/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageClient-members.html index efd84a65..0562c9f0 100644 --- a/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageClient-members.html +++ b/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageClient-members.html @@ -104,8 +104,10 @@ findallBaseClient getBaseClient get_limitsBaseClient + get_snapshotCloudBlockStorageClient get_timingsBaseClient http_log_debugBaseClient + identityBaseClient listBaseClient list_snapshotsCloudBlockStorageClient list_typesCloudBlockStorageClient @@ -126,6 +128,8 @@ timesBaseClient timingsBaseClient unauthenticateBaseClient + updateCloudBlockStorageClient + update_snapshotCloudBlockStorageClient user_agentBaseClient [static] verify_sslBaseClient versionBaseClient @@ -147,7 +151,7 @@ diff --git a/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageClient.html b/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageClient.html index 7f0626e0..aae1d99e 100644 --- a/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageClient.html +++ b/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageClient.html @@ -134,10 +134,16 @@  Detaches the volume from whatever device it is attached to.
def delete_volume  Deletes the volume.
+def update + Update the specified values on the specified volume.
def create_snapshot  Creates a snapshot of the volume, with an optional name and description.
+def get_snapshot + Returns the snapshot with the specified snapshot ID value.
def delete_snapshot  Deletes the snapshot.
+def update_snapshot + Update the specified values on the specified snapshot.

Static Public Attributes

string name = "Cloud Block Storage" @@ -325,6 +331,35 @@

Detaches the volume from whatever device it is attached to.

+ + + +
+
+ + + + + + + + + + + + + + + + + + +
def get_snapshot ( self,
 snapshot 
)
+
+
+ +

Returns the snapshot with the specified snapshot ID value.

+
@@ -363,6 +398,90 @@

Returns a list of all available volume types.

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def update ( self,
 volume,
 display_name = None,
 display_description = None 
)
+
+
+ +

Update the specified values on the specified volume.

+

You may specify one or more values to update.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def update_snapshot ( self,
 snapshot,
 display_name = None,
 display_description = None 
)
+
+
+ +

Update the specified values on the specified snapshot.

+

You may specify one or more values to update.

+

Member Data Documentation

@@ -402,7 +521,7 @@ diff --git a/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageManager-members.html b/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageManager-members.html index dc17c7e1..4bf657f0 100644 --- a/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageManager-members.html +++ b/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageManager-members.html @@ -108,6 +108,7 @@ resource_classBaseManager [static] response_keyBaseManager [static] run_hooksBaseManager + updateCloudBlockStorageManager uri_baseBaseManager [static] @@ -127,7 +128,7 @@ diff --git a/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageManager.html b/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageManager.html index 4284e6b3..03e1366c 100644 --- a/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageManager.html +++ b/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageManager.html @@ -125,6 +125,8 @@ Public Member Functions def create  Catches errors that may be returned, and raises more informational exceptions.
+def update + Update the specified values on the specified volume.
def list_snapshots  Pass-through method to allow the list_snapshots() call to be made directly on a volume.
def create_snapshot @@ -232,6 +234,48 @@

Pass-through method to allow the list_snapshots() call to be made directly on a volume.

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def update ( self,
 volume,
 display_name = None,
 display_description = None 
)
+
+
+ +

Update the specified values on the specified volume.

+

You may specify one or more values to update.

+

The documentation for this class was generated from the following file: