diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 55ba10d5..458848ee 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,5 +1,35 @@ # Release Notes for pyrax +###2013.10.24 - Version 1.6.0 + - New: + - Added support for **Cloud Queues** (Marconi). + - Cloud Files: + - Fixed an issue where the `last_modified` datetime values for Cloud Files + storage_objects were returned inconsistently. + - Added ability to cache `temp_url_key`. GitHub #221 + - Added ability to do partial downloads. GitHub #150 + - Fixed an issue where calling `delete_object_in_seconds()` deleted existing + metadata. GitHub #135 + - Cloud Databases: + - Added missing pagination parameters to several methods. GitHub #226 + - Cloud DNS: + - Changed the `findall()` method to be case-insensitive. + - Fixed some error-handling issues. GitHub #219 + - Auto Scale: + - Added code to force 'flavor' arguments to `str` type. + - Fixed creation/retrieval of webhooks with policy ID. + - Added several replacement methods for configurations. + - Load Balancers: + - Removed requirement that nodes be passed when creating a load balancer. + GitHub #222 + - Testing: + - Improved the smoketest.py integrated test script by adding more services. + - Fixed the smoketest to work when running in multiple regions that don't + all offer the same services. + - General: + - Refactored the `_create_body()` method from the `BaseClient` class to the + `BaseManager` class. + ###2013.10.04 - Version 1.5.1 - Pyrax in general: - Moved the `get_limits()` behavior to the base client (Nate House) diff --git a/docs/autoscaling.md b/docs/autoscaling.md index e87c471f..50771c65 100644 --- a/docs/autoscaling.md +++ b/docs/autoscaling.md @@ -1,30 +1,30 @@ -# Autoscaling +# Auto Scale ## Basic Concepts -Autoscale is a service that enables you to scale your application by adding or removing servers based on monitoring events, a schedule, or arbitrary webhooks. +Auto Scale is a service that enables you to scale your application by adding or removing servers based on monitoring events, a schedule, or arbitrary webhooks. Please note that _this is a Rackspace-specific service_. It is not available in any other OpenStack cloud, so if you add it to your application, keep the code isolated if you need to run your application on non-Rackspace clouds. -Autoscale functions by linking three services: +Auto Scale functions by linking three services: * Monitoring (such as Monitoring as a Service) -* Autoscale API +* Auto Scale API * Servers and Load Balancers ## Workflow -An Autoscaling group is monitored by Rackspace Cloud Monitoring. When Monitoring triggers an alarm for high utilization within the Autoscaling group, a webhook is triggered. The webhook calls the autoscale service, which consults a policy in accordance with the webhook. The policy determines how many additional Cloud Servers should be added or removed in accordance with the alarm. +A _scaling group_ is monitored by Rackspace Cloud Monitoring. When Monitoring triggers an alarm for high utilization within the scaling group, a webhook is triggered. The webhook calls the Auto Scale service, which consults a policy in accordance with the webhook. The policy determines how many additional Cloud Servers should be added or removed in accordance with the alarm. -Alarms may trigger scaling up or scaling down. Scale down events always remove the oldest server in the group. +Alarms may trigger scaling up or scaling down. Scale-down events always remove the oldest server in the group. Cooldowns allow you to ensure that you don't scale up or down too fast. When a scaling policy runs, both the scaling policy cooldown and the group cooldown start. Any additional requests to the group are discarded while the group cooldown is active. Any additional requests to the specific policy are discarded when the policy cooldown is active. -It is important to remember that Autoscale does not configure anything within a server. This means that all images should be self-provisioning. It is up to you to make sure that your services are configured to function properly when the server is started. We recommend using something like Chef, Salt, or Puppet. +It is important to remember that Auto Scale does not configure anything within a server. This means that all images should be self-provisioning. It is up to you to make sure that your services are configured to function properly when the server is started. We recommend using something like Chef, Salt, or Puppet. -## Using Autoscaling in pyrax -Once you have authenticated, you can reference the Autoscaling service via `pyrax.autoscale`. That is a lot to type over and over in your code, so it is easier if you include the following line at the beginning of your code: +## Using Auto Scale in pyrax +Once you have authenticated, you can reference the Auto Scale service via `pyrax.autoscale`. That is a lot to type again and again in your code, so it is easier if you include the following line at the beginning of your code: au = pyrax.autoscale @@ -32,10 +32,10 @@ Then you can simply use the alias `au` to reference the service. All of the code ## The Scaling Group -The **Scaling Group** is the basic unit of Autoscaling. It determines the minimum and maximum number of servers that exist at any time for the group, the cooldown period between Autoscaling events, the configuration for each new server, the load balancer to add these servers to (optional), and any policies that are used for this group. +The **scaling group** is the basic unit of Auto Scale. It determines the minimum and maximum number of servers that exist at any time for the group, the cooldown period between scaling events, the configuration for each new server, the load balancer to add these servers to (optional), and any policies that are used for this group. ### Listing Your Scaling Groups -The `list()` method displays all the Scaling Groups currently defined in your account: +The `list()` method displays all the scaling groups currently defined in your account: print au.list() @@ -50,7 +50,7 @@ This returns a list of `ScalingGroup` objects: pendingCapacity=0, name=SecondTest, cooldown=90, metadata={}, min_entities=2, max_entities=5>] -To see the [launch configuration](#launch-configuration) for a group, call the `get_launch_config()` method: +To see the [launch configuration](#launch_configuration) for a group, call the `get_launch_config()` method: groups = au.list() group = groups[0] @@ -87,8 +87,8 @@ The `active` key holds a list of the IDs of the servers created as part of this Key | Respresents ---- | ---- -**active_capacity** | The number of active servers that are part of this scaling group -**desired_capacity** | The target number of servers for this scaling group, based on the combination of configuration settings and monitoring alarm responses +**active_capacity** | The number of active servers that are part of this scaling group. +**desired_capacity** | The target number of servers for this scaling group, based on the combination of configuration settings and monitoring alarm responses. **pending_capacity** | The number of servers which are in the process of being created (when positive) or destroyed (when negative). ### Pausing a Scaling Group's Policies @@ -113,9 +113,9 @@ To create a scaling group, you call the `create()` method of the client with the disk_config="AUTO", metadata={"mykey": "myvalue"}, load_balancers=(1234, 80)) -This creates the Scaling Group with the name "MyScalingGroup", and returns a `ScalingGroup` object representing the new group. Since the `min_entities` is 2, it immediately creates 2 servers for the group, based on the image whose ID is in the variable `my_image_id`. When they are created, they are then added to the load balancer whose ID is `1234`, and receive requests on port 80. +This creates the scaling group with the name "MyScalingGroup", and returns a `ScalingGroup` object representing the new group. Since the `min_entities` is 2, it immediately creates 2 servers for the group, based on the image whose ID is in the variable `my_image_id`. When they are created, they are then added to the load balancer whose ID is `1234`, and receive requests on port 80. -Note that the `server_name` parameter represents a base string to which Autoscale prepends a 10-character prefix to create a unique name for each server. The prefix always begins with 'as' and is followed by 8 random hex digits. For example, if you set the server_name to 'testgroup', and the scaling group creates 3 servers, their names would look like these: +Note that the `server_name` parameter represents a base string to which Auto Scale prepends a 10-character prefix to create a unique name for each server. The prefix always begins with 'as' and is followed by 8 random hex digits and a dash (-). For example, if you set the server_name to 'testgroup', and the scaling group creates 3 servers, their names would look like these: as5defddd4-testgroup as92e512fe-testgroup @@ -125,16 +125,16 @@ Note that the `server_name` parameter represents a base string to which Autoscal Parameter | Required | Default | Notes ---- | ---- | ---- | ---- **name** | yes | | -**cooldown** | yes | | Period in seconds after a scaling event in which further events are ignored +**cooldown** | yes | | Period in seconds after a scaling event in which further events are ignored. **min_entities** | yes | | **max_entities** | yes | | -**launch_config_type** | yes | | Only option currently is`launch_server` -**flavor** | yes | | Flavor to use for each server that is launched +**launch_config_type** | yes | | Only option currently is `launch_server`. +**flavor** | yes | | Flavor to use for each server that is launched. **server_name** | yes | | The base name for servers created by Autoscale. **image** | yes | | Either a Cloud Servers Image object, or its ID. This is the image that all new servers are created from. **disk_config** | no | MANUAL | Determines if the server's disk is partitioned to the full size of the flavor ('AUTO') or just to the size of the image ('MANUAL'). **metadata** | no | | Arbitrary key-value pairs you want to associate with your servers. -**personality** | no | | Small text files that are created on the new servers. _Personality_ is discussed in the [Rackspace Cloud Servers documentation](http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Server_Personality-d1e2543.html) +**personality** | no | | Small text files that are created on the new servers. _Personality_ is discussed in the [Rackspace Cloud Servers documentation](http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Server_Personality-d1e2543.html). **networks** | no | | The networks to which you want to attach new servers. See the [Create Servers documentation](http://docs.rackspace.com/servers/api/v2/cs-devguide/content/CreateServers.html) for the required format. **load_balancers** | no | | Either a list of (id, port) tuples or a single such tuple, representing the loadbalancer(s) to add the new servers to. **scaling_policies** | no | | You can define the scaling policies when you create the group, or add them later. @@ -144,11 +144,11 @@ You can modify the settings for a scaling group by calling its `update()` method sg.update(cooldown=120, max_entities=16) -where `sg` is a reference to the scaling group. Similarly, you can make the call on the autoscale client itself, passing in the reference to the scaling group you wish to update: +where `sg` is a reference to the scaling group. Similarly, you can make the call on the Auto Scale client itself, passing in the reference to the scaling group you wish to update: au.update(sg, cooldown=120, max_entities=16) -**Note**: If you pass any metadata values in this call, it must be the full set of metadata for the Scaling Group, since the underlying API call **overwrites** any existing metadata. If you simply wish to update an existing metadata key, or add a new key/value pair, you must call the `update_metadata(new_meta)` method instead. This call preserves your existing key/value pairs, and only updates it with your changes. +**Note**: If you pass any metadata values in this call, it must be the full set of metadata for the scaling group, since the underlying API call **overwrites** any existing metadata. If you simply wish to update an existing metadata key, or add a new key/value pair, you must call the `update_metadata(new_meta)` method instead. This call preserves your existing key/value pairs, and only updates it with your changes. ### Deleting a Scaling Group To remove a scaling group, call its `delete()` method: @@ -166,10 +166,10 @@ Note: you cannot delete a scaling group that has active servers in it. You must Once the servers are deleted you can then delete the scaling group. -## Launch Configurations +## Launch Configurations Each scaling group has an associated **launch configuration**. This determines the properties of servers that are created in response to a scaling event. -The `server_name` represents a base string to which Autoscale prepends a 10-character prefix. The prefix always begins with 'as' and is followed by 8 random hex digits. For example, if you set the `server_name` to 'testgroup', and the scaling group creates 3 servers, their names would look like these: +The `server_name` represents a base string to which Auto Scale prepends a 10-character prefix. The prefix always begins with 'as' and is followed by 8 random hex digits and a dash (-). For example, if you set the `server_name` to 'testgroup', and the scaling group creates 3 servers, their names would look like these: as5defddd4-testgroup as92e512fe-testgroup @@ -186,11 +186,11 @@ You can also modify the launch configuration for your scaling group by calling t sg.update_launch_config(image=new_image_id) -You may also make the call on the autoscale client itself, passing in the scaling group you want to modify: +You may also make the call on the Auto Scale client itself, passing in the scaling group you want to modify: au.update_launch_config(sg, image=new_image_id) -**Note**: If you pass any metadata values in this call, it must be the full set of metadata for the Launch Configuration, since the underlying API call **overwrites** any existing metadata. If you simply wish to update an existing metadata key in your launch configuration, or add a new key/value pair, you must call the `update_launch_metadata()` method instead. This call preserves your existing key/value pairs, and only updates with your changes. +**Note**: If you pass any metadata values in this call, it must be the full set of metadata for the launch configuration, since the underlying API call **overwrites** any existing metadata. If you simply wish to update an existing metadata key in your launch configuration, or add a new key/value pair, you must call the `update_launch_metadata()` method instead. This call preserves your existing key/value pairs, and only updates with your changes. ## Policies @@ -217,7 +217,7 @@ To add a policy to a scaling group, call the `add_policy()` method: Parameter | Required | Default | Notes ---- | ---- | ---- | ---- **name** | yes | | -**policy_type** | yes | | Only available type now is 'webhook' +**policy_type** | yes | | Only available type now is 'webhook'. **cooldown** | yes | | Period in seconds after a policy execution in which further events are ignored. This is separate from the overall cooldown for the scaling group. **change** | yes | | Can be positive or negative, which makes this a scale-up or scale-down policy, respectively. **is_percent** | no | False | Determines whether the value passed in the `change` parameter is interpreted an absolute number, or a percentage. @@ -227,7 +227,7 @@ You may update a policy at any time, passing in any or all of the above paramete policy.update(cooldown=60, change=-3) -You may also call the `update_policy()` method of either the scaling group for this policy, or the autoscale client itself. Either of the following two calls is equivalent to the call above: +You may also call the `update_policy()` method of either the scaling group for this policy, or the Auto Scale client itself. Either of the following two calls is equivalent to the call above: sg.update_policy(policy, cooldown=60, change=-3) # or @@ -286,7 +286,7 @@ You may update a webhook at any time to change either its name or its metadata: webhook.update(name="something_new", metadata={"owner": "webteam"}) -You may also call the `update_webhook()` method of either the policy for this webhook, or the scaling group for that policy, or the autoscale client itself. Any of the following calls is equivalent to the call above: +You may also call the `update_webhook()` method of either the policy for this webhook, or the scaling group for that policy, or the Auto Scale client itself. Any of the following calls is equivalent to the call above: policy.update_webhook(webhook, name="something_new", metadata={"owner": "webteam"}) @@ -297,7 +297,7 @@ You may also call the `update_webhook()` method of either the policy for this we au.update_webhook(sg, policy, webhook, name="something_new", metadata={"owner": "webteam"}) -**Note**: If you pass any metadata values in this call, it must be the full set of metadata for the Webhook, since the underlying API call **overwrites** any existing metadata. If you simply wish to update an existing metadata key, or add a new key/value pair, you must call the `webhook.update_metadata(new_meta)` method instead (or the corresponding `au.update_webhook_metadata(sg, policy, webhook, new_meta)`). This call preserves your existing key/value pairs, and only updates it with your changes. +**Note**: If you pass any metadata values in this call, it must be the full set of metadata for the webhook, since the underlying API call **overwrites** any existing metadata. If you simply wish to update an existing metadata key, or add a new key/value pair, you must call the `webhook.update_metadata(new_meta)` method instead (or the corresponding `au.update_webhook_metadata(sg, policy, webhook, new_meta)`). This call preserves your existing key/value pairs, and only updates it with your changes. ### Deleting a webhook When you wish to remove a webhook, call its `delete()` method: @@ -312,10 +312,3 @@ You can also call the `delete_webhook()` method of the webhook's policy, or the # or au.delete_webhook(sg, policy, webhook) - - - - - - - diff --git a/docs/cloud_loadbalancers.md b/docs/cloud_loadbalancers.md index f104c3d4..c0c09636 100644 --- a/docs/cloud_loadbalancers.md +++ b/docs/cloud_loadbalancers.md @@ -9,7 +9,7 @@ Once you have authenticated and connected to the load balancer service, you can For the sake of brevity and convenience, it is common to define abbreviated aliases for the modules. All the code in the document assumes that at the top of your script, you have added the following lines: - clb = pyrax.cloudloadbalancers + clb = pyrax.cloud_loadbalancers cs = pyrax.cloudservers @@ -149,7 +149,7 @@ DNS_TCP | This protocol works with IPv6 and allows your DNS server to receive tr DNS_UDP | This protocol works with IPv6 and allows your DNS server to receive traffic using UDP port 53. FTP | The File Transfer Protocol defines how files are transported over the Internet. It is typically used when downloading or uploading files to or from web servers. HTTP | The Hypertext Transfer Protocol defines how communications occur on the Internet between clients and web servers. For example, if you request a web page in your browser, HTTP defines how the web server fetches the page and returns it your browser. -HTTPS | The Hypertext Transfer Protocol over Secure Socket Layer (SSL) provides encrypted communication over the Internet. It securely verifies the authenticity of the web server you are communicating with. +HTTPS | The Hypertext Transfer Protocol over Secure Socket Layer (SSL) provides encrypted communication over the Internet. It securely verifies the authenticity of the web server you are communicating with. IMAPS | The Internet Message Application Protocol over Secure Socket Layer (SSL) defines how an email client, such as Microsoft Outlook, retrieves and transfers email messages with a mail server. IMAPv2 | Version 2 of IMAPS. IMAPv3 | Version 3 of IMAPS. @@ -163,7 +163,7 @@ SFTP | The SSH File Transfer Protocol is a secure file transfer and management p SMTP | The Simple Mail Transfer Protocol is used by electronic mail servers to send and receive email messages. Email clients use this protocol to relay messages to another computer or web server, but use IMAP or POP to send and receive messages. TCP | The Transmission Control Protocol is a part of the Transport Layer protocol and is one of the core protocols of the Internet Protocol Suite. It provides a reliable, ordered delivery of a stream of bytes from one program on a computer to another program on another computer. Applications that require an ordered and reliable delivery of packets use this protocol. TCP_CLIE (TCP_CLIENT_FIRST) | This protocol is similiar to TCP, but is more efficient when a client is expected to write the data first. -UDP | The User Datagram Protocol provides a datagram service that emphasizes speed over reliability, It works well with applications that provide security through other measures. +UDP | The User Datagram Protocol provides a datagram service that emphasizes speed over reliability, It works well with applications that provide security through other measures. UDP_STRE (UDP_STREAM) | This protocol is designed to stream media over networks and is built on top of UDP. diff --git a/docs/cloud_servers.md b/docs/cloud_servers.md index 74a09818..b96249e7 100644 --- a/docs/cloud_servers.md +++ b/docs/cloud_servers.md @@ -2,6 +2,8 @@ ---- +*Note: pyrax works with OpenStack-based clouds. Rackspace's "First Generation" servers are based on a different API, and are not supported.* + ## Listing Servers Start by listing all the servers in your account: diff --git a/docs/getting_started.md b/docs/getting_started.md index c92c2ad0..61ae434e 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -4,7 +4,7 @@ ## Getting Started With pyrax -**pyrax** is the Python language binding for **OpenStack** and the **Rackspace Cloud**. By installing pyrax, you have the ability to build on any OpenStack cloud using standard Python objects and code. +**pyrax** is the Python language binding for **OpenStack** and the **Rackspace Cloud**. By installing pyrax, you have the ability to build on any OpenStack cloud using standard Python objects and code. *Note: since pyrax works with the OpenStack API, it does not support Rackspace's "First Generation" Cloud Servers, which are based on a different technology.* ## Prerequisites diff --git a/docs/html/____init_____8py.html b/docs/html/____init_____8py.html index f426e001..36c61fc6 100644 --- a/docs/html/____init_____8py.html +++ b/docs/html/____init_____8py.html @@ -143,6 +143,8 @@  Creates a client for working with cloud monitoring.
def connect_to_autoscale  Creates a client for working with AutoScale.
+def connect_to_queues + Creates a client for working with Queues.
def get_http_debug def set_http_debug def get_encoding @@ -161,6 +163,7 @@  cloud_networks = None  cloud_monitoring = None  autoscale = None + queues = None  default_region = None string default_encoding = "utf-8" dictionary settings = {} @@ -192,7 +195,7 @@ diff --git a/docs/html/annotated.html b/docs/html/annotated.html index 600d96d8..6d780430 100644 --- a/docs/html/annotated.html +++ b/docs/html/annotated.html @@ -96,6 +96,7 @@ BaseAuthThis class handles all of the basic authentication requirements for working with an OpenStack Cloud system BaseClientThe base class for all pyrax clients 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) BulkDeleterThreading class to allow for bulk deletion of objects from a container CDNFailed @@ -151,6 +152,7 @@ DomainRecordUpdateFailed DomainResultsIteratorResultsIterator subclass for iterating over all domains DomainUpdateFailed + DuplicateQueue DuplicateUser EndpointNotDefined EndpointNotFound @@ -178,6 +180,7 @@ InvalidNodeCondition InvalidNodeParameters InvalidPTRRecord + InvalidQueueName InvalidSessionPersistenceType InvalidSetting InvalidSize @@ -191,6 +194,7 @@ KeyringUsernameMissing KeystoneIdentityImplements the Keystone-specific behaviors for Identity MissingAuthSettings + MissingClaimParameters MissingDNSSettings MissingHealthMonitorSettings MissingLoadBalancerParameters @@ -226,6 +230,14 @@ PTRRecordDeletionFailed PTRRecordUpdateFailed PyraxException + QueueThis class represents a Queue + QueueClaimThis class represents a Claim for a Message posted by a consumer + QueueClaimManagerManager class for a Queue Claims + QueueClientThis is the primary class for interacting with Cloud Queues + QueueClientIDNotDefined + QueueManagerManager class for a Queue + QueueMessageThis class represents a Message posted to a Queue + QueueMessageManagerManager class for a Queue Message 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 @@ -271,7 +283,7 @@ diff --git a/docs/html/cf__wrapper_2client_8py.html b/docs/html/cf__wrapper_2client_8py.html index a32c225d..00b17466 100644 --- a/docs/html/cf__wrapper_2client_8py.html +++ b/docs/html/cf__wrapper_2client_8py.html @@ -101,12 +101,12 @@

