Author: | Matt Martz |
---|
parameter | required | default | choices | comments |
---|---|---|---|---|
api_key | no | Rackspace API key (overrides credentials) | ||
at | no | The UTC time when this policy will be executed. The time must be formatted according to yyyy-MM-dd'T'HH:mm:ss.SSS such as 2013-05-19T08:07:08Z |
||
change | no | 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 true also. |
||
cooldown | no | 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 | no | File to find the Rackspace credentials in (ignored if api_key and username are provided) | ||
cron | no | 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 | no | The desired server capacity of the scaling the group; that is, how many servers should be in the scaling group. | ||
env | no | Environment as configured in ~/.pyrax.cfg, see https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration (added in Ansible 1.5) | ||
is_percent | no | Whether the value in change is a percent value | ||
name | yes | Name to give the policy | ||
policy_type | yes |
|
The type of policy that will be executed for the current release. | |
region | no | DFW | Region to create an instance in | |
scaling_group | yes | Name of the scaling group that this policy will be added to | ||
state | no | present |
|
Indicate desired state of the resource |
username | no | Rackspace username (overrides credentials) | ||
verify_ssl | no | Whether or not to require SSL validation of API endpoints (added in Ansible 1.5) |
Note
Requires pyrax
---
- 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
Note
The following environment variables can be used, RAX_USERNAME, RAX_API_KEY, RAX_CREDS_FILE, RAX_CREDENTIALS, RAX_REGION.
Note
RAX_CREDENTIALS and RAX_CREDS_FILE points to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating
Note
RAX_USERNAME and RAX_API_KEY obviate the use of a credentials file
Note
RAX_REGION defines a Rackspace Public Cloud region (DFW, ORD, LON, ...)