amazon.cloud.redshift_cluster (0.4.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.4.0


Add to requirements.yml

  collections:
    - name: amazon.cloud
      version: 0.4.0

Description

Creates and manage clusters.


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

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

force:
    default: false
    description:
    - Cancel IN_PROGRESS and PENDING resource requestes.
    - Because you can only perform a single operation on a given resource at a time, there
      might be cases where you need to cancel the current resource operation to make the
      resource available so that another operation may be performed on it.
    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.
    - For global services such as IAM, Route53 and CloudFront, I(region) is ignored.
    - The C(AWS_REGION) or C(EC2_REGION) environment variables may also be used.
    - See the Amazon AWS documentation for more information U(http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region).
    - The C(ec2_region) alias has been deprecated and will be removed in a release after
      2024-12-01
    - Support for the C(EC2_REGION) environment variable has been deprecated and will
      be removed in a release after 2024-12-01.
    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.
    type: str

profile:
    aliases:
    - aws_profile
    description:
    - A named AWS profile to use for authentication.
    - See the AWS documentation for more information about named profiles U(https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html).
    - The C(AWS_PROFILE) environment variable may also be used.
    - The I(profile) option is mutually exclusive with the I(aws_access_key), I(aws_secret_key)
      and I(security_token) options.
    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 50 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.'
    type: str

access_key:
    aliases:
    - aws_access_key_id
    - aws_access_key
    - ec2_access_key
    description:
    - AWS access key ID.
    - See the AWS documentation for more information about access tokens U(https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys).
    - The C(AWS_ACCESS_KEY_ID), C(AWS_ACCESS_KEY) or C(EC2_ACCESS_KEY) environment variables
      may also be used in decreasing order of preference.
    - The I(aws_access_key) and I(profile) options are mutually exclusive.
    - The I(aws_access_key_id) alias was added in release 5.1.0 for consistency with the
      AWS botocore SDK.
    - The I(ec2_access_key) alias has been deprecated and will be removed in a release
      after 2024-12-01.
    - Support for the C(EC2_ACCESS_KEY) environment variable has been deprecated and will
      be removed in a release after 2024-12-01.
    type: str

aws_config:
    description:
    - A dictionary to modify the botocore configuration.
    - Parameters can be found in the AWS documentation 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).
    type: bool

secret_key:
    aliases:
    - aws_secret_access_key
    - aws_secret_key
    - ec2_secret_key
    description:
    - AWS secret access key.
    - See the AWS documentation for more information about access tokens U(https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys).
    - The C(AWS_SECRET_ACCESS_KEY), C(AWS_SECRET_KEY), or C(EC2_SECRET_KEY) environment
      variables may also be used in decreasing order of preference.
    - The I(secret_key) and I(profile) options are mutually exclusive.
    - The I(aws_secret_access_key) alias was added in release 5.1.0 for consistency with
      the AWS botocore SDK.
    - The I(ec2_secret_key) alias has been deprecated and will be removed in a release
      after 2024-12-01.
    - Support for the C(EC2_SECRET_KEY) environment variable has been deprecated and will
      be removed in a release after 2024-12-01.
    type: str

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

endpoint_url:
    aliases:
    - ec2_url
    - aws_endpoint_url
    - s3_url
    description:
    - URL to connect to instead of the default AWS endpoints.  While this can be used
      to connection to other AWS-compatible services the amazon.aws and community.aws
      collections are only tested against AWS.
    - The  C(AWS_URL) or C(EC2_URL) environment variables may also be used, in decreasing
      order of preference.
    - The I(ec2_url) and I(s3_url) aliases have been deprecated and will be removed in
      a release after 2024-12-01.
    - Support for the C(EC2_URL) environment variable has been deprecated and will be
      removed in a release after 2024-12-01.
    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.
    - The C(AWS_CA_BUNDLE) environment variable may also be used.
    type: path

owner_account:
    description:
    - Not Provived.
    type: str

session_token:
    aliases:
    - aws_session_token
    - security_token
    - aws_security_token
    - access_token
    description:
    - AWS STS session token for use with temporary credentials.
    - See the AWS documentation for more information about access tokens U(https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys).
    - The C(AWS_SESSION_TOKEN), C(AWS_SECURITY_TOKEN) or C(EC2_SECURITY_TOKEN) environment
      variables may also be used in decreasing order of preference.
    - The I(security_token) and I(profile) options are mutually exclusive.
    - Aliases I(aws_session_token) and I(session_token) were added in release 3.2.0, with
      the parameter being renamed from I(security_token) to I(session_token) in release
      6.0.0.
    - The I(security_token), I(aws_security_token), and I(access_token) aliases have been
      deprecated and will be removed in a release after 2024-12-01.
    - Support for the C(EC2_SECRET_KEY) and C(AWS_SECURITY_TOKEN) environment variables
      has been deprecated and will be removed in a release after 2024-12-01.
    type: str

validate_certs:
    default: true
    description:
    - When set to C(false), SSL certificates will not be validated for communication with
      the AWS APIs.
    - Setting I(validate_certs=false) is strongly discouraged, as an alternative, consider
      setting I(aws_ca_bundle) instead.
    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.
    type: str

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

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

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

availability_zone:
    description:
    - The 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.
        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.
    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 PendingModifiedValues 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: false
    description:
    - Use a C(botocore.endpoint) logger to parse the unique (rather than total) C("resource:action")
      API calls made during a task, outputing the set to the resource_actions key in the
      task results. Use the C(aws_resource_action) callback to output to total list made
      during a playbook.
    - The C(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:
  - When I(state=list), it is a list containing dictionaries of resource information.
  - Otherwise, it is a dictionary of resource information.
  - When I(state=absent), it is an empty dictionary.
  returned: always
  type: complex