Functions

def handle_swiftclient_exception - Swiftclient often leaves the connection open.

Variables

string EARLY_DATE_STR = "1900-01-01T00:00:00" string DATE_FORMAT = "%Y-%m-%dT%H:%M:%S" string HEAD_DATE_FORMAT = "%a, %d %b %Y %H:%M:%S %Z" +string LIST_DATE_FORMAT = "%Y-%m-%dT%H:%M:%S.%f" int CONNECTION_TIMEOUT = 20 int CONNECTION_RETRIES = 5 int AUTH_ATTEMPTS = 2 @@ -133,7 +133,7 @@ diff --git a/docs/html/classes.html b/docs/html/classes.html index eb05cd19..8f6fa13b 100644 --- a/docs/html/classes.html +++ b/docs/html/classes.html @@ -82,74 +82,76 @@
Class Index
-
A | B | C | D | E | F | H | I | K | M | N | O | P | R | S | T | U | V | _
+
A | B | C | D | E | F | H | I | K | M | N | O | P | Q | R | S | T | U | V | _
- - + + - - - - - - - - - - - - + + + + - - - + + + + + + + + + + + - - - - - - - - - + + + - - - - - - + + + + + + + + - + + + + + - - - - - - - - - + + + + + +
  A  
-
CloudDNSRecord (pyrax.clouddns)   FileNotFound (pyrax.exceptions)   MissingDNSSettings (pyrax.exceptions)   RecordResultsIterator (pyrax.clouddns)   
CloudLoadBalancer (pyrax.cloudloadbalancers)   FlavorNotFound (pyrax.exceptions)   MissingHealthMonitorSettings (pyrax.exceptions)   ResultsIterator (pyrax.clouddns)   
AccessListIDNotFound (pyrax.exceptions)   CloudLoadBalancerClient (pyrax.cloudloadbalancers)   FolderNotFound (pyrax.exceptions)   MissingLoadBalancerParameters (pyrax.exceptions)   
  S  
