community / community.aws / 5.1.0 / module / dynamodb_table Create, update or delete AWS Dynamo DB tables | "added in version" 1.0.0 of community.aws" Authors: Alan Loi (@loia)community.aws.dynamodb_table (5.1.0) — module
Install with ansible-galaxy collection install community.aws:==5.1.0
collections: - name: community.aws version: 5.1.0
Create or delete AWS Dynamo DB tables.
Can update the provisioned throughput on existing tables.
Returns the status of the specified table.
- name: Create dynamo table with hash and range primary key community.aws.dynamodb_table: name: my-table region: us-east-1 hash_key_name: id hash_key_type: STRING range_key_name: create_time range_key_type: NUMBER read_capacity: 2 write_capacity: 2 tags: tag_name: tag_value
- name: Update capacity on existing dynamo table community.aws.dynamodb_table: name: my-table region: us-east-1 read_capacity: 10 write_capacity: 10
- name: Create pay-per-request table community.aws.dynamodb_table: name: my-table region: us-east-1 hash_key_name: id hash_key_type: STRING billing_mode: PAY_PER_REQUEST
- name: set index on existing dynamo table community.aws.dynamodb_table: name: my-table region: us-east-1 indexes: - name: NamedIndex type: global_include hash_key_name: id range_key_name: create_time includes: - other_field - other_field2 read_capacity: 10 write_capacity: 10
- name: Delete dynamo table community.aws.dynamodb_table: name: my-table region: us-east-1 state: absent
name: description: - Name of the table. required: true type: str tags: aliases: - resource_tags description: - A dictionary representing the tags to be applied to the resource. - If the I(tags) parameter is not set then tags will not be modified. required: false type: dict wait: default: true description: - When I(wait=True) the module will wait for up to I(wait_timeout) seconds for table creation or deletion to complete before returning. type: bool state: choices: - present - absent default: present description: - Create or delete the table. 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 indexes: default: [] description: - list of dictionaries describing indexes to add to the table. global indexes can be updated. local indexes don't support updates or have throughput. - 'required options: [''name'', ''type'', ''hash_key_name'']' - 'other options: [''hash_key_type'', ''range_key_name'', ''range_key_type'', ''includes'', ''read_capacity'', ''write_capacity'']' elements: dict suboptions: hash_key_name: description: - The name of the hash-based key. - Required if index doesn't already exist. - Can not be modified once the index has been created. required: false type: str hash_key_type: choices: - STRING - NUMBER - BINARY description: - The type of the hash-based key. - Defaults to C('STRING') when creating a new index. - Can not be modified once the index has been created. type: str includes: description: A list of fields to include when using C(global_include) or C(include) indexes. elements: str type: list name: description: The name of the index. required: true type: str range_key_name: description: - The name of the range-based key. - Can not be modified once the index has been created. type: str range_key_type: choices: - STRING - NUMBER - BINARY description: - The type of the range-based key. - Defaults to C('STRING') when creating a new index. - Can not be modified once the index has been created. type: str read_capacity: description: - Read throughput capacity (units) to provision for the index. type: int type: choices: - all - global_all - global_include - global_keys_only - include - keys_only description: - The type of index. required: true type: str write_capacity: description: - Write throughput capacity (units) to provision for the index. type: int type: list 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 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 purge_tags: default: true description: - If I(purge_tags=true) and I(tags) is set, existing tags will be purged from the resource to match exactly what is defined by I(tags) parameter. - If the I(tags) parameter is not set then tags will not be modified, even if I(purge_tags=True). - Tag keys beginning with C(aws:) are reserved by Amazon and can not be modified. As such they will be ignored for the purposes of the I(purge_tags) parameter. See the Amazon documentation for more information U(https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions). required: false 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 table_class: choices: - STANDARD - STANDARD_INFREQUENT_ACCESS description: - The class of the table. - Requires at least botocore version 1.23.18. type: str version_added: 3.1.0 version_added_collection: community.aws billing_mode: choices: - PROVISIONED - PAY_PER_REQUEST description: - Controls whether provisoned pr on-demand tables are created. 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: aliases: - wait_for_active_timeout default: 300 description: - How long (in seconds) to wait for creation / update / deletion to complete. 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 hash_key_name: description: - Name of the hash key. - Required when I(state=present) and table doesn't exist. type: str hash_key_type: choices: - STRING - NUMBER - BINARY description: - Type of the hash key. - Defaults to C('STRING') when creating a new table. type: str read_capacity: description: - Read throughput capacity (units) to provision. - Defaults to C(1) when creating a new table. type: int 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 range_key_name: description: - Name of the range key. type: str range_key_type: choices: - STRING - NUMBER - BINARY description: - Type of the range key. - Defaults to C('STRING') when creating a new range key. 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 write_capacity: description: - Write throughput capacity (units) to provision. - Defaults to C(1) when creating a new table. type: int 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
table: contains: {} description: The returned table params from the describe API call. returned: success sample: arn: arn:aws:dynamodb:us-east-1:721066863947:table/ansible-test-table attribute_definitions: - attribute_name: id attribute_type: N billing_mode: PROVISIONED creation_date_time: '2022-02-04T13:36:01.578000+00:00' id: 533b45fe-0870-4b66-9b00-d2afcfe96f19 item_count: 0 key_schema: - attribute_name: id key_type: HASH name: ansible-test-14482047-alinas-mbp provisioned_throughput: number_of_decreases_today: 0 read_capacity_units: 1 write_capacity_units: 1 size: 0 status: ACTIVE table_arn: arn:aws:dynamodb:us-east-1:721066863947:table/ansible-test-table table_id: 533b45fe-0870-4b66-9b00-d2afcfe96f19 table_name: ansible-test-table table_size_bytes: 0 table_status: ACTIVE tags: {} type: complex table_status: description: The current status of the table. returned: success sample: ACTIVE type: str