rax_scaling_group – Manipulate Rackspace Cloud Autoscale Groups¶
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 |
|
auth_endpoint
-
|
Default: "https://identity.api.rackspacecloud.com/v2.0/"
|
The URI of the authentication service.
|
config_drive
boolean
|
|
Attach read-only configuration drive to server as label config-2
|
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 |
|
disk_config
-
|
|
Disk partitioning strategy
|
env
string
|
Environment as configured in ~/.pyrax.cfg, see https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration.
|
|
files
-
|
Files to insert into the instance. Hash of
remotepath: localpath |
|
flavor
-
/ required
|
flavor to use for the instance
|
|
identity_type
-
|
Default: "rackspace"
|
Authentication mechanism to use, such as rackspace or keystone.
|
image
-
/ required
|
image to use for the instance. Can be an
id , human_id or name |
|
key_name
-
|
key pair to use on the instance
|
|
loadbalancers
-
|
List of load balancer
id and port hashes |
|
max_entities
-
/ required
|
The maximum number of entities that are allowed in the scaling group. Must be an integer between 0 and 1000.
|
|
meta
-
|
A hash of metadata to associate with the instance
|
|
min_entities
-
/ required
|
The minimum number of entities that are allowed in the scaling group. Must be an integer between 0 and 1000.
|
|
name
-
/ required
|
Name to give the scaling group
|
|
networks
-
|
Default: ["public", "private"]
|
The network to attach to the instances. If specified, you must include ALL networks including the public and private interfaces. Can be
id or label . |
region
string
|
Default: "DFW"
|
Region to create an instance in.
|
server_name
-
/ required
|
The base name for servers created by Autoscale
|
|
state
-
|
|
Indicate desired state of the resource
|
tenant_id
-
|
The tenant ID used for authentication.
|
|
tenant_name
-
|
The tenant name used for authentication.
|
|
user_data
-
|
Data to be uploaded to the servers config drive. This option implies config_drive. Can be a file path or a string
|
|
username
string
|
Rackspace username, overrides credentials.
|
|
validate_certs
boolean
|
|
Whether or not to require SSL validation of API endpoints.
aliases: verify_ssl |
wait
boolean
|
|
wait for the scaling group to finish provisioning the minimum amount of servers
|
wait_timeout
-
|
Default: 300
|
how long before wait gives up, in seconds
|
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_group:
credentials: ~/.raxpub
region: ORD
cooldown: 300
flavor: performance1-1
image: bb02b1a3-bc77-4d17-ab5b-421d89850fca
min_entities: 5
max_entities: 10
name: ASG Test
server_name: asgtest
loadbalancers:
- id: 228385
port: 80
register: asg
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.