+
CloudLoadBalancerClient (pyrax.cloudloadbalancers)   Forbidden (pyrax.exceptions)   MissingMonitoringCheckGranularity (pyrax.exceptions)   QueueMessage (pyrax.queueing)   
CloudLoadBalancerManager (pyrax.cloudloadbalancers)   
  H  
+
MissingName (pyrax.exceptions)   QueueMessageManager (pyrax.queueing)   
AccessListIDNotFound (pyrax.exceptions)   CloudMonitorAlarm (pyrax.cloudmonitoring)   MissingTemporaryURLKey (pyrax.exceptions)   
  R  
AmbiguousEndpoints (pyrax.exceptions)   CloudLoadBalancerManager (pyrax.cloudloadbalancers)   FolderUploader (pyrax.cf_wrapper.client)   MissingMonitoringCheckDetails (pyrax.exceptions)   
AuthenticationFailed (pyrax.exceptions)   CloudMonitorAlarm (pyrax.cloudmonitoring)   Forbidden (pyrax.exceptions)   MissingMonitoringCheckGranularity (pyrax.exceptions)   ScalingGroup (pyrax.autoscale)   
AuthorizationFailure (pyrax.exceptions)   CloudMonitorCheck (pyrax.cloudmonitoring)   
  H  
-
MissingName (pyrax.exceptions)   ScalingGroupManager (pyrax.autoscale)   
AuthSystemNotFound (pyrax.exceptions)   CloudMonitorCheckType (pyrax.cloudmonitoring)   MissingTemporaryURLKey (pyrax.exceptions)   SelfDeletingTempDirectory (pyrax.utils)   
AutoScaleClient (pyrax.autoscale)   CloudMonitorClient (pyrax.cloudmonitoring)   HTTPNotImplemented (pyrax.exceptions)   MonitoringCheckTargetNotSpecified (pyrax.exceptions)   SelfDeletingTempfile (pyrax.utils)   
AutoScalePolicy (pyrax.autoscale)   CloudMonitorEntity (pyrax.cloudmonitoring)   
  I  
-
MonitoringZonesPollMissing (pyrax.exceptions)   ServiceCatalog (pyrax.service_catalog)   
AutoScaleWebhook (pyrax.autoscale)   CloudMonitorEntityManager (pyrax.cloudmonitoring)   
  N  
-
ServiceNotAvailable (pyrax.exceptions)   
  B  
