rax_scaling_policy – Manipulate Rackspace Cloud Autoscale Scaling Policy¶
Requirements¶
The below requirements are needed on the host that executes this module.
- pyrax
- python >= 2.6
Parameters¶
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| api_key 
                    string
                                                                 | Rackspace API key, overrides credentials. aliases: password | |
| at 
                    -
                                                                 | The UTC time when this policy will be executed. The time must be formatted according to  yyyy-MM-dd'T'HH:mm:ss.SSSsuch as2013-05-19T08:07:08Z | |
| auth_endpoint 
                    -
                                                                 | Default: "https://identity.api.rackspacecloud.com/v2.0/" | The URI of the authentication service. | 
| change 
                    -
                                                                 | The change, either as a number of servers or as a percentage, to make in the scaling group. If this is a percentage, you must set is_percent to  truealso. | |
| cooldown 
                    -
                                                                 | The period of time, in seconds, that must pass before any scaling can occur after the previous scaling. Must be an integer between 0 and 86400 (24 hrs). | |
| credentials 
                    path
                                                                 | File to find the Rackspace credentials in. Ignored if api_key and username are provided. aliases: creds_file | |
| cron 
                    -
                                                                 | The time when the policy will be executed, as a cron entry. For example, if this is parameter is set to  1 0 * * * | |
| desired_capacity 
                    -
                                                                 | The desired server capacity of the scaling the group; that is, how many servers should be in the scaling group. | |
| env 
                    string
                                                                 | Environment as configured in ~/.pyrax.cfg, see https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration. | |
| identity_type 
                    -
                                                                 | Default: "rackspace" | Authentication mechanism to use, such as rackspace or keystone. | 
| is_percent 
                    boolean
                                                                 | 
 | Whether the value in change is a percent value | 
| name 
                    -
                                             / required                     | Name to give the policy | |
| policy_type 
                    -
                                             / required                     | 
 | The type of policy that will be executed for the current release. | 
| region 
                    string
                                                                 | Default: "DFW" | Region to create an instance in. | 
| scaling_group 
                    -
                                             / required                     | Name of the scaling group that this policy will be added to | |
| state 
                    -
                                                                 | 
 | Indicate desired state of the resource | 
| tenant_id 
                    -
                                                                 | The tenant ID used for authentication. | |
| tenant_name 
                    -
                                                                 | The tenant name used for authentication. | |
| username 
                    string
                                                                 | Rackspace username, overrides credentials. | |
| validate_certs 
                    boolean
                                                                 | 
 | Whether or not to require SSL validation of API endpoints. aliases: verify_ssl | 
Notes¶
Note
- The following environment variables can be used, RAX_USERNAME,RAX_API_KEY,RAX_CREDS_FILE,RAX_CREDENTIALS,RAX_REGION.
- RAX_CREDENTIALSand- RAX_CREDS_FILEpoints to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating
- RAX_USERNAMEand- RAX_API_KEYobviate the use of a credentials file
- RAX_REGIONdefines a Rackspace Public Cloud region (DFW, ORD, LON, ...)
- The following environment variables can be used, RAX_USERNAME,RAX_API_KEY,RAX_CREDS_FILE,RAX_CREDENTIALS,RAX_REGION.
- RAX_CREDENTIALSand- RAX_CREDS_FILEpoints to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating
- RAX_USERNAMEand- RAX_API_KEYobviate the use of a credentials file
- RAX_REGIONdefines a Rackspace Public Cloud region (DFW, ORD, LON, ...)
Examples¶
---
- hosts: localhost
  gather_facts: false
  connection: local
  tasks:
    - rax_scaling_policy:
        credentials: ~/.raxpub
        region: ORD
        at: '2013-05-19T08:07:08Z'
        change: 25
        cooldown: 300
        is_percent: true
        name: ASG Test Policy - at
        policy_type: schedule
        scaling_group: ASG Test
      register: asps_at
    - rax_scaling_policy:
        credentials: ~/.raxpub
        region: ORD
        cron: '1 0 * * *'
        change: 25
        cooldown: 300
        is_percent: true
        name: ASG Test Policy - cron
        policy_type: schedule
        scaling_group: ASG Test
      register: asp_cron
    - rax_scaling_policy:
        credentials: ~/.raxpub
        region: ORD
        cooldown: 300
        desired_capacity: 5
        name: ASG Test Policy - webhook
        policy_type: webhook
        scaling_group: ASG Test
      register: asp_webhook
Status¶
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors¶
- Matt Martz (@sivel)
Hint
If you notice any issues in this documentation, you can edit this document to improve it.
