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.SSS such as 2013-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
true also. |
|
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_CREDENTIALS
andRAX_CREDS_FILE
points to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticatingRAX_USERNAME
andRAX_API_KEY
obviate the use of a credentials fileRAX_REGION
defines 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_CREDENTIALS
andRAX_CREDS_FILE
points to a credentials file appropriate for pyrax. See https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticatingRAX_USERNAME
andRAX_API_KEY
obviate the use of a credentials fileRAX_REGION
defines 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.