-
CloudMonitorNotification (pyrax.cloudmonitoring)   IdentityClassNotDefined (pyrax.exceptions)   Settings (pyrax)   
CloudMonitorNotificationManager (pyrax.cloudmonitoring)   InvalidCDNMetadata (pyrax.exceptions)   NetworkCIDRInvalid (pyrax.exceptions)   SnapshotNotAvailable (pyrax.exceptions)   
BadRequest (pyrax.exceptions)   CloudMonitorNotificationPlan (pyrax.cloudmonitoring)   InvalidConfigurationFile (pyrax.exceptions)   NetworkCIDRMalformed (pyrax.exceptions)   StorageObject (pyrax::cf_wrapper::storage_object)   
BaseAuth (pyrax.base_identity)   CloudMonitorNotificationPlanManager (pyrax.cloudmonitoring)   InvalidCredentialFile (pyrax.exceptions)   NetworkCountExceeded (pyrax.exceptions)   SubdomainResultsIterator (pyrax.clouddns)   
BaseClient (pyrax.client)   CloudMonitorNotificationType (pyrax.cloudmonitoring)   InvalidDateTimeString (pyrax.exceptions)   NetworkInUse (pyrax.exceptions)   
  T  
+
AmbiguousEndpoints (pyrax.exceptions)   CloudMonitorCheck (pyrax.cloudmonitoring)   HTTPNotImplemented (pyrax.exceptions)   MonitoringCheckTargetNotSpecified (pyrax.exceptions)   
AuthenticationFailed (pyrax.exceptions)   CloudMonitorCheckType (pyrax.cloudmonitoring)   
  I  
+
MonitoringZonesPollMissing (pyrax.exceptions)   RaxIdentity (pyrax.identity.rax_identity)   
AuthorizationFailure (pyrax.exceptions)   CloudMonitorClient (pyrax.cloudmonitoring)   
  N  
+
RecordResultsIterator (pyrax.clouddns)   
AuthSystemNotFound (pyrax.exceptions)   CloudMonitorEntity (pyrax.cloudmonitoring)   IdentityClassNotDefined (pyrax.exceptions)   ResultsIterator (pyrax.clouddns)   
AutoScaleClient (pyrax.autoscale)   CloudMonitorEntityManager (pyrax.cloudmonitoring)   InvalidCDNMetadata (pyrax.exceptions)   NetworkCIDRInvalid (pyrax.exceptions)   
  S  
BaseManager (pyrax.manager)   CloudMonitorZone (pyrax.cloudmonitoring)   InvalidDeviceType (pyrax.exceptions)   NetworkLabelNotUnique (pyrax.exceptions)   
BaseResource (pyrax.resource)   CloudNetwork (pyrax.cloudnetworks)   InvalidEmail (pyrax.exceptions)   NetworkNotFound (pyrax.exceptions)   Tenant (pyrax.base_identity)   
BulkDeleter (pyrax.cf_wrapper.client)   CloudNetworkClient (pyrax.cloudnetworks)   InvalidLoadBalancer (pyrax.exceptions)   Node (pyrax.cloudloadbalancers)   TenantNotFound (pyrax.exceptions)   
AutoScalePolicy (pyrax.autoscale)   CloudMonitorNotification (pyrax.cloudmonitoring)   InvalidConfigurationFile (pyrax.exceptions)   NetworkCIDRMalformed (pyrax.exceptions)   
AutoScaleWebhook (pyrax.autoscale)   CloudMonitorNotificationManager (pyrax.cloudmonitoring)   InvalidCredentialFile (pyrax.exceptions)   NetworkCountExceeded (pyrax.exceptions)   ScalingGroup (pyrax.autoscale)   
  B  
+
CloudMonitorNotificationPlan (pyrax.cloudmonitoring)   InvalidDateTimeString (pyrax.exceptions)   NetworkInUse (pyrax.exceptions)   ScalingGroupManager (pyrax.autoscale)   
CloudMonitorNotificationPlanManager (pyrax.cloudmonitoring)   InvalidDeviceType (pyrax.exceptions)   NetworkLabelNotUnique (pyrax.exceptions)   SelfDeletingTempDirectory (pyrax.utils)   
BadRequest (pyrax.exceptions)   CloudMonitorNotificationType (pyrax.cloudmonitoring)   InvalidEmail (pyrax.exceptions)   NetworkNotFound (pyrax.exceptions)   SelfDeletingTempfile (pyrax.utils)   
BaseAuth (pyrax.base_identity)   CloudMonitorZone (pyrax.cloudmonitoring)   InvalidLoadBalancer (pyrax.exceptions)   Node (pyrax.cloudloadbalancers)   ServiceCatalog (pyrax.service_catalog)   
BaseClient (pyrax.client)   CloudNetwork (pyrax.cloudnetworks)   InvalidLoadBalancerParameters (pyrax.exceptions)   NoMoreResults (pyrax.exceptions)   ServiceNotAvailable (pyrax.exceptions)   
BaseManager (pyrax.manager)   CloudNetworkClient (pyrax.cloudnetworks)   InvalidMonitoringCheckDetails (pyrax.exceptions)   NoReloadError (pyrax.exceptions)   Settings (pyrax)   
BaseQueueManager (pyrax.queueing)   CloudNetworkManager (pyrax.cloudnetworks)   InvalidMonitoringCheckUpdate (pyrax.exceptions)   NoSSLTerminationConfiguration (pyrax.exceptions)   SnapshotNotAvailable (pyrax.exceptions)   
BaseResource (pyrax.resource)   Connection (pyrax.cf_wrapper.client)   InvalidMonitoringMetricsRequest (pyrax.exceptions)   NoSuchContainer (pyrax.exceptions)   StorageObject (pyrax::cf_wrapper::storage_object)   
BulkDeleter (pyrax.cf_wrapper.client)   Container (pyrax.cf_wrapper.container)   InvalidMonitoringMetricsResolution (pyrax.exceptions)   NoSuchDatabase (pyrax.exceptions)   SubdomainResultsIterator (pyrax.clouddns)   
  C  
-
CloudNetworkManager (pyrax.cloudnetworks)   InvalidLoadBalancerParameters (pyrax.exceptions)   NoMoreResults (pyrax.exceptions)   
  U  
+
  D  
+
InvalidNodeCondition (pyrax.exceptions)   NoSuchDatabaseUser (pyrax.exceptions)   
  T  
Connection (pyrax.cf_wrapper.client)   InvalidMonitoringCheckDetails (pyrax.exceptions)   NoReloadError (pyrax.exceptions)   
CDNFailed (pyrax.exceptions)   Container (pyrax.cf_wrapper.container)   InvalidMonitoringCheckUpdate (pyrax.exceptions)   NoSSLTerminationConfiguration (pyrax.exceptions)   UnattachedNode (pyrax.exceptions)   
CFClient (pyrax.cf_wrapper.client)   
  D  
-
InvalidMonitoringMetricsRequest (pyrax.exceptions)   NoSuchContainer (pyrax.exceptions)   UnattachedVirtualIP (pyrax.exceptions)   
ClientException (pyrax.exceptions)   InvalidMonitoringMetricsResolution (pyrax.exceptions)   NoSuchDatabase (pyrax.exceptions)   Unauthorized (pyrax.exceptions)   
CloudBlockStorageClient (pyrax.cloudblockstorage)   DNSCallTimedOut (pyrax.exceptions)   InvalidNodeCondition (pyrax.exceptions)   NoSuchDatabaseUser (pyrax.exceptions)   UnicodePathError (pyrax.exceptions)   
CloudBlockStorageManager (pyrax.cloudblockstorage)   DomainCreationFailed (pyrax.exceptions)   InvalidNodeParameters (pyrax.exceptions)   NoSuchObject (pyrax.exceptions)   UploadFailed (pyrax.exceptions)   
CloudBlockStorageSnapshot (pyrax.cloudblockstorage)   DomainDeletionFailed (pyrax.exceptions)   InvalidPTRRecord (pyrax.exceptions)   NotAuthenticated (pyrax.exceptions)   User (pyrax.base_identity)   
CloudBlockStorageSnapshotManager (pyrax.cloudblockstorage)   DomainRecordAdditionFailed (pyrax.exceptions)   InvalidSessionPersistenceType (pyrax.exceptions)   NotCDNEnabled (pyrax.exceptions)   UserNotFound (pyrax.exceptions)   
CloudBlockStorageVolume (pyrax.cloudblockstorage)   DomainRecordDeletionFailed (pyrax.exceptions)   InvalidSetting (pyrax.exceptions)   NotFound (pyrax.exceptions)   
  V  
