amazon.cloud.redshift_cluster (0.1.0) — module

Create and manage clusters

| "added in version" 0.1.0 of amazon.cloud"

Authors: Ansible Cloud Team (@ansible-collections)

Install collection

Install with ansible-galaxy collection install amazon.cloud:==0.1.0


Add to requirements.yml

  collections:
    - name: amazon.cloud
      version: 0.1.0

Description

Creates and manage clusters (list, create, update, describe, delete).


Requirements

Inputs

    
tags:
    aliases:
    - resource_tags
    description:
    - A dict of tags to apply to the resource.
    - To remove all tags set I(tags={}) and I(purge_tags=true).
    required: false
    type: dict

wait:
    default: false
    description:
    - Wait for operation to complete before returning.
    type: bool

state:
    choices:
    - present
    - absent
    - list
    - describe
    - get
    default: present
    description:
    - Goal state for resource.
    - I(state=present) creates the resource if it doesn't exist, or updates to the provided
      state if the resource already exists.
    - I(state=absent) ensures an existing instance is deleted.
    - I(state=list) get all the existing resources.
    - I(state=describe) or I(state=get) retrieves information on an existing resource.
    type: str

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

classic:
    description:
    - A boolean value indicating whether the resize operation is using the classic resize
      process.
    - If you dont provide this parameter or set the value to false , the resize type is
      elastic.
    type: bool

db_name:
    description:
    - The name of the first database to be created when the cluster is created.
    - To create additional databases after the cluster is created, connect to the cluster
      with a SQL client and use SQL commands to create a database.
    required: true
    type: str

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

endpoint:
    description:
    - Not Provived.
    suboptions: {}
    type: dict

encrypted:
    description:
    - If true, the data in the cluster is encrypted at rest.
    type: bool

iam_roles:
    description:
    - A list of AWS Identity and Access Management (IAM) roles that can be used by the
      cluster to access other AWS services.
    - You must supply the IAM roles in their Amazon Resource Name (ARN) format.
    - You can supply up to 10 IAM roles in a single request
    elements: str
    type: list

node_type:
    description:
    - 'The node type to be provisioned for the cluster.Valid Values: ds2.xlarge | ds2.8xlarge
      | dc1.large | dc1.8xlarge | dc2.large | dc2.8xlarge | ra3.4xlarge | ra3.16xlarge'
    required: true
    type: str

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).
    type: dict

elastic_ip:
    description:
    - The Elastic IP (EIP) address for the cluster.
    type: str

kms_key_id:
    description:
    - The AWS Key Management Service (KMS) key ID of the encryption key that you want
      to use to encrypt data in the cluster.
    type: str

purge_tags:
    default: true
    description:
    - Remove tags not listed in I(tags).
    required: false
    type: bool

cluster_type:
    description:
    - The type of the cluster.
    - When cluster type is specified as single-node, the I(number_of_nodes) parameter
      is not required and if multi-node, the I(number_of_nodes) parameter is required
    required: true
    type: str

wait_timeout:
    default: 320
    description:
    - How many seconds to wait for an operation to complete before timing out.
    type: int

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

owner_account:
    description:
    - Not Provived.
    type: str

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_session_token
    - session_token
    - 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.
    - Aliases I(aws_session_token) and I(session_token) have been added in version 3.2.0.
    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:
    description:
    - The version of the Amazon Redshift engine software that you want to deploy on the
      cluster.The version selected runs on all the nodes in the cluster.
    type: str

master_username:
    description:
    - The user name associated with the master user account for the cluster that is being
      created.
    - The user name cant be PUBLIC and first character must be a letter.
    required: true
    type: str

number_of_nodes:
    description:
    - The number of compute nodes in the cluster.
    - This parameter is required when the I(cluster_type) parameter is specified as multi-node.
    type: int

resource_action:
    description:
    - The Redshift operation to be performed.
    - Resource Action supports pause-cluster, resume-cluster I(apis)
    type: str

revision_target:
    description:
    - The identifier of the database revision.
    - You can retrieve this value from the response to the I(describe_cluster_db_revisions)
      request.
    type: str

availability_zone:
    description:
    - The C(EC2) Availability Zone (AZ) in which you want Amazon Redshift to provision
      the cluster.
    - 'Default: A random, system-chosen Availability Zone in the region that is specified
      by the endpoint'
    type: str

defer_maintenance:
    description:
    - A boolean indicating whether to enable the deferred maintenance window.
    type: bool

cluster_identifier:
    description:
    - A unique identifier for the cluster.
    - You use this identifier to refer to the cluster for any subsequent cluster operations
      such as deleting or modifying.
    - All alphabetical characters must be lower case, no hypens at the end, no two consecutive
      hyphens.
    - Cluster name should be unique for all clusters within an AWS account
    type: str

destination_region:
    description:
    - The destination AWS Region that you want to copy snapshots to.
    - 'Constraints: Must be the name of a valid AWS Region.'
    - For more information, see Regions and Endpoints in the Amazon Web Services ) General
      Reference
    type: str

