ansible.builtin.redshift (v2.9.17) — module

create, delete, or modify an Amazon Redshift instance

| "added in version" 2.2 of ansible.builtin"

Authors: Jens Carl (@j-carl), Hothead Games Inc., Rafael Driutti (@rafaeldriutti)

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.9.17

Description

Creates, deletes, or modifies amazon Redshift cluster instances.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Basic cluster provisioning example
- redshift: >
    command=create
    node_type=ds1.xlarge
    identifier=new_cluster
    username=cluster_admin
    password=1nsecure
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Cluster delete example
- redshift:
    command: delete
    identifier: new_cluster
    skip_final_cluster_snapshot: true
    wait: true

Inputs

    
port:
    description:
    - which port the cluster is listening

wait:
    default: 'no'
    description:
    - When command=create, modify or restore then wait for the database to enter the 'available'
      state. When command=delete wait for the database to be terminated.
    type: bool

region:
    aliases:
    - aws_region
    - ec2_region
    description:
    - The AWS region to use. If not specified then the value of the AWS_REGION or EC2_REGION
      environment variable, if any, is used. See U(http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region)
    type: str

command:
    choices:
    - create
    - facts
    - delete
    - modify
    description:
    - Specifies the action to take.
    required: true

db_name:
    description:
    - Name of the database.

ec2_url:
    aliases:
    - aws_endpoint_url
    - endpoint_url
    description:
    - URL to use to connect to EC2 or your Eucalyptus cloud (by default the module will
      use EC2 endpoints). Ignored for modules where region is required. Must be specified
      for all other modules if region is not used. If not set then the value of the EC2_URL
      environment variable, if any, is used.
    type: str

profile:
    aliases:
    - aws_profile
    description:
    - Using I(profile) will override I(aws_access_key), I(aws_secret_key) and I(security_token)
      and support for passing them at the same time as I(profile) has been deprecated.
    - I(aws_access_key), I(aws_secret_key) and I(security_token) will be made mutually
      exclusive with I(profile) after 2022-06-01.
    type: str

password:
    description:
    - Master database password. Used only when command=create.

username:
    description:
    - Master database username. Used only when command=create.

encrypted:
    default: 'no'
    description:
    - if the cluster is encrypted or not

node_type:
    choices:
    - ds1.xlarge
    - ds1.8xlarge
    - ds2.xlarge
    - ds2.8xlarge
    - dc1.large
    - dc1.8xlarge
    - dc2.large
    - dc2.8xlarge
    - dw1.xlarge
    - dw1.8xlarge
    - dw2.large
    - dw2.8xlarge
    description:
    - The node type of the cluster. Must be specified when command=create.

aws_config:
    description:
    - A dictionary to modify the botocore configuration.
    - Parameters can be found at U(https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config).
    - Only the 'user_agent' key is used for boto modules. See U(http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto)
      for more boto configuration.
    type: dict

elastic_ip:
    description:
    - if the cluster has an elastic IP or not

identifier:
    description:
    - Redshift cluster identifier.
    required: true

cluster_type:
    choices:
    - multi-node
    - single-node
    default: single-node
    description:
    - The type of cluster.

wait_timeout:
    default: 300
    description:
    - how long before wait gives up, in seconds

aws_ca_bundle:
    description:
    - The location of a CA Bundle to use when validating SSL certificates.
    - Not used by boto 2 based modules.
    - 'Note: The CA Bundle is read ''module'' side and may need to be explicitly copied
      from the controller if not run locally.'
    type: path

aws_access_key:
    aliases:
    - ec2_access_key
    - access_key
    description:
    - C(AWS access key). If not set then the value of the C(AWS_ACCESS_KEY_ID), C(AWS_ACCESS_KEY)
      or C(EC2_ACCESS_KEY) environment variable is used.
    - If I(profile) is set this parameter is ignored.
    - Passing the I(aws_access_key) and I(profile) options at the same time has been deprecated
      and the options will be made mutually exclusive after 2022-06-01.
    type: str

aws_secret_key:
    aliases:
    - ec2_secret_key
    - secret_key
    description:
    - C(AWS secret key). If not set then the value of the C(AWS_SECRET_ACCESS_KEY), C(AWS_SECRET_KEY),
      or C(EC2_SECRET_KEY) environment variable is used.
    - If I(profile) is set this parameter is ignored.
    - Passing the I(aws_secret_key) and I(profile) options at the same time has been deprecated
      and the options will be made mutually exclusive after 2022-06-01.
    type: str