+
InvalidNodeParameters (pyrax.exceptions)   NoSuchObject (pyrax.exceptions)   
CDNFailed (pyrax.exceptions)   DNSCallTimedOut (pyrax.exceptions)   InvalidPTRRecord (pyrax.exceptions)   NotAuthenticated (pyrax.exceptions)   Tenant (pyrax.base_identity)   
CFClient (pyrax.cf_wrapper.client)   DomainCreationFailed (pyrax.exceptions)   InvalidQueueName (pyrax.exceptions)   NotCDNEnabled (pyrax.exceptions)   TenantNotFound (pyrax.exceptions)   
ClientException (pyrax.exceptions)   DomainDeletionFailed (pyrax.exceptions)   InvalidSessionPersistenceType (pyrax.exceptions)   NotFound (pyrax.exceptions)   
  U  
CloudBlockStorageVolumeType (pyrax.cloudblockstorage)   DomainRecordNotFound (pyrax.exceptions)   InvalidSize (pyrax.exceptions)   NoTokenLookupException (pyrax.exceptions)   
CloudDatabaseClient (pyrax.clouddatabases)   DomainRecordNotUnique (pyrax.exceptions)   InvalidTemporaryURLMethod (pyrax.exceptions)   NoUniqueMatch (pyrax.exceptions)   VirtualIP (pyrax.cloudloadbalancers)   
CloudDatabaseDatabase (pyrax.clouddatabases)   DomainRecordUpdateFailed (pyrax.exceptions)   InvalidUploadID (pyrax.exceptions)   
  O  
-
VolumeAttachmentFailed (pyrax.exceptions)   
CloudDatabaseDatabaseManager (pyrax.clouddatabases)   DomainResultsIterator (pyrax.clouddns)   InvalidVirtualIPType (pyrax.exceptions)   VolumeDetachmentFailed (pyrax.exceptions)   
CloudDatabaseFlavor (pyrax.clouddatabases)   DomainUpdateFailed (pyrax.exceptions)   InvalidVirtualIPVersion (pyrax.exceptions)   OverLimit (pyrax.exceptions)   VolumeNotAvailable (pyrax.exceptions)   
CloudDatabaseInstance (pyrax.clouddatabases)   DuplicateUser (pyrax.exceptions)   InvalidVolumeResize (pyrax.exceptions)   
  P  
-
  _  
+
CloudBlockStorageClient (pyrax.cloudblockstorage)   DomainRecordAdditionFailed (pyrax.exceptions)   InvalidSetting (pyrax.exceptions)   NoTokenLookupException (pyrax.exceptions)   
CloudBlockStorageManager (pyrax.cloudblockstorage)   DomainRecordDeletionFailed (pyrax.exceptions)   InvalidSize (pyrax.exceptions)   NoUniqueMatch (pyrax.exceptions)   UnattachedNode (pyrax.exceptions)   
CloudBlockStorageSnapshot (pyrax.cloudblockstorage)   DomainRecordNotFound (pyrax.exceptions)   InvalidTemporaryURLMethod (pyrax.exceptions)   
  O  
+
UnattachedVirtualIP (pyrax.exceptions)   
CloudBlockStorageSnapshotManager (pyrax.cloudblockstorage)   DomainRecordNotUnique (pyrax.exceptions)   InvalidUploadID (pyrax.exceptions)   Unauthorized (pyrax.exceptions)   
CloudBlockStorageVolume (pyrax.cloudblockstorage)   DomainRecordUpdateFailed (pyrax.exceptions)   InvalidVirtualIPType (pyrax.exceptions)   OverLimit (pyrax.exceptions)   UnicodePathError (pyrax.exceptions)   
CloudBlockStorageVolumeType (pyrax.cloudblockstorage)   DomainResultsIterator (pyrax.clouddns)   InvalidVirtualIPVersion (pyrax.exceptions)   
  P  
+
UploadFailed (pyrax.exceptions)   
CloudDatabaseClient (pyrax.clouddatabases)   DomainUpdateFailed (pyrax.exceptions)   InvalidVolumeResize (pyrax.exceptions)   User (pyrax.base_identity)   
CloudDatabaseDatabase (pyrax.clouddatabases)   DuplicateQueue (pyrax.exceptions)   
  K  
+
PasswordChangeFailed (pyrax.exceptions)   UserNotFound (pyrax.exceptions)   
CloudDatabaseDatabaseManager (pyrax.clouddatabases)   DuplicateUser (pyrax.exceptions)   ProtocolMismatch (pyrax.exceptions)   
  V  
CloudDatabaseManager (pyrax.clouddatabases)   
  E  
-
  K  
+
CloudDatabaseFlavor (pyrax.clouddatabases)   
  E  
+
KeyringModuleNotInstalled (pyrax.exceptions)   PTRRecordCreationFailed (pyrax.exceptions)   
CloudDatabaseInstance (pyrax.clouddatabases)   KeyringPasswordNotFound (pyrax.exceptions)   PTRRecordDeletionFailed (pyrax.exceptions)   VirtualIP (pyrax.cloudloadbalancers)   
CloudDatabaseManager (pyrax.clouddatabases)   EndpointNotDefined (pyrax.exceptions)   KeyringUsernameMissing (pyrax.exceptions)   PTRRecordUpdateFailed (pyrax.exceptions)   VolumeAttachmentFailed (pyrax.exceptions)   
CloudDatabaseUser (pyrax.clouddatabases)   EndpointNotFound (pyrax.exceptions)   KeystoneIdentity (pyrax.identity.keystone_identity)   PyraxException (pyrax.exceptions)   VolumeDetachmentFailed (pyrax.exceptions)   
CloudDatabaseUserManager (pyrax.clouddatabases)   EnvironmentNotFound (pyrax.exceptions)   
  M  
+
  Q  
+
VolumeNotAvailable (pyrax.exceptions)   
CloudDatabaseVolume (pyrax.clouddatabases)   
  F  
+
  _  
CloudDatabaseUser (pyrax.clouddatabases)   PasswordChangeFailed (pyrax.exceptions)   _WaitThread (pyrax.utils)   
CloudDatabaseUserManager (pyrax.clouddatabases)   EndpointNotDefined (pyrax.exceptions)   KeyringModuleNotInstalled (pyrax.exceptions)   ProtocolMismatch (pyrax.exceptions)   
CloudDatabaseVolume (pyrax.clouddatabases)   EndpointNotFound (pyrax.exceptions)   KeyringPasswordNotFound (pyrax.exceptions)   PTRRecordCreationFailed (pyrax.exceptions)   
CloudDNSClient (pyrax.clouddns)   EnvironmentNotFound (pyrax.exceptions)   KeyringUsernameMissing (pyrax.exceptions)   PTRRecordDeletionFailed (pyrax.exceptions)   
CloudDNSDomain (pyrax.clouddns)   
  F  
-
KeystoneIdentity (pyrax.identity.keystone_identity)   PTRRecordUpdateFailed (pyrax.exceptions)   
CloudDNSManager (pyrax.clouddns)   
  M  
-
PyraxException (pyrax.exceptions)   
CloudDNSPTRRecord (pyrax.clouddns)   Fault (pyrax.cf_wrapper.container)   
  R  
-
MissingAuthSettings (pyrax.exceptions)   
RaxIdentity (pyrax.identity.rax_identity)   
CloudDNSClient (pyrax.clouddns)   MissingAuthSettings (pyrax.exceptions)   Queue (pyrax.queueing)   
CloudDNSDomain (pyrax.clouddns)   Fault (pyrax.cf_wrapper.container)   MissingClaimParameters (pyrax.exceptions)   QueueClaim (pyrax.queueing)   _WaitThread (pyrax.utils)   
CloudDNSManager (pyrax.clouddns)   FileNotFound (pyrax.exceptions)   MissingDNSSettings (pyrax.exceptions)   QueueClaimManager (pyrax.queueing)   
CloudDNSPTRRecord (pyrax.clouddns)   FlavorNotFound (pyrax.exceptions)   MissingHealthMonitorSettings (pyrax.exceptions)   QueueClient (pyrax.queueing)   
CloudDNSRecord (pyrax.clouddns)   FolderNotFound (pyrax.exceptions)   MissingLoadBalancerParameters (pyrax.exceptions)   QueueClientIDNotDefined (pyrax.exceptions)   
CloudLoadBalancer (pyrax.cloudloadbalancers)   FolderUploader (pyrax.cf_wrapper.client)   MissingMonitoringCheckDetails (pyrax.exceptions)   QueueManager (pyrax.queueing)   
-
A | B | C | D | E | F | H | I | K | M | N | O | P | R | S | T | U | V | _
+
A | B | C | D | E | F | H | I | K | M | N | O | P | Q | R | S | T | U | V | _
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def replace ( self,
 scaling_group,
 name,
 cooldown,
 min_entities,
 max_entities,
 metadata = None 
)
+
+
+ +

Replace an existing ScalingGroup configuration.

+

All of the attributes must be specified. If you wish to delete any of the optional attributes, pass them in as None.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def replace_launch_config ( self,
 scaling_group,
 launch_config_type,
 server_name,
 image,
 flavor,
 disk_config = None,
 metadata = None,
 personality = None,
 networks = None,
 load_balancers = None,
 key_name = None 
)
+
+
+ +