logging_properties:
    description:
    - Not Provived.
    suboptions:
      bucket_name:
        description:
        - Not Provived.
        required: true
        type: str
      s3_key_prefix:
        description:
        - Not Provived.
        type: str
    type: dict

publicly_accessible:
    description:
    - If true, the cluster can be accessed from a public network.
    type: bool

snapshot_identifier:
    description:
    - The name of the snapshot from which to create the new cluster.
    - This parameter isnt case sensitive.
    type: str

enhanced_vpc_routing:
    description:
    - An option that specifies whether to create the cluster with enhanced VPC routing
      enabled.
    - To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC.
      For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management
      Guide.
    - If this option is true , enhanced VPC routing is enabled.
    - 'Default: false'
    type: bool

master_user_password:
    description:
    - The password associated with the master user account for the cluster that is being
      created.
    - Password must be between 8 and 64 characters in length, should have at least one
      uppercase letter.Must contain at least one lowercase letter.Must contain one number.Can
      be any printable ASCII character.
    required: true
    type: str

snapshot_copy_manual:
    description:
    - Indicates whether to apply the snapshot retention period to newly copied manual
      snapshots instead of automated snapshots.
    type: bool

allow_version_upgrade:
    description:
    - Major version upgrades can be applied during the maintenance window to the Amazon
      Redshift engine that is running on the cluster.
    - Default value is True
    type: bool

rotate_encryption_key:
    description:
    - A boolean indicating if we want to rotate Encryption Keys.
    type: bool

maintenance_track_name:
    description:
    - The name for the maintenance track that you want to assign for the cluster.
    - This name change is asynchronous.
    - The new track name stays in the I(pending_modified_values) for the cluster until
      the next maintenance window.
    - When the maintenance track changes, the cluster is switched to the latest cluster
      release available for the maintenance track.
    - At this point, the maintenance track name is applied.
    type: str

vpc_security_group_ids:
    description:
    - A list of Virtual Private Cloud (VPC) security groups to be associated with the
      cluster.
    elements: str
    type: list

cluster_security_groups:
    description:
    - A list of security groups to be associated with this cluster.
    elements: str
    type: list

snapshot_copy_grant_name:
    description:
    - The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted
      cluster are copied to the destination region.
    type: str

aqua_configuration_status:
    description:
    - The value represents how the cluster is configured to use AQUA (Advanced Query Accelerator)
      after the cluster is restored.
    - Possible values include the following.
    - enabled - Use AQUA if it is available for the current Region and Amazon Redshift
      node type.
    - disabled - Dont use AQUA.
    - auto - Amazon Redshift determines whether to use AQUA.
    type: str

cluster_subnet_group_name:
    description:
    - The name of a cluster subnet group to be associated with this cluster.
    type: str

defer_maintenance_duration:
    description:
    - An integer indicating the duration of the maintenance window in days.
    - If you specify a duration, you cant specify an end time.
    - The duration must be 45 days or less.
    type: int

defer_maintenance_end_time:
    description:
    - A timestamp indicating end time for the deferred maintenance window.
    - If you specify an end time, you cant specify a duration.
    type: str

snapshot_cluster_identifier:
    description:
    - The name of the cluster the source snapshot was created from.
    - This parameter is required if your IAM user has a policy containing a snapshot resource
      element that specifies anything other than * for the cluster name.
    type: str

availability_zone_relocation:
    description:
    - The option to enable relocation for an Amazon Redshift cluster between Availability
      Zones after the cluster modification is complete.
    type: bool

cluster_parameter_group_name:
    description:
    - The name of the parameter group to be associated with this cluster.
    type: str

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

defer_maintenance_start_time:
    description:
    - A timestamp indicating the start time for the deferred maintenance window.
    type: str

hsm_configuration_identifier:
    description:
    - Specifies the name of the HSM configuration that contains the information the Amazon
      Redshift cluster can use to retrieve and store keys in an HSM.
    type: str

preferred_maintenance_window:
    description:
    - The weekly time range (in UTC) during which automated cluster maintenance can occur.
    type: str

snapshot_copy_retention_period:
    description:
    - The number of days to retain automated snapshots in the destination region after
      they are copied from the source region.
    - Default is 7.
    - 'Constraints: Must be at least 1 and no more than 35.'
    type: int

manual_snapshot_retention_period:
    description:
    - The number of days to retain newly copied snapshots in the destination AWS Region
      after they are copied from the source AWS Region.
    - If the value is -1, the manual snapshot is retained indefinitely.
    - The value must be either -1 or an integer between 1 and 3,653.
    type: int

hsm_client_certificate_identifier:
    description:
    - Specifies the name of the HSM client certificate the Amazon Redshift cluster uses
      to retrieve the data encryption keys stored in an HSM
    type: str

automated_snapshot_retention_period:
    description:
    - The number of days that automated snapshots are retained.
    - If the value is 0, automated snapshots are disabled.
    - Default value is 1
    type: int

availability_zone_relocation_status:
    description:
    - The availability zone relocation status of the cluster
    type: str

Outputs

result:
  contains:
    identifier:
      description: The unique identifier of the resource.
      type: str
    properties:
      description: The resource properties.
      type: dict
  description: Dictionary containing resource information.
  returned: always
  type: complex