community / community.aws / 3.4.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 (3.4.0) — module
Install with ansible-galaxy collection install community.aws:==3.4.0
collections: - name: community.aws version: 3.4.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: description: - A hash/dictionary of tags to add to the new instance or for starting/stopping instance by tag. - 'For example: C({"key":"value"}) or C({"key":"value","key2":"value2"})' 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. 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 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 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: - 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 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 purge_tags: default: true description: - Remove tags not listed in I(tags). type: bool 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 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. - 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 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 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 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 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 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: '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
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