Replace an existing launch configuration.

+

All of the attributes must be specified. If you wish to delete any of the optional attributes, pass them in as None.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def replace_policy ( self,
 scaling_group,
 policy,
 name,
 policy_type,
 cooldown,
 change = None,
 is_percent = False,
 desired_capacity = None,
 args = None 
)
+
+
+ +

Replace an existing policy.

+

All of the attributes must be specified. If you wish to delete any of the optional attributes, pass them in as None.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def replace_webhook ( self,
 scaling_group,
 policy,
 webhook,
 name,
 metadata = None 
)
+
+
+ +

Replace an existing webhook.

+

All of the attributes must be specified. If you wish to delete any of the optional attributes, pass them in as None.

+
@@ -1119,7 +1409,7 @@ diff --git a/docs/html/classpyrax_1_1autoscale_1_1AutoScaleWebhook.html b/docs/html/classpyrax_1_1autoscale_1_1AutoScaleWebhook.html index e3a5c6e2..84f00fed 100644 --- a/docs/html/classpyrax_1_1autoscale_1_1AutoScaleWebhook.html +++ b/docs/html/classpyrax_1_1autoscale_1_1AutoScaleWebhook.html @@ -166,6 +166,12 @@   policy, + + + +   + scaling_group, + @@ -347,7 +353,7 @@ diff --git a/docs/html/classpyrax_1_1autoscale_1_1ScalingGroupManager-members.html b/docs/html/classpyrax_1_1autoscale_1_1ScalingGroupManager-members.html index 42fdfc88..08d0d5c0 100644 --- a/docs/html/classpyrax_1_1autoscale_1_1ScalingGroupManager-members.html +++ b/docs/html/classpyrax_1_1autoscale_1_1ScalingGroupManager-members.html @@ -115,6 +115,10 @@ list_webhooksScalingGroupManager pauseScalingGroupManager plural_response_keyBaseManager [static] + replaceScalingGroupManager + replace_launch_configScalingGroupManager + replace_policyScalingGroupManager + replace_webhookScalingGroupManager resource_classBaseManager [static] response_keyBaseManager [static] resumeScalingGroupManager @@ -145,7 +149,7 @@ diff --git a/docs/html/classpyrax_1_1autoscale_1_1ScalingGroupManager.html b/docs/html/classpyrax_1_1autoscale_1_1ScalingGroupManager.html index 6cf3b6cf..4d3e689b 100644 --- a/docs/html/classpyrax_1_1autoscale_1_1ScalingGroupManager.html +++ b/docs/html/classpyrax_1_1autoscale_1_1ScalingGroupManager.html @@ -128,12 +128,16 @@  Resumes execution of the policies for the specified scaling group.
def get_configuration  Returns the scaling group's configuration in a dictionary.
+def replace + Replace an existing ScalingGroup configuration.
def update  Updates an existing ScalingGroup.
def update_metadata  Adds the given metadata dict to the existing metadata for the scaling group.
def get_launch_config  Returns the launch configuration for the specified scaling group.
+def replace_launch_config + Replace an existing launch configuration.
def update_launch_config  Updates the server launch configuration for an existing scaling group.
def update_launch_metadata @@ -144,6 +148,8 @@  Returns a list of all policies defined for the specified scaling group.
def get_policy  Gets the detail for the specified policy.
+def replace_policy + Replace an existing policy.
def update_policy  Updates the specified policy.
def execute_policy @@ -156,6 +162,8 @@  Returns a list of all webhooks for the specified policy.
def get_webhook  Gets the detail for the specified webhook.
+def replace_webhook + Replace an existing webhook.
def update_webhook  Updates the specified webhook.
def update_webhook_metadata @@ -702,6 +710,288 @@

Pauses all execution of the policies for the specified scaling group.

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def replace ( self,
 scaling_group,
 name,
 cooldown,
 min_entities,
 max_entities,
 metadata = None 
)
+
+
+ +

Replace an existing ScalingGroup configuration.

+

All of the attributes must be specified If you wish to delete any of the optional attributes, pass them in as None.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def replace_launch_config ( self,
 scaling_group,
 launch_config_type,
 server_name,
 image,
 flavor,
 disk_config = None,
 metadata = None,
 personality = None,
 networks = None,
 load_balancers = None,
 key_name = None 
)
+
+
+ +

Replace an existing launch configuration.

+

All of the attributes must be specified. If you wish to delete any of the optional attributes, pass them in as None.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def replace_policy ( self,
 scaling_group,
 policy,
 name,
 policy_type,
 cooldown,
 change = None,
 is_percent = False,
 desired_capacity = None,
 args = None 
)
+
+
+ +

Replace an existing policy.

+

All of the attributes must be specified. If you wish to delete any of the optional attributes, pass them in as None.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def replace_webhook ( self,
 scaling_group,
 policy,
 webhook,
 name,
 metadata = None 
)
+
+
+ +

Replace an existing webhook.

+

All of the attributes must be specified. If you wish to delete any of the optional attributes, pass them in as None.

+
@@ -1149,7 +1439,7 @@ diff --git a/docs/html/classpyrax_1_1cf__wrapper_1_1client_1_1CFClient-members.html b/docs/html/classpyrax_1_1cf__wrapper_1_1client_1_1CFClient-members.html index 71220bf5..b0a490e6 100644 --- a/docs/html/classpyrax_1_1cf__wrapper_1_1client_1_1CFClient-members.html +++ b/docs/html/classpyrax_1_1cf__wrapper_1_1client_1_1CFClient-members.html @@ -110,6 +110,7 @@ delete_object_in_secondsCFClient download_objectCFClient fetch_objectCFClient + fetch_partialCFClient folder_upload_statusCFClient [static] get_account_metadataCFClient get_all_containersCFClient @@ -172,7 +173,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 0f811ba4..bffbe267 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 @@ -177,6 +177,8 @@  Cancels any folder upload happening in the background.
def fetch_object  Fetches the object from storage.
+def fetch_partial + Returns the first 'size' bytes of an object.
def download_object  Fetches the object from storage, and writes it to the specified directory.
def get_all_containers @@ -758,6 +760,12 @@   chunk_size = None, + + + +   + size = None, + @@ -776,9 +784,52 @@

Fetches the object from storage.

If 'include_meta' is False, only the bytes representing the file is returned.

Note: if 'chunk_size' is defined, you must fully read the object's contents before making another request.

+

If 'size' is specified, only the first 'size' bytes of the object will be returned. If the object if smaller than 'size', the entire object is returned.

When 'include_meta' is True, what is returned from this method is a 2-tuple: Element 0: a dictionary containing metadata about the file. Element 1: a stream of bytes representing the object's contents.

'extra_info' is an optional dictionary which will be populated with 'status', 'reason', and 'headers' keys from the underlying swiftclient call.

+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
def fetch_partial ( self,
 container,
 obj,
 size 
)
+
+
+ +

Returns the first 'size' bytes of an object.

+

If the object is smaller than the specified 'size' value, the entire object is returned.

+
@@ -1233,7 +1284,19 @@   - method = "GET"  + method = "GET", + + + + +   + key = None, + + + + +   + cached = True  @@ -1246,7 +1309,8 @@

Given a storage object in a container, returns a URL that can be used to access that object.

The URL will expire after `seconds` seconds.

-

The only methods supported are GET and PUT. Anything else will raise an InvalidTemporaryURLMethod exception.

+

The only methods supported are GET and PUT. Anything else will raise an InvalidTemporaryURLMethod exception.

+

If you have your Temporary URL key, you can pass it in directly and potentially save an API call to retrieve it. If you don't pass in the key, and don't wish to use any cached value, pass `cached=False`.

@@ -1258,14 +1322,25 @@ def get_temp_url_key (   - self) + self, + + + + +   + cached = True  + + + ) +

Returns the current TempURL key, or None if it has not been set.

+

By default the value returned is cached. To force an API call to get the current value on the server, pass `cached=False`.