security_token:
    aliases:
    - aws_security_token
    - access_token
    description:
    - C(AWS STS security token). If not set then the value of the C(AWS_SECURITY_TOKEN)
      or C(EC2_SECURITY_TOKEN) environment variable is used.
    - If I(profile) is set this parameter is ignored.
    - Passing the I(security_token) and I(profile) options at the same time has been deprecated
      and the options will be made mutually exclusive after 2022-06-01.
    type: str

validate_certs:
    default: true
    description:
    - When set to "no", SSL certificates will not be validated for communication with
      the AWS APIs.
    type: bool

cluster_version:
    aliases:
    - version
    choices:
    - '1.0'
    description:
    - which version the cluster should have

number_of_nodes:
    description:
    - Number of nodes. Only used when cluster_type=multi-node.

availability_zone:
    aliases:
    - zone
    - aws_zone
    description:
    - availability zone in which to launch cluster

publicly_accessible:
    default: 'no'
    description:
    - if the cluster is accessible publicly or not

allow_version_upgrade:
    aliases:
    - version_upgrade
    default: 'yes'
    description:
    - flag to determinate if upgrade of version is possible

new_cluster_identifier:
    aliases:
    - new_identifier
    description:
    - Only used when command=modify.

vpc_security_group_ids:
    aliases:
    - vpc_security_groups
    description:
    - VPC security group

cluster_security_groups:
    aliases:
    - security_groups
    description:
    - in which security group the cluster belongs

cluster_subnet_group_name:
    aliases:
    - subnet
    description:
    - which subnet to place the cluster

skip_final_cluster_snapshot:
    aliases:
    - skip_final_snapshot
    default: 'no'
    description:
    - skip a final snapshot before deleting the cluster. Used only when command=delete.
    version_added: '2.4'
    version_added_collection: ansible.builtin

cluster_parameter_group_name:
    aliases:
    - param_group_name
    description:
    - name of the cluster parameter group

debug_botocore_endpoint_logs:
    default: 'no'
    description:
    - Use a botocore.endpoint logger to parse the unique (rather than total) "resource:action"
      API calls made during a task, outputing the set to the resource_actions key in the
      task results. Use the aws_resource_action callback to output to total list made
      during a playbook. The ANSIBLE_DEBUG_BOTOCORE_LOGS environment variable may also
      be used.
    type: bool

preferred_maintenance_window:
    aliases:
    - maintance_window
    - maint_window
    description:
    - maintenance window

final_cluster_snapshot_identifier:
    aliases:
    - final_snapshot_id
    description:
    - identifier of the final snapshot to be created before deleting the cluster. If this
      parameter is provided, final_cluster_snapshot_identifier must be false. Used only
      when command=delete.
    version_added: '2.4'
    version_added_collection: ansible.builtin

automated_snapshot_retention_period:
    aliases:
    - retention_period
    description:
    - period when the snapshot take place

Outputs

cluster:
  contains:
    availability_zone:
      description: Amazon availability zone where the cluster is located. "None" until
        cluster is available.
      returned: success
      sample: us-east-1b
      type: str
    create_time:
      description: Time of the cluster creation as timestamp.
      returned: success
      sample: 1430158536.308
      type: float
    db_name:
      description: Name of the database.
      returned: success
      sample: new_db_name
      type: str
    enhanced_vpc_routing:
      description: status of the enhanced vpc routing feature.
      returned: success
      type: bool
    identifier:
      description: Id of the cluster.
      returned: success
      sample: new_redshift_cluster
      type: str
    maintenance_window:
      description: Time frame when maintenance/upgrade are done.
      returned: success
      sample: sun:09:30-sun:10:00
      type: str
    port:
      description: Port of the cluster. "None" until cluster is available.
      returned: success
      sample: 5439
      type: int
    private_ip_address:
      description: Private IP address of the main node.
      returned: success
      sample: 10.10.10.10
      type: str
    public_ip_address:
      description: Public IP address of the main node. "None" when enhanced_vpc_routing
        is enabled.
      returned: success
      sample: 0.0.0.0
      type: str
    status:
      description: Status of the cluster.
      returned: success
      sample: available
      type: str
    url:
      description: FQDN of the main cluster node. "None" until cluster is available.
      returned: success
      sample: new-redshift_cluster.jfkdjfdkj.us-east-1.redshift.amazonaws.com
      type: str
  description: dictionary containing all the cluster information
  returned: success
  type: complex