# rax_scaling_group – Manipulate Rackspace Cloud Autoscale Groups

- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Status

## Synopsis

- 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

Choices:
- no ←
- yes

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
-

Choices:
- auto ←
- manual

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
-

Choices:
- present ←
- absent

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

Choices:
- no
- yes

Whether or not to require SSL validation of API endpoints.
aliases: verify_ssl

wait
boolean

Choices:
- no ←
- yes

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` 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
- `RAX_USERNAME` and `RAX_API_KEY` obviate the use of a credentials file
- `RAX_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` 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
- `RAX_USERNAME` and `RAX_API_KEY` obviate the use of a credentials file
- `RAX_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.