@@ -2593,7 +2668,7 @@ diff --git a/docs/html/classpyrax_1_1client_1_1BaseClient-members.html b/docs/html/classpyrax_1_1client_1_1BaseClient-members.html index b0ee8abb..6dec9cb5 100644 --- a/docs/html/classpyrax_1_1client_1_1BaseClient-members.html +++ b/docs/html/classpyrax_1_1client_1_1BaseClient-members.html @@ -110,6 +110,7 @@ method_deleteBaseClient method_getBaseClient method_headBaseClient + method_patchBaseClient method_postBaseClient method_putBaseClient nameBaseClient [static] @@ -143,7 +144,7 @@ diff --git a/docs/html/classpyrax_1_1client_1_1BaseClient.html b/docs/html/classpyrax_1_1client_1_1BaseClient.html index e4059a67..1d83ca07 100644 --- a/docs/html/classpyrax_1_1client_1_1BaseClient.html +++ b/docs/html/classpyrax_1_1client_1_1BaseClient.html @@ -116,13 +116,14 @@
-AutoScaleClient -CloudBlockStorageClient -CloudDatabaseClient -CloudDNSClient -CloudLoadBalancerClient -CloudMonitorClient -CloudNetworkClient +AutoScaleClient +CloudBlockStorageClient +CloudDatabaseClient +CloudDNSClient +CloudLoadBalancerClient +CloudMonitorClient +CloudNetworkClient +QueueClient
@@ -132,7 +133,7 @@ Public Member Functions def __init__ def list - Returns a list of all resources.
+ Returns a list of resource objects.
def get  Gets a specific resource.
def create @@ -167,6 +168,8 @@  Method used to make PUT requests.
def method_delete  Method used to make DELETE requests.
+def method_patch + Method used to make PATCH requests.
def authenticate  Handles all aspects of authentication against the cloud provider.
def projectid @@ -593,7 +596,8 @@
-

Returns a list of all resources.

+

Returns a list of resource objects.

+

Pagination is supported through the optional 'marker' and 'limit' parameters.

Reimplemented in CloudMonitorClient, and CloudDNSClient.

@@ -702,6 +706,41 @@

Method used to make HEAD requests.

+
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
def method_patch ( self,
 uri,
 kwargs 
)
+
+
+ +

Method used to make PATCH requests.

+
@@ -943,7 +982,7 @@
-

Reimplemented in CloudLoadBalancerClient, CloudDNSClient, AutoScaleClient, CloudMonitorClient, CloudDatabaseClient, CloudBlockStorageClient, and CloudNetworkClient.

+

Reimplemented in CloudLoadBalancerClient, CloudDNSClient, AutoScaleClient, CloudMonitorClient, CloudDatabaseClient, QueueClient, CloudBlockStorageClient, and CloudNetworkClient.

@@ -1072,7 +1111,7 @@ diff --git a/docs/html/classpyrax_1_1client_1_1BaseClient.png b/docs/html/classpyrax_1_1client_1_1BaseClient.png index ea0e2a72..962748e0 100644 Binary files a/docs/html/classpyrax_1_1client_1_1BaseClient.png and b/docs/html/classpyrax_1_1client_1_1BaseClient.png differ diff --git a/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageClient-members.html b/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageClient-members.html index 616ccd51..f3e352e3 100644 --- a/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageClient-members.html +++ b/docs/html/classpyrax_1_1cloudblockstorage_1_1CloudBlockStorageClient-members.html @@ -118,6 +118,7 @@ method_deleteBaseClient method_getBaseClient method_headBaseClient + method_patchBaseClient method_postBaseClient method_putBaseClient nameCloudBlockStorageClient [static] @@ -151,7 +152,7 @@ diff --git a/docs/html/classpyrax_1_1clouddatabases_1_1CloudDatabaseClient-members.html b/docs/html/classpyrax_1_1clouddatabases_1_1CloudDatabaseClient-members.html index c009f22b..a1d41eef 100644 --- a/docs/html/classpyrax_1_1clouddatabases_1_1CloudDatabaseClient-members.html +++ b/docs/html/classpyrax_1_1clouddatabases_1_1CloudDatabaseClient-members.html @@ -124,6 +124,7 @@ method_deleteBaseClient method_getBaseClient method_headBaseClient + method_patchBaseClient method_postBaseClient method_putBaseClient nameCloudDatabaseClient [static] @@ -161,7 +162,7 @@ diff --git a/docs/html/classpyrax_1_1clouddatabases_1_1CloudDatabaseClient.html b/docs/html/classpyrax_1_1clouddatabases_1_1CloudDatabaseClient.html index c58f2e36..4bccb115 100644 --- a/docs/html/classpyrax_1_1clouddatabases_1_1CloudDatabaseClient.html +++ b/docs/html/classpyrax_1_1clouddatabases_1_1CloudDatabaseClient.html @@ -586,7 +586,19 @@   - instance  + instance, + + + + +   + limit = None, + + + + +   + marker = None  @@ -609,8 +621,24 @@ def list_flavors (   - self) + self, + + + + +   + limit = None, + + + + +   + marker = None  + + + ) + @@ -669,7 +697,19 @@   - instance  + instance, + + + + +   + limit = None, + + + + +   + marker = None  @@ -861,7 +901,7 @@ diff --git a/docs/html/classpyrax_1_1clouddatabases_1_1CloudDatabaseInstance.html b/docs/html/classpyrax_1_1clouddatabases_1_1CloudDatabaseInstance.html index 61977825..d85a1a9a 100644 --- a/docs/html/classpyrax_1_1clouddatabases_1_1CloudDatabaseInstance.html +++ b/docs/html/classpyrax_1_1clouddatabases_1_1CloudDatabaseInstance.html @@ -534,8 +534,24 @@ def list_databases (   - self) + self, + + + + +   + limit = None, + + + + +   + marker = None  + + + ) + @@ -582,8 +598,24 @@ def list_users (   - self) + self, + + + + +   + limit = None, + + + + +   + marker = None  + + + ) + @@ -779,7 +811,7 @@ diff --git a/docs/html/classpyrax_1_1clouddns_1_1CloudDNSClient-members.html b/docs/html/classpyrax_1_1clouddns_1_1CloudDNSClient-members.html index 7835db72..b6b2abc5 100644 --- a/docs/html/classpyrax_1_1clouddns_1_1CloudDNSClient-members.html +++ b/docs/html/classpyrax_1_1clouddns_1_1CloudDNSClient-members.html @@ -135,6 +135,7 @@ method_deleteBaseClient method_getBaseClient method_headBaseClient + method_patchBaseClient method_postBaseClient method_putBaseClient nameCloudDNSClient [static] @@ -174,7 +175,7 @@ diff --git a/docs/html/classpyrax_1_1clouddns_1_1CloudDNSManager-members.html b/docs/html/classpyrax_1_1clouddns_1_1CloudDNSManager-members.html index abd43e78..68ae30e2 100644 --- a/docs/html/classpyrax_1_1clouddns_1_1CloudDNSManager-members.html +++ b/docs/html/classpyrax_1_1clouddns_1_1CloudDNSManager-members.html @@ -110,6 +110,7 @@ headBaseManager import_domainCloudDNSManager listCloudDNSManager + pyrax::manager::BaseManager.listBaseManager list_next_pageCloudDNSManager list_previous_pageCloudDNSManager list_ptr_recordsCloudDNSManager @@ -146,7 +147,7 @@ diff --git a/docs/html/classpyrax_1_1clouddns_1_1CloudDNSManager.html b/docs/html/classpyrax_1_1clouddns_1_1CloudDNSManager.html index 75b8349c..96869239 100644 --- a/docs/html/classpyrax_1_1clouddns_1_1CloudDNSManager.html +++ b/docs/html/classpyrax_1_1clouddns_1_1CloudDNSManager.html @@ -615,8 +615,6 @@

Gets a list of all domains, or optionally a page of domains.

-

Reimplemented from BaseManager.

- @@ -1088,7 +1086,7 @@ diff --git a/docs/html/classpyrax_1_1cloudloadbalancers_1_1CloudLoadBalancerClient-members.html b/docs/html/classpyrax_1_1cloudloadbalancers_1_1CloudLoadBalancerClient-members.html index 9fe8f513..7e5d0b1a 100644 --- a/docs/html/classpyrax_1_1cloudloadbalancers_1_1CloudLoadBalancerClient-members.html +++ b/docs/html/classpyrax_1_1cloudloadbalancers_1_1CloudLoadBalancerClient-members.html @@ -140,6 +140,7 @@ method_deleteBaseClient method_getBaseClient method_headBaseClient + method_patchBaseClient method_postBaseClient method_putBaseClient nameCloudLoadBalancerClient [static] @@ -187,7 +188,7 @@ diff --git a/docs/html/classpyrax_1_1cloudmonitoring_1_1CloudMonitorClient-members.html b/docs/html/classpyrax_1_1cloudmonitoring_1_1CloudMonitorClient-members.html index 90ef3ad9..fe11de62 100644 --- a/docs/html/classpyrax_1_1cloudmonitoring_1_1CloudMonitorClient-members.html +++ b/docs/html/classpyrax_1_1cloudmonitoring_1_1CloudMonitorClient-members.html @@ -142,6 +142,7 @@ method_deleteBaseClient method_getBaseClient method_headBaseClient + method_patchBaseClient method_postBaseClient method_putBaseClient nameCloudMonitorClient @@ -180,7 +181,7 @@ diff --git a/docs/html/classpyrax_1_1cloudnetworks_1_1CloudNetworkClient-members.html b/docs/html/classpyrax_1_1cloudnetworks_1_1CloudNetworkClient-members.html index 3a0003f4..5940c5af 100644 --- a/docs/html/classpyrax_1_1cloudnetworks_1_1CloudNetworkClient-members.html +++ b/docs/html/classpyrax_1_1cloudnetworks_1_1CloudNetworkClient-members.html @@ -115,6 +115,7 @@ method_deleteBaseClient method_getBaseClient method_headBaseClient + method_patchBaseClient method_postBaseClient method_putBaseClient nameCloudNetworkClient @@ -151,7 +152,7 @@ diff --git a/docs/html/classpyrax_1_1exceptions_1_1DuplicateQueue.html b/docs/html/classpyrax_1_1exceptions_1_1DuplicateQueue.html new file mode 100644 index 00000000..4f2b3801 --- /dev/null +++ b/docs/html/classpyrax_1_1exceptions_1_1DuplicateQueue.html @@ -0,0 +1,142 @@ + + + + + +pyrax: DuplicateQueue Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
pyrax + +
+
Python Bindings for the Rackspace Cloud
+
+
+ + + + + + +
+ All Classes Namespaces Files Functions Variables Properties
+ + +
+ +
+ + +
+
+
+
DuplicateQueue Class Reference
+
+
+
+Inheritance diagram for DuplicateQueue:
+
+
+ + +PyraxException + +
+
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_1exceptions_1_1DuplicateQueue.png b/docs/html/classpyrax_1_1exceptions_1_1DuplicateQueue.png new file mode 100644 index 00000000..3e9c1aa4 Binary files /dev/null and b/docs/html/classpyrax_1_1exceptions_1_1DuplicateQueue.png differ diff --git a/docs/html/classpyrax_1_1exceptions_1_1InvalidQueueName.html b/docs/html/classpyrax_1_1exceptions_1_1InvalidQueueName.html new file mode 100644 index 00000000..c4305f84 --- /dev/null +++ b/docs/html/classpyrax_1_1exceptions_1_1InvalidQueueName.html @@ -0,0 +1,142 @@ + + + + + +pyrax: InvalidQueueName Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
pyrax + +
+
Python Bindings for the Rackspace Cloud
+
+
+ + + + + + +
+ All Classes Namespaces Files Functions Variables Properties
+ + +
+ +
+ + +
+
+
+
InvalidQueueName Class Reference
+
+
+
+Inheritance diagram for InvalidQueueName:
+
+
+ + +PyraxException + +
+
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_1exceptions_1_1InvalidQueueName.png b/docs/html/classpyrax_1_1exceptions_1_1InvalidQueueName.png new file mode 100644 index 00000000..68a3bfb6 Binary files /dev/null and b/docs/html/classpyrax_1_1exceptions_1_1InvalidQueueName.png differ diff --git a/docs/html/classpyrax_1_1exceptions_1_1MissingClaimParameters.html b/docs/html/classpyrax_1_1exceptions_1_1MissingClaimParameters.html new file mode 100644 index 00000000..22a66684 --- /dev/null +++ b/docs/html/classpyrax_1_1exceptions_1_1MissingClaimParameters.html @@ -0,0 +1,142 @@ + + + + + +pyrax: MissingClaimParameters Class Reference + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
pyrax + +
+
Python Bindings for the Rackspace Cloud
+
+
+ + + + + + +
+ All Classes Namespaces Files Functions Variables Properties
+ + +
+ +
+ + +
+
+
+
MissingClaimParameters Class Reference
+
+
+
+Inheritance diagram for MissingClaimParameters:
+
+
+ + +PyraxException + +
+
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_1exceptions_1_1MissingClaimParameters.png b/docs/html/classpyrax_1_1exceptions_1_1MissingClaimParameters.png new file mode 100644 index 00000000..5e7ab0e3 Binary files /dev/null and b/docs/html/classpyrax_1_1exceptions_1_1MissingClaimParameters.png differ diff --git a/docs/html/classpyrax_1_1exceptions_1_1PyraxException.html b/docs/html/classpyrax_1_1exceptions_1_1PyraxException.html index c2b378d2..8565e2a5 100644 --- a/docs/html/classpyrax_1_1exceptions_1_1PyraxException.html +++ b/docs/html/classpyrax_1_1exceptions_1_1PyraxException.html @@ -125,82 +125,86 @@ DomainRecordNotUnique DomainRecordUpdateFailed DomainUpdateFailed -DuplicateUser -EndpointNotDefined -EndpointNotFound -EnvironmentNotFound -FileNotFound -FlavorNotFound -FolderNotFound -IdentityClassNotDefined -InvalidCDNMetadata -InvalidConfigurationFile -InvalidCredentialFile -InvalidDateTimeString -InvalidDeviceType -InvalidEmail -InvalidLoadBalancer -InvalidLoadBalancerParameters -InvalidMonitoringCheckDetails -InvalidMonitoringCheckUpdate -InvalidMonitoringMetricsRequest -InvalidMonitoringMetricsResolution -InvalidNodeCondition -InvalidNodeParameters -InvalidPTRRecord -InvalidSessionPersistenceType -InvalidSetting -InvalidSize -InvalidTemporaryURLMethod -InvalidUploadID -InvalidVirtualIPType -InvalidVirtualIPVersion -InvalidVolumeResize -KeyringModuleNotInstalled -KeyringPasswordNotFound -KeyringUsernameMissing -MissingAuthSettings -MissingDNSSettings -MissingHealthMonitorSettings -MissingLoadBalancerParameters -MissingMonitoringCheckDetails -MissingMonitoringCheckGranularity -MissingName -MissingTemporaryURLKey -MonitoringCheckTargetNotSpecified -MonitoringZonesPollMissing -NetworkCIDRInvalid -NetworkCIDRMalformed -NetworkCountExceeded -NetworkInUse -NetworkLabelNotUnique -NetworkNotFound -NoMoreResults -NoReloadError -NoSSLTerminationConfiguration -NoSuchContainer -NoSuchDatabase -NoSuchDatabaseUser -NoSuchObject -NotAuthenticated -NotCDNEnabled -NoTokenLookupException -PasswordChangeFailed -ProtocolMismatch -PTRRecordCreationFailed -PTRRecordDeletionFailed -PTRRecordUpdateFailed -ServiceNotAvailable -SnapshotNotAvailable -TenantNotFound -UnattachedNode -UnattachedVirtualIP -UnicodePathError -UploadFailed -UserNotFound -VolumeAttachmentFailed -VolumeDetachmentFailed -VolumeNotAvailable +DuplicateQueue +DuplicateUser +EndpointNotDefined +EndpointNotFound +EnvironmentNotFound +FileNotFound +FlavorNotFound +FolderNotFound +IdentityClassNotDefined +InvalidCDNMetadata +InvalidConfigurationFile +InvalidCredentialFile +InvalidDateTimeString +InvalidDeviceType +InvalidEmail +InvalidLoadBalancer +InvalidLoadBalancerParameters +InvalidMonitoringCheckDetails +InvalidMonitoringCheckUpdate +InvalidMonitoringMetricsRequest +InvalidMonitoringMetricsResolution +InvalidNodeCondition +InvalidNodeParameters +InvalidPTRRecord +InvalidQueueName +InvalidSessionPersistenceType +InvalidSetting +InvalidSize +InvalidTemporaryURLMethod +InvalidUploadID +InvalidVirtualIPType +InvalidVirtualIPVersion +InvalidVolumeResize +KeyringModuleNotInstalled +KeyringPasswordNotFound +KeyringUsernameMissing +MissingAuthSettings +MissingClaimParameters +MissingDNSSettings +MissingHealthMonitorSettings +MissingLoadBalancerParameters +MissingMonitoringCheckDetails +MissingMonitoringCheckGranularity +MissingName +MissingTemporaryURLKey +MonitoringCheckTargetNotSpecified +MonitoringZonesPollMissing +NetworkCIDRInvalid +NetworkCIDRMalformed +NetworkCountExceeded +NetworkInUse +NetworkLabelNotUnique +NetworkNotFound +NoMoreResults +NoReloadError +NoSSLTerminationConfiguration +NoSuchContainer +NoSuchDatabase +NoSuchDatabaseUser +NoSuchObject +NotAuthenticated +NotCDNEnabled +NoTokenLookupException +PasswordChangeFailed +ProtocolMismatch +PTRRecordCreationFailed +PTRRecordDeletionFailed +PTRRecordUpdateFailed +QueueClientIDNotDefined +ServiceNotAvailable +SnapshotNotAvailable +TenantNotFound +UnattachedNode +UnattachedVirtualIP +UnicodePathError +UploadFailed +UserNotFound +VolumeAttachmentFailed +VolumeDetachmentFailed +VolumeNotAvailable
The documentation for this class was generated from the following file: