Amazon related Sanity test fixups (remaining batch 1) (#64368)

* Remove Sanity test ignore.txt entries

* Fixup boilerplate

* Remove use of blacklisted _ variable name

* cloudformation: Add an explicit removal version for template_format

This option's been ignored since ansible 2.3

* General docs cleanup to clear sanity errors

* elasticache_parameter_group: Add list of choices

- matches documented choices
- other values wouldn't have worked

* data_pipeline: Deprecate 'version' - always ignored

* Add deprecation documentation
This commit is contained in:
Mark Chappell 2019-11-04 16:13:27 +01:00 committed by John R Barker
parent 3126c38f8a
commit 8c8077b5be
34 changed files with 1373 additions and 671 deletions

View file

@ -0,0 +1,3 @@
deprecated_features:
- "cloudformation - The ``template_format`` option had no effect since Ansible 2.3 and will be removed in Ansible 2.14"
- "data_pipeline - The ``version`` option had no effect and will be removed in Ansible 2.14"

View file

@ -57,6 +57,9 @@ The following functionality will be removed in Ansible 2.14. Please update updat
* :ref:`s3_lifecycle <s3_lifecycle_module>`: the ``requester_pays`` option will be removed. It has always been ignored by the module. * :ref:`s3_lifecycle <s3_lifecycle_module>`: the ``requester_pays`` option will be removed. It has always been ignored by the module.
* :ref:`s3_sync <s3_sync_module>`: the ``retries`` option will be removed. It has always been ignored by the module. * :ref:`s3_sync <s3_sync_module>`: the ``retries`` option will be removed. It has always been ignored by the module.
* The return values ``err`` and ``out`` of :ref:`docker_stack <docker_stack_module>` have been deprecated. Use ``stdout`` and ``stderr`` from now on instead. * The return values ``err`` and ``out`` of :ref:`docker_stack <docker_stack_module>` have been deprecated. Use ``stdout`` and ``stderr`` from now on instead.
* :ref:`cloudformation <cloudformation_module>`: the ``template_format`` option will be removed. It has been ignored by the module since Ansible 2.3.
* :ref:`data_pipeline <data_pipeline_module>`: the ``version`` option will be removed. It has always been ignored by the module.
The following functionality will change in Ansible 2.14. Please update update your playbooks accordingly. The following functionality will change in Ansible 2.14. Please update update your playbooks accordingly.

View file

@ -18,7 +18,7 @@ short_description: Create or delete an AWS CloudFormation stack
description: description:
- Launches or updates an AWS CloudFormation stack and waits for it complete. - Launches or updates an AWS CloudFormation stack and waits for it complete.
notes: notes:
- Cloudformation features change often, and this module tries to keep up. That means your botocore version should be fresh. - CloudFormation features change often, and this module tries to keep up. That means your botocore version should be fresh.
The version listed in the requirements is the oldest version that works with the module as a whole. The version listed in the requirements is the oldest version that works with the module as a whole.
Some features may require recent versions, and we do not pinpoint a minimum version for each feature. Some features may require recent versions, and we do not pinpoint a minimum version for each feature.
Instead of relying on the minimum version, keep botocore up to date. AWS is always releasing features and fixing bugs. Instead of relying on the minimum version, keep botocore up to date. AWS is always releasing features and fixing bugs.
@ -26,109 +26,129 @@ version_added: "1.1"
options: options:
stack_name: stack_name:
description: description:
- name of the cloudformation stack - Name of the CloudFormation stack.
required: true required: true
type: str
disable_rollback: disable_rollback:
description: description:
- If a stacks fails to form, rollback will remove the stack - If a stacks fails to form, rollback will remove the stack.
default: false
type: bool type: bool
default: 'no'
on_create_failure: on_create_failure:
description: description:
- Action to take upon failure of stack creation. Incompatible with the disable_rollback option. - Action to take upon failure of stack creation. Incompatible with the I(disable_rollback) option.
choices: choices:
- DO_NOTHING - DO_NOTHING
- ROLLBACK - ROLLBACK
- DELETE - DELETE
version_added: "2.8" version_added: "2.8"
type: str
create_timeout: create_timeout:
description: description:
- The amount of time (in minutes) that can pass before the stack status becomes CREATE_FAILED - The amount of time (in minutes) that can pass before the stack status becomes CREATE_FAILED
version_added: "2.6" version_added: "2.6"
type: int
template_parameters: template_parameters:
description: description:
- A list of hashes of all the template variables for the stack. The value can be a string or a dict. - A list of hashes of all the template variables for the stack. The value can be a string or a dict.
- Dict can be used to set additional template parameter attributes like UsePreviousValue (see example). - Dict can be used to set additional template parameter attributes like UsePreviousValue (see example).
default: {} default: {}
type: dict
state: state:
description: description:
- If state is "present", stack will be created. If state is "present" and if stack exists and template has changed, it will be updated. - If I(state=present), stack will be created.
If state is "absent", stack will be removed. - If I(state=present) and if stack exists and template has changed, it will be updated.
- If I(state=absent), stack will be removed.
default: present default: present
choices: [ present, absent ] choices: [ present, absent ]
type: str
template: template:
description: description:
- The local path of the cloudformation template. - The local path of the CloudFormation template.
- This must be the full path to the file, relative to the working directory. If using roles this may look - This must be the full path to the file, relative to the working directory. If using roles this may look
like "roles/cloudformation/files/cloudformation-example.json". like C(roles/cloudformation/files/cloudformation-example.json).
- If 'state' is 'present' and the stack does not exist yet, either 'template', 'template_body' or 'template_url' - If I(state=present) and the stack does not exist yet, either I(template), I(template_body) or I(template_url)
must be specified (but only one of them). If 'state' is 'present', the stack does exist, and neither 'template', must be specified (but only one of them).
'template_body' nor 'template_url' are specified, the previous template will be reused. - If I(state=present), the stack does exist, and neither I(template),
I(template_body) nor I(template_url) are specified, the previous template will be reused.
type: path
notification_arns: notification_arns:
description: description:
- The Simple Notification Service (SNS) topic ARNs to publish stack related events. - A comma separated list of Simple Notification Service (SNS) topic ARNs to publish stack related events.
version_added: "2.0" version_added: "2.0"
type: str
stack_policy: stack_policy:
description: description:
- the path of the cloudformation stack policy. A policy cannot be removed once placed, but it can be modified. - The path of the CloudFormation stack policy. A policy cannot be removed once placed, but it can be modified.
for instance, allow all updates U(https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html#d0e9051) for instance, allow all updates U(https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html#d0e9051)
version_added: "1.9" version_added: "1.9"
type: str
tags: tags:
description: description:
- Dictionary of tags to associate with stack and its resources during stack creation. Can be updated later, updating tags removes previous entries. - Dictionary of tags to associate with stack and its resources during stack creation.
- Can be updated later, updating tags removes previous entries.
version_added: "1.4" version_added: "1.4"
type: dict
template_url: template_url:
description: description:
- Location of file containing the template body. The URL must point to a template (max size 307,200 bytes) located in an S3 bucket in the same region - Location of file containing the template body. The URL must point to a template (max size 307,200 bytes) located in an
as the stack. S3 bucket in the same region as the stack.
- If 'state' is 'present' and the stack does not exist yet, either 'template', 'template_body' or 'template_url' - If I(state=present) and the stack does not exist yet, either I(template), I(template_body) or I(template_url)
must be specified (but only one of them). If 'state' is present, the stack does exist, and neither 'template', must be specified (but only one of them).
'template_body' nor 'template_url' are specified, the previous template will be reused. - If I(state=present), the stack does exist, and neither I(template), I(template_body) nor I(template_url) are specified,
the previous template will be reused.
version_added: "2.0" version_added: "2.0"
type: str
create_changeset: create_changeset:
description: description:
- "If stack already exists create a changeset instead of directly applying changes. - "If stack already exists create a changeset instead of directly applying changes. See the AWS Change Sets docs
See the AWS Change Sets docs U(https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets.html). U(https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets.html)."
WARNING: if the stack does not exist, it will be created without changeset. If the state is absent, the stack will be deleted immediately with no - "WARNING: if the stack does not exist, it will be created without changeset. If I(state=absent), the stack will be
changeset." deleted immediately with no changeset."
type: bool type: bool
default: 'no' default: false
version_added: "2.4" version_added: "2.4"
changeset_name: changeset_name:
description: description:
- Name given to the changeset when creating a changeset, only used when create_changeset is true. By default a name prefixed with Ansible-STACKNAME - Name given to the changeset when creating a changeset.
is generated based on input parameters. - Only used when I(create_changeset=true).
See the AWS Change Sets docs U(https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets.html) - By default a name prefixed with Ansible-STACKNAME is generated based on input parameters.
See the AWS Change Sets docs for more information
U(https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets.html)
version_added: "2.4" version_added: "2.4"
type: str
template_format: template_format:
description: description:
- (deprecated) For local templates, allows specification of json or yaml format. Templates are now passed raw to CloudFormation regardless of format. - This parameter is ignored since Ansible 2.3 and will be removed in Ansible 2.14.
This parameter is ignored since Ansible 2.3. - Templates are now passed raw to CloudFormation regardless of format.
default: json
choices: [ json, yaml ]
version_added: "2.0" version_added: "2.0"
type: str
role_arn: role_arn:
description: description:
- The role that AWS CloudFormation assumes to create the stack. See the AWS CloudFormation Service Role - The role that AWS CloudFormation assumes to create the stack. See the AWS CloudFormation Service Role
docs U(https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-servicerole.html) docs U(https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-servicerole.html)
version_added: "2.3" version_added: "2.3"
type: str
termination_protection: termination_protection:
description: description:
- enable or disable termination protection on the stack. Only works with botocore >= 1.7.18. - Enable or disable termination protection on the stack. Only works with botocore >= 1.7.18.
type: bool type: bool
version_added: "2.5" version_added: "2.5"
template_body: template_body:
description: description:
- Template body. Use this to pass in the actual body of the Cloudformation template. - Template body. Use this to pass in the actual body of the CloudFormation template.
- If 'state' is 'present' and the stack does not exist yet, either 'template', 'template_body' or 'template_url' - If I(state=present) and the stack does not exist yet, either I(template), I(template_body) or I(template_url)
must be specified (but only one of them). If 'state' is present, the stack does exist, and neither 'template', must be specified (but only one of them).
'template_body' nor 'template_url' are specified, the previous template will be reused. - If I(state=present), the stack does exist, and neither I(template), I(template_body) nor I(template_url)
are specified, the previous template will be reused.
version_added: "2.5" version_added: "2.5"
type: str
events_limit: events_limit:
description: description:
- Maximum number of CloudFormation events to fetch from a stack when creating or updating it. - Maximum number of CloudFormation events to fetch from a stack when creating or updating it.
default: 200 default: 200
version_added: "2.7" version_added: "2.7"
type: int
backoff_delay: backoff_delay:
description: description:
- Number of seconds to wait for the next retry. - Number of seconds to wait for the next retry.
@ -146,7 +166,7 @@ options:
backoff_retries: backoff_retries:
description: description:
- Number of times to retry operation. - Number of times to retry operation.
- AWS API throttling mechanism fails Cloudformation module so we have to retry a couple of times. - AWS API throttling mechanism fails CloudFormation module so we have to retry a couple of times.
default: 10 default: 10
version_added: "2.8" version_added: "2.8"
type: int type: int
@ -154,8 +174,9 @@ options:
capabilities: capabilities:
description: description:
- Specify capabilities that stack template contains. - Specify capabilities that stack template contains.
- Valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM and CAPABILITY_AUTO_EXPAND. - Valid values are C(CAPABILITY_IAM), C(CAPABILITY_NAMED_IAM) and C(CAPABILITY_AUTO_EXPAND).
type: list type: list
elements: str
version_added: "2.8" version_added: "2.8"
default: [ CAPABILITY_IAM, CAPABILITY_NAMED_IAM ] default: [ CAPABILITY_IAM, CAPABILITY_NAMED_IAM ]
@ -231,9 +252,9 @@ EXAMPLES = '''
tags: tags:
Stack: ansible-cloudformation Stack: ansible-cloudformation
# Pass a template parameter which uses Cloudformation's UsePreviousValue attribute # Pass a template parameter which uses CloudFormation's UsePreviousValue attribute
# When use_previous_value is set to True, the given value will be ignored and # When use_previous_value is set to True, the given value will be ignored and
# Cloudformation will use the value from a previously submitted template. # CloudFormation will use the value from a previously submitted template.
# If use_previous_value is set to False (default) the given value is used. # If use_previous_value is set to False (default) the given value is used.
- cloudformation: - cloudformation:
stack_name: "ansible-cloudformation" stack_name: "ansible-cloudformation"
@ -283,7 +304,7 @@ EXAMPLES = '''
RETURN = ''' RETURN = '''
events: events:
type: list type: list
description: Most recent events in Cloudformation's event log. This may be from a previous run in some cases. description: Most recent events in CloudFormation's event log. This may be from a previous run in some cases.
returned: always returned: always
sample: ["StackEvent AWS::CloudFormation::Stack stackname UPDATE_COMPLETE", "StackEvent AWS::CloudFormation::Stack stackname UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"] sample: ["StackEvent AWS::CloudFormation::Stack stackname UPDATE_COMPLETE", "StackEvent AWS::CloudFormation::Stack stackname UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"]
log: log:
@ -638,7 +659,7 @@ def main():
create_timeout=dict(default=None, type='int'), create_timeout=dict(default=None, type='int'),
template_url=dict(default=None, required=False), template_url=dict(default=None, required=False),
template_body=dict(default=None, require=False), template_body=dict(default=None, require=False),
template_format=dict(default=None, choices=['json', 'yaml'], required=False), template_format=dict(removed_in_version='2.14'),
create_changeset=dict(default=False, type='bool'), create_changeset=dict(default=False, type='bool'),
changeset_name=dict(default=None, required=False), changeset_name=dict(default=None, required=False),
role_arn=dict(default=None, required=False), role_arn=dict(default=None, required=False),
@ -812,10 +833,6 @@ def main():
except Exception as err: except Exception as err:
module.fail_json(msg=boto_exception(err), exception=traceback.format_exc()) module.fail_json(msg=boto_exception(err), exception=traceback.format_exc())
if module.params['template_format'] is not None:
result['warnings'] = [('Argument `template_format` is deprecated '
'since Ansible 2.3, JSON and YAML templates are now passed '
'directly to the CloudFormation API.')]
module.exit_json(**result) module.exit_json(**result)

View file

@ -16,7 +16,7 @@ DOCUMENTATION = '''
module: cloudformation_info module: cloudformation_info
short_description: Obtain information about an AWS CloudFormation stack short_description: Obtain information about an AWS CloudFormation stack
description: description:
- Gets information about an AWS CloudFormation stack - Gets information about an AWS CloudFormation stack.
- This module was called C(cloudformation_facts) before Ansible 2.9, returning C(ansible_facts). - This module was called C(cloudformation_facts) before Ansible 2.9, returning C(ansible_facts).
Note that the M(cloudformation_info) module no longer returns C(ansible_facts)! Note that the M(cloudformation_info) module no longer returns C(ansible_facts)!
requirements: requirements:
@ -28,31 +28,32 @@ options:
stack_name: stack_name:
description: description:
- The name or id of the CloudFormation stack. Gathers information on all stacks by default. - The name or id of the CloudFormation stack. Gathers information on all stacks by default.
type: str
all_facts: all_facts:
description: description:
- Get all stack information for the stack - Get all stack information for the stack.
type: bool type: bool
default: 'no' default: false
stack_events: stack_events:
description: description:
- Get stack events for the stack - Get stack events for the stack.
type: bool type: bool
default: 'no' default: false
stack_template: stack_template:
description: description:
- Get stack template body for the stack - Get stack template body for the stack.
type: bool type: bool
default: 'no' default: false
stack_resources: stack_resources:
description: description:
- Get stack resources for the stack - Get stack resources for the stack.
type: bool type: bool
default: 'no' default: false
stack_policy: stack_policy:
description: description:
- Get stack policy for the stack - Get stack policy for the stack.
type: bool type: bool
default: 'no' default: false
extends_documentation_fragment: extends_documentation_fragment:
- aws - aws
- ec2 - ec2

View file

@ -15,54 +15,65 @@ DOCUMENTATION = '''
module: cloudformation_stack_set module: cloudformation_stack_set
short_description: Manage groups of CloudFormation stacks short_description: Manage groups of CloudFormation stacks
description: description:
- Launches/updates/deletes AWS CloudFormation Stack Sets - Launches/updates/deletes AWS CloudFormation Stack Sets.
notes: notes:
- To make an individual stack, you want the cloudformation module. - To make an individual stack, you want the M(cloudformation) module.
version_added: "2.7" version_added: "2.7"
options: options:
name: name:
description: description:
- name of the cloudformation stack set - Name of the CloudFormation stack set.
required: true required: true
type: str
description: description:
description: description:
- A description of what this stack set creates - A description of what this stack set creates.
type: str
parameters: parameters:
description: description:
- A list of hashes of all the template variables for the stack. The value can be a string or a dict. - A list of hashes of all the template variables for the stack. The value can be a string or a dict.
- Dict can be used to set additional template parameter attributes like UsePreviousValue (see example). - Dict can be used to set additional template parameter attributes like UsePreviousValue (see example).
default: {} default: {}
type: dict
state: state:
description: description:
- If state is "present", stack will be created. If state is "present" and if stack exists and template has changed, it will be updated. - If I(state=present), stack will be created. If I(state=present) and if stack exists and template has changed, it will be updated.
If state is "absent", stack will be removed. If I(state=absent), stack will be removed.
default: present default: present
choices: [ present, absent ] choices: [ present, absent ]
type: str
template: template:
description: description:
- The local path of the cloudformation template. - The local path of the CloudFormation template.
- This must be the full path to the file, relative to the working directory. If using roles this may look - This must be the full path to the file, relative to the working directory. If using roles this may look
like "roles/cloudformation/files/cloudformation-example.json". like C(roles/cloudformation/files/cloudformation-example.json).
- If 'state' is 'present' and the stack does not exist yet, either 'template', 'template_body' or 'template_url' - If I(state=present) and the stack does not exist yet, either I(template), I(template_body) or I(template_url)
must be specified (but only one of them). If 'state' is present, the stack does exist, and neither 'template', must be specified (but only one of them).
'template_body' nor 'template_url' are specified, the previous template will be reused. - If I(state=present), the stack does exist, and neither I(template), I(template_body) nor I(template_url)
are specified, the previous template will be reused.
type: path
template_body: template_body:
description: description:
- Template body. Use this to pass in the actual body of the Cloudformation template. - Template body. Use this to pass in the actual body of the CloudFormation template.
- If 'state' is 'present' and the stack does not exist yet, either 'template', 'template_body' or 'template_url' - If I(state=present) and the stack does not exist yet, either I(template), I(template_body) or I(template_url)
must be specified (but only one of them). If 'state' is present, the stack does exist, and neither 'template', must be specified (but only one of them).
'template_body' nor 'template_url' are specified, the previous template will be reused. - If I(state=present), the stack does exist, and neither I(template), I(template_body) nor I(template_url)
are specified, the previous template will be reused.
type: str
template_url: template_url:
description: description:
- Location of file containing the template body. The URL must point to a template (max size 307,200 bytes) located in an S3 bucket in the same region - Location of file containing the template body.
- The URL must point to a template (max size 307,200 bytes) located in an S3 bucket in the same region
as the stack. as the stack.
- If 'state' is 'present' and the stack does not exist yet, either 'template', 'template_body' or 'template_url' - If I(state=present) and the stack does not exist yet, either I(template), I(template_body) or I(template_url)
must be specified (but only one of them). If 'state' is present, the stack does exist, and neither 'template', must be specified (but only one of them).
'template_body' nor 'template_url' are specified, the previous template will be reused. - If I(state=present), the stack does exist, and neither I(template), I(template_body) nor I(template_url)
are specified, the previous template will be reused.
type: str
purge_stacks: purge_stacks:
description: description:
- Only applicable when I(state=absent). Sets whether, when deleting a stack set, the stack instances should also be deleted. - Only applicable when I(state=absent). Sets whether, when deleting a stack set, the stack instances should also be deleted.
- By default, instances will be deleted. Set to 'no' or 'false' to keep stacks when stack set is deleted. - By default, instances will be deleted. To keep stacks when stack set is deleted set I(purge_stacks=false).
type: bool type: bool
default: true default: true
wait: wait:
@ -75,6 +86,7 @@ options:
description: description:
- How long to wait (in seconds) for stacks to complete create/update/delete operations. - How long to wait (in seconds) for stacks to complete create/update/delete operations.
default: 900 default: 900
type: int
capabilities: capabilities:
description: description:
- Capabilities allow stacks to create and modify IAM resources, which may include adding users or roles. - Capabilities allow stacks to create and modify IAM resources, which may include adding users or roles.
@ -82,6 +94,8 @@ options:
- > - >
The following resources require that one or both of these parameters is specified: AWS::IAM::AccessKey, The following resources require that one or both of these parameters is specified: AWS::IAM::AccessKey,
AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::IAM::UserToGroupAddition AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::IAM::UserToGroupAddition
type: list
elements: str
choices: choices:
- 'CAPABILITY_IAM' - 'CAPABILITY_IAM'
- 'CAPABILITY_NAMED_IAM' - 'CAPABILITY_NAMED_IAM'
@ -91,35 +105,72 @@ options:
specifies the region for stack instances. specifies the region for stack instances.
- At least one region must be specified to create a stack set. On updates, if fewer regions are specified only the specified regions will - At least one region must be specified to create a stack set. On updates, if fewer regions are specified only the specified regions will
have their stack instances updated. have their stack instances updated.
type: list
elements: str
accounts: accounts:
description: description:
- A list of AWS accounts in which to create instance of CloudFormation stacks. - A list of AWS accounts in which to create instance of CloudFormation stacks.
- At least one region must be specified to create a stack set. On updates, if fewer regions are specified only the specified regions will - At least one region must be specified to create a stack set. On updates, if fewer regions are specified only the specified regions will
have their stack instances updated. have their stack instances updated.
type: list
elements: str
administration_role_arn: administration_role_arn:
description: description:
- ARN of the administration role, meaning the role that CloudFormation Stack Sets use to assume the roles in your child accounts. - ARN of the administration role, meaning the role that CloudFormation Stack Sets use to assume the roles in your child accounts.
- This defaults to I(arn:aws:iam::{{ account ID }}:role/AWSCloudFormationStackSetAdministrationRole) where I({{ account ID }}) is replaced with the - This defaults to C(arn:aws:iam::{{ account ID }}:role/AWSCloudFormationStackSetAdministrationRole) where C({{ account ID }}) is replaced with the
account number of the current IAM role/user/STS credentials. account number of the current IAM role/user/STS credentials.
aliases: aliases:
- admin_role_arn - admin_role_arn
- admin_role - admin_role
- administration_role - administration_role
type: str
execution_role_name: execution_role_name:
description: description:
- ARN of the execution role, meaning the role that CloudFormation Stack Sets assumes in your child accounts. - ARN of the execution role, meaning the role that CloudFormation Stack Sets assumes in your child accounts.
- This MUST NOT be an ARN, and the roles must exist in each child account specified. - This MUST NOT be an ARN, and the roles must exist in each child account specified.
- The default name for the execution role is I(AWSCloudFormationStackSetExecutionRole) - The default name for the execution role is C(AWSCloudFormationStackSetExecutionRole)
aliases: aliases:
- exec_role_name - exec_role_name
- exec_role - exec_role
- execution_role - execution_role
type: str
tags: tags:
description: description:
- Dictionary of tags to associate with stack and its resources during stack creation. Can be updated later, updating tags removes previous entries. - Dictionary of tags to associate with stack and its resources during stack creation.
- Can be updated later, updating tags removes previous entries.
type: dict
failure_tolerance: failure_tolerance:
description: description:
- Settings to change what is considered "failed" when running stack instance updates, and how many to do at a time. - Settings to change what is considered "failed" when running stack instance updates, and how many to do at a time.
type: dict
suboptions:
fail_count:
description:
- The number of accounts, per region, for which this operation can fail before CloudFormation
stops the operation in that region.
- You must specify one of I(fail_count) and I(fail_percentage).
type: int
fail_percentage:
type: int
description:
- The percentage of accounts, per region, for which this stack operation can fail before CloudFormation
stops the operation in that region.
- You must specify one of I(fail_count) and I(fail_percentage).
parallel_percentage:
type: int
description:
- The maximum percentage of accounts in which to perform this operation at one time.
- You must specify one of I(parallel_count) and I(parallel_percentage).
- Note that this setting lets you specify the maximum for operations.
For large deployments, under certain circumstances the actual percentage may be lower.
parallel_count:
type: int
description:
- The maximum number of accounts in which to perform this operation at one time.
- I(parallel_count) may be at most one more than the I(fail_count).
- You must specify one of I(parallel_count) and I(parallel_percentage).
- Note that this setting lets you specify the maximum for operations.
For large deployments, under certain circumstances the actual count may be lower.
author: "Ryan Scott Brown (@ryansb)" author: "Ryan Scott Brown (@ryansb)"
extends_documentation_fragment: extends_documentation_fragment:
@ -170,7 +221,7 @@ EXAMPLES = '''
RETURN = ''' RETURN = '''
operations_log: operations_log:
type: list type: list
description: Most recent events in Cloudformation's event log. This may be from a previous run in some cases. description: Most recent events in CloudFormation's event log. This may be from a previous run in some cases.
returned: always returned: always
sample: sample:
- action: CREATE - action: CREATE

View file

@ -2,6 +2,10 @@
# Copyright (c) 2017 Ansible Project # Copyright (c) 2017 Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'], 'status': ['preview'],
'supported_by': 'community'} 'supported_by': 'community'}
@ -11,7 +15,7 @@ DOCUMENTATION = '''
module: cloudfront_distribution module: cloudfront_distribution
short_description: create, update and delete aws cloudfront distributions. short_description: Create, update and delete AWS CloudFront distributions.
description: description:
- Allows for easy creation, updating and deletion of CloudFront distributions. - Allows for easy creation, updating and deletion of CloudFront distributions.
@ -34,39 +38,47 @@ options:
state: state:
description: description:
- The desired state of the distribution - The desired state of the distribution.
present - creates a new distribution or updates an existing distribution. - I(state=present) creates a new distribution or updates an existing distribution.
absent - deletes an existing distribution. - I(state=absent) deletes an existing distribution.
choices: ['present', 'absent'] choices: ['present', 'absent']
default: 'present' default: 'present'
type: str
distribution_id: distribution_id:
description: description:
- The id of the cloudfront distribution. This parameter can be exchanged with I(alias) or I(caller_reference) and is used in conjunction with I(e_tag). - The id of the CloudFront distribution.
- This parameter can be exchanged with I(alias) or I(caller_reference) and is used in conjunction with I(e_tag).
type: str
e_tag: e_tag:
description: description:
- A unique identifier of a modified or existing distribution. Used in conjunction with I(distribution_id). - A unique identifier of a modified or existing distribution. Used in conjunction with I(distribution_id).
Is determined automatically if not specified. - Is determined automatically if not specified.
type: str
caller_reference: caller_reference:
description: description:
- A unique identifier for creating and updating cloudfront distributions. Each caller reference must be unique across all distributions. e.g. a caller - A unique identifier for creating and updating cloudfront distributions.
reference used in a web distribution cannot be reused in a streaming distribution. This parameter can be used instead of I(distribution_id) - Each caller reference must be unique across all distributions. e.g. a caller reference used in a web
distribution cannot be reused in a streaming distribution. This parameter can be used instead of I(distribution_id)
to reference an existing distribution. If not specified, this defaults to a datetime stamp of the format to reference an existing distribution. If not specified, this defaults to a datetime stamp of the format
'YYYY-MM-DDTHH:MM:SS.ffffff'. C(YYYY-MM-DDTHH:MM:SS.ffffff).
type: str
tags: tags:
description: description:
- Should be input as a dict() of key-value pairs. - Should be input as a dict of key-value pairs.
Note that numeric keys or values must be wrapped in quotes. e.g. "Priority:" '1' - Note that numeric keys or values must be wrapped in quotes. e.g. "Priority:" '1'
type: dict
purge_tags: purge_tags:
description: description:
- Specifies whether existing tags will be removed before adding new tags. When I(purge_tags=yes), existing tags are removed and I(tags) are added, if - Specifies whether existing tags will be removed before adding new tags.
specified. If no tags are specified, it removes all existing tags for the distribution. When I(purge_tags=no), existing tags are kept and I(tags) - When I(purge_tags=yes), existing tags are removed and I(tags) are added, if specified.
are added, if specified. If no tags are specified, it removes all existing tags for the distribution.
default: 'no' - When I(purge_tags=no), existing tags are kept and I(tags) are added, if specified.
default: false
type: bool type: bool
alias: alias:
@ -74,227 +86,501 @@ options:
- The name of an alias (CNAME) that is used in a distribution. This is used to effectively reference a distribution by its alias as an alias can only - The name of an alias (CNAME) that is used in a distribution. This is used to effectively reference a distribution by its alias as an alias can only
be used by one distribution per AWS account. This variable avoids having to provide the I(distribution_id) as well as be used by one distribution per AWS account. This variable avoids having to provide the I(distribution_id) as well as
the I(e_tag), or I(caller_reference) of an existing distribution. the I(e_tag), or I(caller_reference) of an existing distribution.
type: str
aliases: aliases:
description: description:
- A I(list[]) of domain name aliases (CNAMEs) as strings to be used for the distribution. Each alias must be unique across all distribution for the AWS - A list) of domain name aliases (CNAMEs) as strings to be used for the distribution.
account. - Each alias must be unique across all distribution for the AWS account.
type: list
elements: str
purge_aliases: purge_aliases:
description: description:
- Specifies whether existing aliases will be removed before adding new aliases. When I(purge_aliases=yes), existing aliases are removed and I(aliases) - Specifies whether existing aliases will be removed before adding new aliases.
are added. - When I(purge_aliases=yes), existing aliases are removed and I(aliases) are added.
default: 'no' default: false
type: bool type: bool
default_root_object: default_root_object:
description: description:
- A config element that specifies the path to request when the user requests the origin. e.g. if specified as 'index.html', this maps to - A config element that specifies the path to request when the user requests the origin.
www.example.com/index.html when www.example.com is called by the user. This prevents the entire distribution origin from being exposed at the root. - e.g. if specified as 'index.html', this maps to www.example.com/index.html when www.example.com is called by the user.
- This prevents the entire distribution origin from being exposed at the root.
type: str
default_origin_domain_name: default_origin_domain_name:
description: description:
- The domain name to use for an origin if no I(origins) have been specified. Should only be used on a first run of generating a distribution and not on - The domain name to use for an origin if no I(origins) have been specified.
subsequent runs. Should not be used in conjunction with I(distribution_id), I(caller_reference) or I(alias). - Should only be used on a first run of generating a distribution and not on
subsequent runs.
- Should not be used in conjunction with I(distribution_id), I(caller_reference) or I(alias).
type: str
default_origin_path: default_origin_path:
description: description:
- The default origin path to specify for an origin if no I(origins) have been specified. Defaults to empty if not specified. - The default origin path to specify for an origin if no I(origins) have been specified. Defaults to empty if not specified.
type: str
origins: origins:
type: list
elements: dict
description: description:
- A config element that is a I(list[]) of complex origin objects to be specified for the distribution. Used for creating and updating distributions. - A config element that is a list of complex origin objects to be specified for the distribution. Used for creating and updating distributions.
Each origin item comprises the attributes suboptions:
I(id) id:
I(domain_name) (defaults to default_origin_domain_name if not specified) description: A unique identifier for the origin or origin group. I(id) must be unique within the distribution.
I(origin_path) (defaults to default_origin_path if not specified) type: str
I(custom_headers[]) domain_name:
I(header_name) description:
I(header_value) - The domain name which CloudFront will query as the origin.
I(s3_origin_access_identity_enabled) - For more information see the CloudFront documentation
I(custom_origin_config) at U(https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesDomainName)
I(http_port) type: str
I(https_port) origin_path:
I(origin_protocol_policy) description: Tells CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.
I(origin_ssl_protocols[]) type: str
I(origin_read_timeout) custom_headers:
I(origin_keepalive_timeout) description:
- Custom headers you wish to add to the request before passing it to the origin.
- For more information see the CloudFront documentation
at U(https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html)
type: list
elements: dict
suboptions:
header_name:
description: The name of a header that you want CloudFront to forward to your origin.
type: str
header_value:
description: The value for the header that you specified in the I(header_name) field.
type: str
s3_origin_access_identity_enabled:
description:
- Use an origin access identity to configure the origin so that viewers can only access objects in an Amazon S3 bucket through CloudFront.
- Will automatically create an Identity for you.
- See also U(https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html).
type: bool
custom_origin_config:
description: Connection information about the origin.
type: dict
suboptions:
http_port:
description: The HTTP port the custom origin listens on.
type: int
https_port:
description: The HTTPS port the custom origin listens on.
type: int
origin_protocol_policy:
description: The origin protocol policy to apply to your origin.
type: str
origin_ssl_protocols:
description: A list of SSL/TLS protocols that you want CloudFront to use when communicating to the origin over HTTPS.
type: list
elements: str
origin_read_timeout:
description: A timeout (in seconds) when reading from your origin.
type: int
origin_keepalive_timeout:
description: A keep-alive timeout (in seconds).
type: int
purge_origins: purge_origins:
description: Whether to remove any origins that aren't listed in I(origins) description: Whether to remove any origins that aren't listed in I(origins).
default: false default: false
type: bool type: bool
default_cache_behavior: default_cache_behavior:
type: dict
description: description:
- A config element that is a complex object specifying the default cache behavior of the distribution. If not specified, the I(target_origin_id) is - A dict specifying the default cache behavior of the distribution.
defined as the I(target_origin_id) of the first valid I(cache_behavior) in I(cache_behaviors) with defaults. - If not specified, the I(target_origin_id) is defined as the I(target_origin_id) of the first valid
The default cache behavior comprises the attributes I(cache_behavior) in I(cache_behaviors) with defaults.
I(target_origin_id) suboptions:
I(forwarded_values) target_origin_id:
I(query_string) description:
I(cookies) - The ID of the origin that you want CloudFront to route requests to
I(forward) by default.
I(whitelisted_names) type: str
I(headers[]) forwarded_values:
I(query_string_cache_keys[]) description:
I(trusted_signers) - A dict that specifies how CloudFront handles query strings and cookies.
I(enabled) type: dict
I(items[]) suboptions:
I(viewer_protocol_policy) query_string:
I(min_ttl) description:
I(allowed_methods) - Indicates whether you want CloudFront to forward query strings
I(items[]) to the origin that is associated with this cache behavior.
I(cached_methods[]) type: bool
I(smooth_streaming) cookies:
I(default_ttl) description: A dict that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones.
I(max_ttl) type: dict
I(compress) suboptions:
I(lambda_function_associations[]) forward:
I(lambda_function_arn) description:
I(event_type) - Specifies which cookies to forward to the origin for this cache behavior.
I(field_level_encryption_id) - Valid values are C(all), C(none), or C(whitelist).
type: str
whitelisted_names:
type: list
elements: str
description: A list of coockies to forward to the origin for this cache behavior.
headers:
description:
- A list of headers to forward to the origin for this cache behavior.
- To forward all headers use a list containing a single element '*' (C(['*']))
type: list
elements: str
query_string_cache_keys:
description:
- A list that contains the query string parameters you want CloudFront to use as a basis for caching for a cache behavior.
type: list
elements: str
trusted_signers:
description:
- A dict that specifies the AWS accounts that you want to allow to create signed URLs for private content.
type: dict
suboptions:
enabled:
description: Whether you want to require viewers to use signed URLs to access the files specified by I(target_origin_id)
type: bool
items:
description: A list of trusted signers for this cache behavior.
elements: str
type: list
viewer_protocol_policy:
description:
- The protocol that viewers can use to access the files in the origin specified by I(target_origin_id).
- Valid values are C(allow-all), C(redirect-to-https) and C(https-only).
type: str
default_ttl:
description: The default amount of time that you want objects to stay in CloudFront caches.
type: int
max_ttl:
description: The maximum amount of time that you want objects to stay in CloudFront caches.
type: int
min_ttl:
description: The minimum amount of time that you want objects to stay in CloudFront caches.
type: int
allowed_methods:
description: A dict that controls which HTTP methods CloudFront processes and forwards.
type: dict
suboptions:
items:
description: A list of HTTP methods that you want CloudFront to process and forward.
type: list
elements: str
cached_methods:
description:
- A list of HTTP methods that you want CloudFront to apply caching to.
- This can either be C([GET,HEAD]), or C([GET,HEAD,OPTIONS]).
type: list
elements: str
smooth_streaming:
description:
- Whether you want to distribute media files in the Microsoft Smooth Streaming format.
type: bool
compress:
description:
- Whether you want CloudFront to automatically compress files.
type: bool
lambda_function_associations:
description:
- A list of Lambda function associations to use for this cache behavior.
type: list
elements: dict
suboptions:
lambda_function_arn:
description: The ARN of the Lambda function.
type: str
event_type:
description:
- Specifies the event type that triggers a Lambda function invocation.
- This can be C(viewer-request), C(origin-request), C(origin-response) or C(viewer-response).
type: str
field_level_encryption_id:
description:
- The field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data.
type: str
cache_behaviors: cache_behaviors:
type: list
elements: dict
description: description:
- A config element that is a I(list[]) of complex cache behavior objects to be specified for the distribution. The order - A list of dictionaries describing the cache behaviors for the distribution.
of the list is preserved across runs unless C(purge_cache_behavior) is enabled. - The order of the list is preserved across runs unless I(purge_cache_behavior) is enabled.
Each cache behavior comprises the attributes suboptions:
I(path_pattern) path_pattern:
I(target_origin_id) description:
I(forwarded_values) - The pattern that specifies which requests to apply the behavior to.
I(query_string) type: str
I(cookies) target_origin_id:
I(forward) description:
I(whitelisted_names) - The ID of the origin that you want CloudFront to route requests to
I(headers[]) by default.
I(query_string_cache_keys[]) type: str
I(trusted_signers) forwarded_values:
I(enabled) description:
I(items[]) - A dict that specifies how CloudFront handles query strings and cookies.
I(viewer_protocol_policy) type: dict
I(min_ttl) suboptions:
I(allowed_methods) query_string:
I(items[]) description:
I(cached_methods[]) - Indicates whether you want CloudFront to forward query strings
I(smooth_streaming) to the origin that is associated with this cache behavior.
I(default_ttl) type: bool
I(max_ttl) cookies:
I(compress) description: A dict that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones.
I(lambda_function_associations[]) type: dict
I(field_level_encryption_id) suboptions:
forward:
description:
- Specifies which cookies to forward to the origin for this cache behavior.
- Valid values are C(all), C(none), or C(whitelist).
type: str
whitelisted_names:
type: list
elements: str
description: A list of coockies to forward to the origin for this cache behavior.
headers:
description:
- A list of headers to forward to the origin for this cache behavior.
- To forward all headers use a list containing a single element '*' (C(['*']))
type: list
elements: str
query_string_cache_keys:
description:
- A list that contains the query string parameters you want CloudFront to use as a basis for caching for a cache behavior.
type: list
elements: str
trusted_signers:
description:
- A dict that specifies the AWS accounts that you want to allow to create signed URLs for private content.
type: dict
suboptions:
enabled:
description: Whether you want to require viewers to use signed URLs to access the files specified by I(path_pattern) and I(target_origin_id)
type: bool
items:
description: A list of trusted signers for this cache behavior.
elements: str
type: list
viewer_protocol_policy:
description:
- The protocol that viewers can use to access the files in the origin specified by I(target_origin_id) when a request matches I(path_pattern).
- Valid values are C(allow-all), C(redirect-to-https) and C(https-only).
type: str
default_ttl:
description: The default amount of time that you want objects to stay in CloudFront caches.
type: int
max_ttl:
description: The maximum amount of time that you want objects to stay in CloudFront caches.
type: int
min_ttl:
description: The minimum amount of time that you want objects to stay in CloudFront caches.
type: int
allowed_methods:
description: A dict that controls which HTTP methods CloudFront processes and forwards.
type: dict
suboptions:
items:
description: A list of HTTP methods that you want CloudFront to process and forward.
type: list
elements: str
cached_methods:
description:
- A list of HTTP methods that you want CloudFront to apply caching to.
- This can either be C([GET,HEAD]), or C([GET,HEAD,OPTIONS]).
type: list
elements: str
smooth_streaming:
description:
- Whether you want to distribute media files in the Microsoft Smooth Streaming format.
type: bool
compress:
description:
- Whether you want CloudFront to automatically compress files.
type: bool
lambda_function_associations:
description:
- A list of Lambda function associations to use for this cache behavior.
type: list
elements: dict
suboptions:
lambda_function_arn:
description: The ARN of the Lambda function.
type: str
event_type:
description:
- Specifies the event type that triggers a Lambda function invocation.
- This can be C(viewer-request), C(origin-request), C(origin-response) or C(viewer-response).
type: str
field_level_encryption_id:
description:
- The field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data.
type: str
purge_cache_behaviors: purge_cache_behaviors:
description: Whether to remove any cache behaviors that aren't listed in I(cache_behaviors). This switch description:
also allows the reordering of cache_behaviors. - Whether to remove any cache behaviors that aren't listed in I(cache_behaviors).
- This switch also allows the reordering of I(cache_behaviors).
default: false default: false
type: bool type: bool
custom_error_responses: custom_error_responses:
type: list
elements: dict
description: description:
- A config element that is a I(list[]) of complex custom error responses to be specified for the distribution. This attribute configures custom http - A config element that is a I(list[]) of complex custom error responses to be specified for the distribution.
error messages returned to the user. - This attribute configures custom http error messages returned to the user.
Each custom error response object comprises the attributes suboptions:
I(error_code) error_code:
I(response_page_path) type: int
I(response_code) description: The error code the the custom error page is for.
I(error_caching_min_ttl) error_caching_min_ttl:
type: int
description: The length of time (in seconds) that CloudFront will cache status codes for.
response_code:
type: int
description:
- The HTTP status code that CloudFront should return to a user when the origin returns the HTTP status code specified by I(error_code).
response_page_path:
type: str
description:
- The path to the custom error page that you want CloudFront to return to a viewer when your origin returns
the HTTP status code specified by I(error_code).
purge_custom_error_responses: purge_custom_error_responses:
description: Whether to remove any custom error responses that aren't listed in I(custom_error_responses) description: Whether to remove any custom error responses that aren't listed in I(custom_error_responses).
default: false default: false
type: bool type: bool
comment: comment:
description: description:
- A comment that describes the cloudfront distribution. If not specified, it defaults to a - A comment that describes the cloudfront distribution.
generic message that it has been created with Ansible, and a datetime stamp. - If not specified, it defaults to a generic message that it has been created with Ansible, and a datetime stamp.
type: str
logging: logging:
description: description:
- A config element that is a complex object that defines logging for the distribution. - A config element that is a complex object that defines logging for the distribution.
The logging object comprises the attributes suboptions:
I(enabled) enabled:
I(include_cookies) description: When I(enabled=true) CloudFront will log access to an S3 bucket.
I(bucket) type: bool
I(prefix) include_cookies:
description: When I(include_cookies=true) CloudFront will include cookies in the logs.
type: bool
bucket:
description: The S3 bucket to store the log in.
type: str
prefix:
description: A prefix to include in the S3 object names.
type: str
type: dict
price_class: price_class:
description: description:
- A string that specifies the pricing class of the distribution. As per - A string that specifies the pricing class of the distribution. As per
U(https://aws.amazon.com/cloudfront/pricing/) U(https://aws.amazon.com/cloudfront/pricing/)
I(price_class=PriceClass_100) consists of the areas - I(price_class=PriceClass_100) consists of the areas United States, Canada and Europe.
United States - I(price_class=PriceClass_200) consists of the areas United States, Canada, Europe, Japan, India,
Canada Hong Kong, Philippines, S. Korea, Singapore & Taiwan.
Europe - I(price_class=PriceClass_All) consists of the areas United States, Canada, Europe, Japan, India,
I(price_class=PriceClass_200) consists of the areas South America, Australia, Hong Kong, Philippines, S. Korea, Singapore & Taiwan.
United States - AWS defaults this to C(PriceClass_All).
Canada - Valid values are C(PriceClass_100), C(PriceClass_200) and C(PriceClass_All)
Europe type: str
Hong Kong, Philippines, S. Korea, Singapore & Taiwan
Japan
India
I(price_class=PriceClass_All) consists of the areas
United States
Canada
Europe
Hong Kong, Philippines, S. Korea, Singapore & Taiwan
Japan
India
South America
Australia
choices: ['PriceClass_100', 'PriceClass_200', 'PriceClass_All']
default: aws defaults this to 'PriceClass_All'
enabled: enabled:
description: description:
- A boolean value that specifies whether the distribution is enabled or disabled. - A boolean value that specifies whether the distribution is enabled or disabled.
default: 'yes' default: false
type: bool type: bool
viewer_certificate: viewer_certificate:
type: dict
description: description:
- A config element that is a complex object that specifies the encryption details of the distribution. - A dict that specifies the encryption details of the distribution.
Comprises the following attributes suboptions:
I(cloudfront_default_certificate) cloudfront_default_certificate:
I(iam_certificate_id) type: bool
I(acm_certificate_arn) description:
I(ssl_support_method) - If you're using the CloudFront domain name for your distribution, such as C(123456789abcde.cloudfront.net)
I(minimum_protocol_version) you should set I(cloudfront_default_certificate=true)
I(certificate) - If I(cloudfront_default_certificate=true) do not set I(ssl_support_method).
I(certificate_source) iam_certificate_id:
type: str
description:
- The ID of a certificate stored in IAM to use for HTTPS connections.
- If I(iam_certificate_id) is set then you must also specify I(ssl_support_method)
acm_certificate_arn:
type: str
description:
- The ID of a certificate stored in ACM to use for HTTPS connections.
- If I(acm_certificate_id) is set then you must also specify I(ssl_support_method)
ssl_support_method:
type: str
description:
- How CloudFront should serve SSL certificates.
- Valid values are C(sni-only) for SNI, and C(vip) if CloudFront is configured to use a dedicated IP for your content.
minimum_protocol_version:
type: str
description:
- The security policy that you want CloudFront to use for HTTPS connections.
- See U(https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html)
for supported security policies.
restrictions: restrictions:
type: dict
description: description:
- A config element that is a complex object that describes how a distribution should restrict it's content. - A config element that is a complex object that describes how a distribution should restrict it's content.
The restriction object comprises the following attributes suboptions:
I(geo_restriction) geo_restriction:
I(restriction_type) description: Apply a restriciton based on the location of the requester.
I(items[]) type: dict
suboptions:
restriction_type:
type: str
description:
- The method that you want to use to restrict distribution of your content by country.
- Valid values are C(none), C(whitelist), C(blacklist)
items:
description:
- A list of ISO 3166-1 two letter (Alpha 2) country codes that the
restriction should apply to.
- 'See the ISO website for a full list of codes U(https://www.iso.org/obp/ui/#search/code/)'
type: list
web_acl_id: web_acl_id:
description: description:
- The id of a Web Application Firewall (WAF) Access Control List (ACL). - The id of a Web Application Firewall (WAF) Access Control List (ACL).
type: str
http_version: http_version:
description: description:
- The version of the http protocol to use for the distribution. - The version of the http protocol to use for the distribution.
choices: [ 'http1.1', 'http2' ] - AWS defaults this to C(http2).
default: aws defaults this to 'http2' - Valid values are C(http1.1) and C(http2)
type: str
ipv6_enabled: ipv6_enabled:
description: description:
- Determines whether IPv6 support is enabled or not. - Determines whether IPv6 support is enabled or not.
type: bool type: bool
default: 'no' default: false
wait: wait:
description: description:
- Specifies whether the module waits until the distribution has completed processing the creation or update. - Specifies whether the module waits until the distribution has completed processing the creation or update.
type: bool type: bool
default: 'no' default: false
wait_timeout: wait_timeout:
description: description:
- Specifies the duration in seconds to wait for a timeout of a cloudfront create or update. Defaults to 1800 seconds (30 minutes). - Specifies the duration in seconds to wait for a timeout of a cloudfront create or update.
default: 1800 default: 1800
type: int
''' '''

View file

@ -1,18 +1,10 @@
#!/usr/bin/python #!/usr/bin/python
# This file is part of Ansible # This file is part of Ansible
# # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by from __future__ import (absolute_import, division, print_function)
# the Free Software Foundation, either version 3 of the License, or __metaclass__ = type
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'], 'status': ['preview'],
@ -24,7 +16,7 @@ DOCUMENTATION = '''
module: cloudfront_info module: cloudfront_info
short_description: Obtain facts about an AWS CloudFront distribution short_description: Obtain facts about an AWS CloudFront distribution
description: description:
- Gets information about an AWS CloudFront distribution - Gets information about an AWS CloudFront distribution.
- This module was called C(cloudfront_facts) before Ansible 2.9, returning C(ansible_facts). - This module was called C(cloudfront_facts) before Ansible 2.9, returning C(ansible_facts).
Note that the M(cloudfront_info) module no longer returns C(ansible_facts)! Note that the M(cloudfront_info) module no longer returns C(ansible_facts)!
requirements: requirements:
@ -38,98 +30,108 @@ options:
- The id of the CloudFront distribution. Used with I(distribution), I(distribution_config), - The id of the CloudFront distribution. Used with I(distribution), I(distribution_config),
I(invalidation), I(streaming_distribution), I(streaming_distribution_config), I(list_invalidations). I(invalidation), I(streaming_distribution), I(streaming_distribution_config), I(list_invalidations).
required: false required: false
type: str
invalidation_id: invalidation_id:
description: description:
- The id of the invalidation to get information about. Used with I(invalidation). - The id of the invalidation to get information about.
- Used with I(invalidation).
required: false required: false
type: str
origin_access_identity_id: origin_access_identity_id:
description: description:
- The id of the cloudfront origin access identity to get information about. - The id of the CloudFront origin access identity to get information about.
required: false
web_acl_id:
description:
- Used with I(list_distributions_by_web_acl_id).
required: false required: false
type: str
# web_acl_id:
# description:
# - Used with I(list_distributions_by_web_acl_id).
# required: false
# type: str
domain_name_alias: domain_name_alias:
description: description:
- Can be used instead of I(distribution_id) - uses the aliased CNAME for the cloudfront - Can be used instead of I(distribution_id) - uses the aliased CNAME for the CloudFront
distribution to get the distribution id where required. distribution to get the distribution id where required.
required: false required: false
type: str
all_lists: all_lists:
description: description:
- Get all cloudfront lists that do not require parameters. - Get all CloudFront lists that do not require parameters.
required: false required: false
default: false default: false
type: bool type: bool
origin_access_identity: origin_access_identity:
description: description:
- Get information about an origin access identity. Requires I(origin_access_identity_id) - Get information about an origin access identity.
to be specified. - Requires I(origin_access_identity_id) to be specified.
required: false required: false
default: false default: false
type: bool type: bool
origin_access_identity_config: origin_access_identity_config:
description: description:
- Get the configuration information about an origin access identity. Requires - Get the configuration information about an origin access identity.
I(origin_access_identity_id) to be specified. - Requires I(origin_access_identity_id) to be specified.
required: false required: false
default: false default: false
type: bool type: bool
distribution: distribution:
description: description:
- Get information about a distribution. Requires I(distribution_id) or I(domain_name_alias) - Get information about a distribution.
to be specified. - Requires I(distribution_id) or I(domain_name_alias) to be specified.
required: false required: false
default: false default: false
type: bool type: bool
distribution_config: distribution_config:
description: description:
- Get the configuration information about a distribution. Requires I(distribution_id) - Get the configuration information about a distribution.
or I(domain_name_alias) to be specified. - Requires I(distribution_id) or I(domain_name_alias) to be specified.
required: false required: false
default: false default: false
type: bool type: bool
invalidation: invalidation:
description: description:
- Get information about an invalidation. Requires I(invalidation_id) to be specified. - Get information about an invalidation.
- Requires I(invalidation_id) to be specified.
required: false required: false
default: false default: false
type: bool type: bool
streaming_distribution: streaming_distribution:
description: description:
- Get information about a specified RTMP distribution. Requires I(distribution_id) or - Get information about a specified RTMP distribution.
I(domain_name_alias) to be specified. - Requires I(distribution_id) or I(domain_name_alias) to be specified.
required: false required: false
default: false default: false
type: bool type: bool
streaming_distribution_config: streaming_distribution_config:
description: description:
- Get the configuration information about a specified RTMP distribution. - Get the configuration information about a specified RTMP distribution.
Requires I(distribution_id) or I(domain_name_alias) to be specified. - Requires I(distribution_id) or I(domain_name_alias) to be specified.
required: false required: false
default: false default: false
type: bool type: bool
list_origin_access_identities: list_origin_access_identities:
description: description:
- Get a list of cloudfront origin access identities. Requires I(origin_access_identity_id) to be set. - Get a list of CloudFront origin access identities.
- Requires I(origin_access_identity_id) to be set.
required: false required: false
default: false default: false
type: bool type: bool
list_distributions: list_distributions:
description: description:
- Get a list of cloudfront distributions. - Get a list of CloudFront distributions.
required: false required: false
default: false default: false
type: bool type: bool
list_distributions_by_web_acl_id: list_distributions_by_web_acl_id:
description: description:
- Get a list of distributions using web acl id as a filter. Requires I(web_acl_id) to be set. - Get a list of distributions using web acl id as a filter.
- Requires I(web_acl_id) to be set.
required: false required: false
default: false default: false
type: bool type: bool
list_invalidations: list_invalidations:
description: description:
- Get a list of invalidations. Requires I(distribution_id) or I(domain_name_alias) to be specified. - Get a list of invalidations.
- Requires I(distribution_id) or I(domain_name_alias) to be specified.
required: false required: false
default: false default: false
type: bool type: bool
@ -142,7 +144,7 @@ options:
summary: summary:
description: description:
- Returns a summary of all distributions, streaming distributions and origin_access_identities. - Returns a summary of all distributions, streaming distributions and origin_access_identities.
This is the default behaviour if no option is selected. - This is the default behaviour if no option is selected.
required: false required: false
default: false default: false
type: bool type: bool

View file

@ -2,6 +2,9 @@
# Copyright (c) 2017 Ansible Project # Copyright (c) 2017 Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'], 'status': ['preview'],
'supported_by': 'community'} 'supported_by': 'community'}
@ -11,7 +14,7 @@ DOCUMENTATION = '''
module: cloudfront_invalidation module: cloudfront_invalidation
short_description: create invalidations for aws cloudfront distributions short_description: create invalidations for AWS CloudFront distributions
description: description:
- Allows for invalidation of a batch of paths for a CloudFront distribution. - Allows for invalidation of a batch of paths for a CloudFront distribution.
@ -30,21 +33,27 @@ extends_documentation_fragment:
options: options:
distribution_id: distribution_id:
description: description:
- The id of the cloudfront distribution to invalidate paths for. Can be specified instead of the alias. - The id of the CloudFront distribution to invalidate paths for. Can be specified instead of the alias.
required: false required: false
type: str
alias: alias:
description: description:
- The alias of the cloudfront distribution to invalidate paths for. Can be specified instead of distribution_id. - The alias of the CloudFront distribution to invalidate paths for. Can be specified instead of distribution_id.
required: false required: false
type: str
caller_reference: caller_reference:
description: description:
- A unique reference identifier for the invalidation paths. - A unique reference identifier for the invalidation paths.
- Defaults to current datetime stamp.
required: false required: false
default: current datetime stamp default:
type: str
target_paths: target_paths:
description: description:
- A list of paths on the distribution to invalidate. Each path should begin with '/'. Wildcards are allowed. eg. '/foo/bar/*' - A list of paths on the distribution to invalidate. Each path should begin with '/'. Wildcards are allowed. eg. '/foo/bar/*'
required: true required: true
type: list
elements: str
notes: notes:
- does not support check mode - does not support check mode

View file

@ -2,6 +2,9 @@
# Copyright (c) 2017 Ansible Project # Copyright (c) 2017 Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'], 'status': ['preview'],
'supported_by': 'community'} 'supported_by': 'community'}
@ -11,8 +14,8 @@ DOCUMENTATION = '''
module: cloudfront_origin_access_identity module: cloudfront_origin_access_identity
short_description: create, update and delete origin access identities for a short_description: Create, update and delete origin access identities for a
cloudfront distribution. cloudfront distribution
description: description:
- Allows for easy creation, updating and deletion of origin access - Allows for easy creation, updating and deletion of origin access
@ -36,22 +39,26 @@ options:
choices: choices:
- present - present
- absent - absent
default: update_origin_access_identity default: present
type: str
origin_access_identity_id: origin_access_identity_id:
description: description:
- The origin_access_identity_id of the cloudfront distribution. - The origin_access_identity_id of the cloudfront distribution.
required: false required: false
type: str
comment: comment:
description: description:
- A comment to describe the cloudfront origin access identity. - A comment to describe the cloudfront origin access identity.
required: false required: false
type: str
caller_reference: caller_reference:
description: description:
- A unique identifier to reference the origin access identity by. - A unique identifier to reference the origin access identity by.
required: false required: false
type: str
notes: notes:
- does not support check mode - Does not support check mode.
''' '''

View file

@ -29,15 +29,20 @@ options:
state: state:
description: description:
- Add or remove CloudTrail configuration. - Add or remove CloudTrail configuration.
- The following states have been preserved for backwards compatibility. C(state=enabled) and C(state=disabled). - 'The following states have been preserved for backwards compatibility: I(state=enabled) and I(state=disabled).'
- enabled=present and disabled=absent. - I(state=enabled) is equivalet to I(state=present).
- I(state=disabled) is equivalet to I(state=absent).
type: str
required: true required: true
choices: ['present', 'absent', 'enabled', 'disabled'] choices: ['present', 'absent', 'enabled', 'disabled']
default: present
name: name:
description: description:
- Name for the CloudTrail. - Name for the CloudTrail.
- Names are unique per-region unless the CloudTrail is a multi-region trail, in which case it is unique per-account. - Names are unique per-region unless the CloudTrail is a multi-region trail, in which case it is unique per-account.
type: str
required: true required: true
default: default
enable_logging: enable_logging:
description: description:
- Start or stop the CloudTrail logging. If stopped the trail will be paused and will not record events or deliver log files. - Start or stop the CloudTrail logging. If stopped the trail will be paused and will not record events or deliver log files.
@ -49,11 +54,13 @@ options:
- An existing S3 bucket where CloudTrail will deliver log files. - An existing S3 bucket where CloudTrail will deliver log files.
- This bucket should exist and have the proper policy. - This bucket should exist and have the proper policy.
- See U(https://docs.aws.amazon.com/awscloudtrail/latest/userguide/aggregating_logs_regions_bucket_policy.html). - See U(https://docs.aws.amazon.com/awscloudtrail/latest/userguide/aggregating_logs_regions_bucket_policy.html).
- Required when C(state=present). - Required when I(state=present).
type: str
version_added: "2.4" version_added: "2.4"
s3_key_prefix: s3_key_prefix:
description: description:
- S3 Key prefix for delivered log files. A trailing slash is not necessary and will be removed. - S3 Key prefix for delivered log files. A trailing slash is not necessary and will be removed.
type: str
is_multi_region_trail: is_multi_region_trail:
description: description:
- Specify whether the trail belongs only to one region or exists in all regions. - Specify whether the trail belongs only to one region or exists in all regions.
@ -77,23 +84,27 @@ options:
description: description:
- SNS Topic name to send notifications to when a log file is delivered. - SNS Topic name to send notifications to when a log file is delivered.
version_added: "2.4" version_added: "2.4"
type: str
cloudwatch_logs_role_arn: cloudwatch_logs_role_arn:
description: description:
- Specifies a full ARN for an IAM role that assigns the proper permissions for CloudTrail to create and write to the log group. - Specifies a full ARN for an IAM role that assigns the proper permissions for CloudTrail to create and write to the log group.
- See U(https://docs.aws.amazon.com/awscloudtrail/latest/userguide/send-cloudtrail-events-to-cloudwatch-logs.html). - See U(https://docs.aws.amazon.com/awscloudtrail/latest/userguide/send-cloudtrail-events-to-cloudwatch-logs.html).
- Required when C(cloudwatch_logs_log_group_arn). - Required when C(cloudwatch_logs_log_group_arn).
version_added: "2.4" version_added: "2.4"
type: str
cloudwatch_logs_log_group_arn: cloudwatch_logs_log_group_arn:
description: description:
- A full ARN specifying a valid CloudWatch log group to which CloudTrail logs will be delivered. The log group should already exist. - A full ARN specifying a valid CloudWatch log group to which CloudTrail logs will be delivered. The log group should already exist.
- See U(https://docs.aws.amazon.com/awscloudtrail/latest/userguide/send-cloudtrail-events-to-cloudwatch-logs.html). - See U(https://docs.aws.amazon.com/awscloudtrail/latest/userguide/send-cloudtrail-events-to-cloudwatch-logs.html).
- Required when C(cloudwatch_logs_role_arn). - Required when C(cloudwatch_logs_role_arn).
type: str
version_added: "2.4" version_added: "2.4"
kms_key_id: kms_key_id:
description: description:
- Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. This also has the effect of enabling log file encryption. - Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. This also has the effect of enabling log file encryption.
- The value can be an alias name prefixed by "alias/", a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier. - The value can be an alias name prefixed by "alias/", a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.
- See U(https://docs.aws.amazon.com/awscloudtrail/latest/userguide/encrypting-cloudtrail-log-files-with-aws-kms.html). - See U(https://docs.aws.amazon.com/awscloudtrail/latest/userguide/encrypting-cloudtrail-log-files-with-aws-kms.html).
type: str
version_added: "2.4" version_added: "2.4"
tags: tags:
description: description:
@ -101,6 +112,7 @@ options:
- Remove completely or specify an empty dictionary to remove all tags. - Remove completely or specify an empty dictionary to remove all tags.
default: {} default: {}
version_added: "2.4" version_added: "2.4"
type: dict
extends_documentation_fragment: extends_documentation_fragment:
- aws - aws

View file

@ -35,47 +35,79 @@ options:
name: name:
description: description:
- The name of the rule you are creating, updating or deleting. No spaces - The name of the rule you are creating, updating or deleting. No spaces
or special characters allowed (i.e. must match C([\.\-_A-Za-z0-9]+)) or special characters allowed (i.e. must match C([\.\-_A-Za-z0-9]+)).
required: true required: true
type: str
schedule_expression: schedule_expression:
description: description:
- A cron or rate expression that defines the schedule the rule will - A cron or rate expression that defines the schedule the rule will
trigger on. For example, C(cron(0 20 * * ? *)), C(rate(5 minutes)) trigger on. For example, C(cron(0 20 * * ? *)), C(rate(5 minutes)).
required: false required: false
type: str
event_pattern: event_pattern:
description: description:
- A string pattern (in valid JSON format) that is used to match against - A string pattern (in valid JSON format) that is used to match against
incoming events to determine if the rule should be triggered incoming events to determine if the rule should be triggered.
required: false required: false
type: str
state: state:
description: description:
- Whether the rule is present (and enabled), disabled, or absent - Whether the rule is present (and enabled), disabled, or absent.
choices: ["present", "disabled", "absent"] choices: ["present", "disabled", "absent"]
default: present default: present
required: false required: false
type: str
description: description:
description: description:
- A description of the rule - A description of the rule.
required: false required: false
type: str
role_arn: role_arn:
description: description:
- The Amazon Resource Name (ARN) of the IAM role associated with the rule - The Amazon Resource Name (ARN) of the IAM role associated with the rule.
required: false required: false
type: str
targets: targets:
type: list
elements: dict
description: description:
- "A dictionary array of targets to add to or update for the rule, in the - A list of targets to add to or update for the rule.
form C({ id: [string], arn: [string], role_arn: [string], input: [valid JSON string], suboptions:
input_path: [valid JSONPath string], ecs_parameters: {task_definition_arn: [string], task_count: [int]}}). id:
I(id) [required] is the unique target assignment ID. I(arn) (required) type: str
is the Amazon Resource Name associated with the target. I(role_arn) (optional) is The Amazon Resource Name required: true
of the IAM role to be used for this target when the rule is triggered. I(input) description: The unique target assignment ID.
(optional) is a JSON object that will override the event data when arn:
passed to the target. I(input_path) (optional) is a JSONPath string type: str
(e.g. C($.detail)) that specifies the part of the event data to be required: true
passed to the target. If neither I(input) nor I(input_path) is description: The ARN associated with the target.
specified, then the entire event is passed to the target in JSON form. role_arn:
I(task_definition_arn) [optional] is ecs task definition arn. type: str
I(task_count) [optional] is ecs task count." description: The ARN of the IAM role to be used for this target when the rule is triggered.
input:
type: str
description:
- A JSON object that will override the event data when passed to the target.
- If neither I(input) nor I(input_path) is specified, then the entire
event is passed to the target in JSON form.
input_path:
type: str
description:
- A JSONPath string (e.g. C($.detail)) that specifies the part of the event data to be
passed to the target.
- If neither I(input) nor I(input_path) is specified, then the entire
event is passed to the target in JSON form.
ecs_parameters:
type: dict
description:
- Contains the ECS task definition and task count to be used, if the event target is an ECS task.
suboptions:
task_definition_arn:
type: str
description: The full ARN of the task definition.
task_count:
type: int
description: The number of tasks to create based on I(task_definition).
required: false required: false
''' '''

View file

@ -16,7 +16,7 @@ DOCUMENTATION = '''
module: cloudwatchlogs_log_group module: cloudwatchlogs_log_group
short_description: create or delete log_group in CloudWatchLogs short_description: create or delete log_group in CloudWatchLogs
notes: notes:
- for details of the parameters and returns see U(http://boto3.readthedocs.io/en/latest/reference/services/logs.html) - For details of the parameters and returns see U(http://boto3.readthedocs.io/en/latest/reference/services/logs.html).
description: description:
- Create or delete log_group in CloudWatchLogs. - Create or delete log_group in CloudWatchLogs.
version_added: "2.5" version_added: "2.5"
@ -26,33 +26,38 @@ requirements: [ json, botocore, boto3 ]
options: options:
state: state:
description: description:
- Whether the rule is present, absent or get - Whether the rule is present or absent.
choices: ["present", "absent"] choices: ["present", "absent"]
default: present default: present
required: false required: false
type: str
log_group_name: log_group_name:
description: description:
- The name of the log group. - The name of the log group.
required: true required: true
type: str
kms_key_id: kms_key_id:
description: description:
- The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. - The Amazon Resource Name (ARN) of the CMK to use when encrypting log data.
required: false required: false
type: str
tags: tags:
description: description:
- The key-value pairs to use for the tags. - The key-value pairs to use for the tags.
required: false required: false
type: dict
retention: retention:
description: description:
- "The number of days to retain the log events in the specified log group. - The number of days to retain the log events in the specified log group.
Valid values are: [1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653]" - "Valid values are: [1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653]"
required: false required: false
type: int
overwrite: overwrite:
description: description:
- Whether an existing log group should be overwritten on create. - Whether an existing log group should be overwritten on create.
default: false default: false
required: false required: false
type: bool type: bool
extends_documentation_fragment: extends_documentation_fragment:
- aws - aws
- ec2 - ec2

View file

@ -13,7 +13,7 @@ ANSIBLE_METADATA = {'metadata_version': '1.1',
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
module: cloudwatchlogs_log_group_info module: cloudwatchlogs_log_group_info
short_description: get information about log_group in CloudWatchLogs short_description: Get information about log_group in CloudWatchLogs
description: description:
- Lists the specified log groups. You can list all your log groups or filter the results by prefix. - Lists the specified log groups. You can list all your log groups or filter the results by prefix.
- This module was called C(cloudwatchlogs_log_group_facts) before Ansible 2.9. The usage did not change. - This module was called C(cloudwatchlogs_log_group_facts) before Ansible 2.9. The usage did not change.
@ -25,6 +25,7 @@ options:
log_group_name: log_group_name:
description: description:
- The name or prefix of the log group to filter by. - The name or prefix of the log group to filter by.
type: str
extends_documentation_fragment: extends_documentation_fragment:
- aws - aws
- ec2 - ec2

View file

@ -24,62 +24,112 @@ extends_documentation_fragment:
- aws - aws
- ec2 - ec2
description: description:
- Create and manage AWS Datapipelines. Creation is not idempotent in AWS, so the I(uniqueId) is created by hashing the options (minus objects) - Create and manage AWS Datapipelines. Creation is not idempotent in AWS, so the C(uniqueId) is created by hashing the options (minus objects)
given to the datapipeline. given to the datapipeline.
- The pipeline definition must be in the format given here - The pipeline definition must be in the format given here
U(https://docs.aws.amazon.com/datapipeline/latest/APIReference/API_PutPipelineDefinition.html#API_PutPipelineDefinition_RequestSyntax). U(https://docs.aws.amazon.com/datapipeline/latest/APIReference/API_PutPipelineDefinition.html#API_PutPipelineDefinition_RequestSyntax).
- Also operations will wait for a configurable amount of time to ensure the pipeline is in the requested state. - Operations will wait for a configurable amount of time to ensure the pipeline is in the requested state.
options: options:
name: name:
description: description:
- The name of the Datapipeline to create/modify/delete. - The name of the Datapipeline to create/modify/delete.
required: true required: true
type: str
description: description:
description: description:
- An optional description for the pipeline being created. - An optional description for the pipeline being created.
default: '' default: ''
type: str
objects: objects:
type: list
elements: dict
description: description:
- A list of pipeline object definitions, each of which is a dict that takes the keys C(id), C(name) and C(fields). - A list of pipeline object definitions, each of which is a dict that takes the keys I(id), I(name) and I(fields).
suboptions: suboptions:
id: id:
description: description:
- The ID of the object. - The ID of the object.
type: str
name: name:
description: description:
- The name of the object. - The name of the object.
type: str
fields: fields:
description: description:
- A list of dicts that take the keys C(key) and C(stringValue)/C(refValue). - Key-value pairs that define the properties of the object.
The value is specified as a reference to another object C(refValue) or as a string value C(stringValue) - The value is specified as a reference to another object I(refValue) or as a string value I(stringValue)
but not as both. but not as both.
type: list
elements: dict
suboptions:
key:
type: str
description:
- The field identifier.
stringValue:
type: str
description:
- The field value.
- Exactly one of I(stringValue) and I(refValue) may be specified.
refValue:
type: str
description:
- The field value, expressed as the identifier of another object.
- Exactly one of I(stringValue) and I(refValue) may be specified.
parameters: parameters:
description: description:
- A list of parameter objects (dicts) in the pipeline definition. - A list of parameter objects (dicts) in the pipeline definition.
type: list
elements: dict
suboptions: suboptions:
id: id:
description: description:
- The ID of the parameter object. - The ID of the parameter object.
attributes: attributes:
description: description:
- A list of attributes (dicts) of the parameter object. Each attribute takes the keys C(key) and C(stringValue) both - A list of attributes (dicts) of the parameter object.
of which are strings. type: list
elements: dict
suboptions:
key:
description: The field identifier.
type: str
stringValue:
description: The field value.
type: str
values: values:
description: description:
- A list of parameter values (dicts) in the pipeline definition. Each dict takes the keys C(id) and C(stringValue) both - A list of parameter values (dicts) in the pipeline definition.
of which are strings. type: list
elements: dict
suboptions:
id:
description: The ID of the parameter value
type: str
stringValue:
description: The field value
type: str
timeout: timeout:
description: description:
- Time in seconds to wait for the pipeline to transition to the requested state, fail otherwise. - Time in seconds to wait for the pipeline to transition to the requested state, fail otherwise.
default: 300 default: 300
type: int
state: state:
description: description:
- The requested state of the pipeline. - The requested state of the pipeline.
choices: ['present', 'absent', 'active', 'inactive'] choices: ['present', 'absent', 'active', 'inactive']
default: present default: present
type: str
tags: tags:
description: description:
- A dict of key:value pair(s) to add to the pipeline. - A dict of key:value pair(s) to add to the pipeline.
type: dict
version:
description:
- The version option has never had any effect and will be removed in
Ansible 2.14
type: str
''' '''
EXAMPLES = ''' EXAMPLES = '''
@ -244,7 +294,7 @@ def run_with_timeout(timeout, func, *func_args, **func_kwargs):
""" """
for _ in range(timeout // 10): for count in range(timeout // 10):
if func(*func_args, **func_kwargs): if func(*func_args, **func_kwargs):
return True return True
else: else:
@ -525,7 +575,7 @@ def create_pipeline(client, module):
if changed == "NEW_VERSION": if changed == "NEW_VERSION":
# delete old version # delete old version
changed, _ = delete_pipeline(client, module) changed, creation_result = delete_pipeline(client, module)
# There isn't a pipeline or it has different parameters than the pipeline in existence. # There isn't a pipeline or it has different parameters than the pipeline in existence.
if create_dp: if create_dp:
@ -544,7 +594,7 @@ def create_pipeline(client, module):
module.fail_json(msg=('Data Pipeline {0} failed to create' module.fail_json(msg=('Data Pipeline {0} failed to create'
'within timeout {1} seconds').format(dp_name, timeout)) 'within timeout {1} seconds').format(dp_name, timeout))
# Put pipeline definition # Put pipeline definition
_, msg = define_pipeline(client, module, objects, dp_id) changed, msg = define_pipeline(client, module, objects, dp_id)
changed = True changed = True
data_pipeline = get_result(client, dp_id) data_pipeline = get_result(client, dp_id)
@ -559,7 +609,7 @@ def main():
argument_spec.update( argument_spec.update(
dict( dict(
name=dict(required=True), name=dict(required=True),
version=dict(required=False), version=dict(removed_in_version='2.14'),
description=dict(required=False, default=''), description=dict(required=False, default=''),
objects=dict(required=False, type='list', default=[]), objects=dict(required=False, type='list', default=[]),
parameters=dict(required=False, type='list', default=[]), parameters=dict(required=False, type='list', default=[]),

View file

@ -1,18 +1,10 @@
#!/usr/bin/python #!/usr/bin/python
# This file is part of Ansible # This file is part of Ansible
# # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by from __future__ import (absolute_import, division, print_function)
# the Free Software Foundation, either version 3 of the License, or __metaclass__ = type
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'], 'status': ['preview'],
@ -22,122 +14,137 @@ ANSIBLE_METADATA = {'metadata_version': '1.1',
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
module: dms_endpoint module: dms_endpoint
short_description: creates or destroys a data migration services endpoint short_description: Creates or destroys a data migration services endpoint
description: description:
- creates or destroys a data migration services endpoint, - Creates or destroys a data migration services endpoint,
that can be used to replicate data. that can be used to replicate data.
version_added: "2.9" version_added: "2.9"
options: options:
state: state:
description: description:
- State of the endpoint - State of the endpoint.
default: present default: present
choices: ['present', 'absent'] choices: ['present', 'absent']
type: str
endpointidentifier: endpointidentifier:
description: description:
- An identifier name for the endpoint - An identifier name for the endpoint.
type: str
endpointtype: endpointtype:
description: description:
- Type of endpoint we want to manage - Type of endpoint we want to manage.
choices: ['source', 'target'] choices: ['source', 'target']
type: str
enginename: enginename:
description: description:
- Database engine that we want to use, please refer to - Database engine that we want to use, please refer to
the AWS DMS for more information on the supported the AWS DMS for more information on the supported
engines and their limitation engines and their limitations.
choices: ['mysql', 'oracle', 'postgres', 'mariadb', 'aurora', choices: ['mysql', 'oracle', 'postgres', 'mariadb', 'aurora',
'redshift', 's3', 'db2', 'azuredb', 'sybase', 'redshift', 's3', 'db2', 'azuredb', 'sybase',
'dynamodb', 'mongodb', 'sqlserver'] 'dynamodb', 'mongodb', 'sqlserver']
type: str
username: username:
description: description:
- Username our endpoint will use to connect to the database - Username our endpoint will use to connect to the database.
type: str
password: password:
description: description:
- Password used to connect to the database - Password used to connect to the database
this attribute can only be written this attribute can only be written
the AWS API does not return this parameter the AWS API does not return this parameter.
type: str
servername: servername:
description: description:
- Servername that the endpoint will connect to - Servername that the endpoint will connect to.
type: str
port: port:
description: description:
- TCP port for access to the database - TCP port for access to the database.
type: int
databasename: databasename:
description: description:
- Name for the database on the origin or target side - Name for the database on the origin or target side
type: str
extraconnectionattributes: extraconnectionattributes:
description: description:
- Extra attributes for the database connection, the AWS documentation - Extra attributes for the database connection, the AWS documentation
states " For more information about extra connection attributes, states " For more information about extra connection attributes,
see the documentation section for your data store." see the documentation section for your data store."
type: str
kmskeyid: kmskeyid:
description: description:
- Encryption key to use to encrypt replication storage and - Encryption key to use to encrypt replication storage and
connection information connection information.
type: str
tags: tags:
description: description:
- A list of tags to add to the endpoint - A list of tags to add to the endpoint.
type: dict
certificatearn: certificatearn:
description: description:
- Amazon Resource Name (ARN) for the certificate - Amazon Resource Name (ARN) for the certificate.
type: str
sslmode: sslmode:
description: description:
- Mode used for the ssl connection - Mode used for the ssl connection
default: none default: none
choices: ['none', 'require', 'verify-ca', 'verify-full'] choices: ['none', 'require', 'verify-ca', 'verify-full']
type: str
serviceaccessrolearn: serviceaccessrolearn:
description: description:
- Amazon Resource Name (ARN) for the service access role that you - Amazon Resource Name (ARN) for the service access role that you
want to use to create the endpoint. want to use to create the endpoint.
type: str
externaltabledefinition: externaltabledefinition:
description: description:
- The external table definition - The external table definition
type: str
dynamodbsettings: dynamodbsettings:
description: description:
- Settings in JSON format for the target Amazon DynamoDB endpoint - Settings in JSON format for the target Amazon DynamoDB endpoint
if source or target is dynamodb if source or target is dynamodb
type: dict
s3settings: s3settings:
description: description:
- S3 buckets settings for the target Amazon S3 endpoint. - S3 buckets settings for the target Amazon S3 endpoint.
type: dict
dmstransfersettings: dmstransfersettings:
description: description:
- The settings in JSON format for the DMS transfer type of - The settings in JSON format for the DMS transfer type of
source endpoint source endpoint
type: dict
mongodbsettings: mongodbsettings:
description: description:
- Settings in JSON format for the source MongoDB endpoint - Settings in JSON format for the source MongoDB endpoint
type: dict
kinesissettings: kinesissettings:
description: description:
- Settings in JSON format for the target Amazon Kinesis - Settings in JSON format for the target Amazon Kinesis
Data Streams endpoint Data Streams endpoint
type: dict
elasticsearchsettings: elasticsearchsettings:
description: description:
- Settings in JSON format for the target Elasticsearch endpoint - Settings in JSON format for the target Elasticsearch endpoint
type: dict
wait: wait:
description: description:
- should wait for the object to be deleted when state = absent - should wait for the object to be deleted when state = absent
type: bool type: bool
default: 'false' default: 'false'
timeout: timeout:
description: description:
- time in seconds we should wait for when deleting a resource - time in seconds we should wait for when deleting a resource
type: int type: int
retries: retries:
description: description:
- number of times we should retry when deleting a resource - number of times we should retry when deleting a resource
type: int type: int
region:
description:
- aws region, should be read from the running aws config
ec2_region:
description:
- alias for region
aws_region:
description:
- alias for region
author: author:
- "Rui Moreira (@ruimoreira)" - "Rui Moreira (@ruimoreira)"
extends_documentation_fragment: aws extends_documentation_fragment:
- aws
- ec2
''' '''
EXAMPLES = ''' EXAMPLES = '''

View file

@ -2,6 +2,10 @@
# Copyright: Ansible Project # Copyright: Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'], 'status': ['preview'],
'supported_by': 'community'} 'supported_by': 'community'}

View file

@ -14,7 +14,7 @@ ANSIBLE_METADATA = {'metadata_version': '1.1',
DOCUMENTATION = """ DOCUMENTATION = """
--- ---
module: dynamodb_table module: dynamodb_table
short_description: Create, update or delete AWS Dynamo DB tables. short_description: Create, update or delete AWS Dynamo DB tables
version_added: "2.0" version_added: "2.0"
description: description:
- Create or delete AWS Dynamo DB tables. - Create or delete AWS Dynamo DB tables.
@ -27,55 +27,102 @@ requirements:
options: options:
state: state:
description: description:
- Create or delete the table - Create or delete the table.
choices: ['present', 'absent'] choices: ['present', 'absent']
default: 'present' default: 'present'
type: str
name: name:
description: description:
- Name of the table. - Name of the table.
required: true required: true
type: str
hash_key_name: hash_key_name:
description: description:
- Name of the hash key. - Name of the hash key.
- Required when C(state=present). - Required when C(state=present).
type: str
hash_key_type: hash_key_type:
description: description:
- Type of the hash key. - Type of the hash key.
choices: ['STRING', 'NUMBER', 'BINARY'] choices: ['STRING', 'NUMBER', 'BINARY']
default: 'STRING' default: 'STRING'
type: str
range_key_name: range_key_name:
description: description:
- Name of the range key. - Name of the range key.
type: str
range_key_type: range_key_type:
description: description:
- Type of the range key. - Type of the range key.
choices: ['STRING', 'NUMBER', 'BINARY'] choices: ['STRING', 'NUMBER', 'BINARY']
default: 'STRING' default: 'STRING'
type: str
read_capacity: read_capacity:
description: description:
- Read throughput capacity (units) to provision. - Read throughput capacity (units) to provision.
default: 1 default: 1
type: int
write_capacity: write_capacity:
description: description:
- Write throughput capacity (units) to provision. - Write throughput capacity (units) to provision.
default: 1 default: 1
type: int
indexes: indexes:
description: 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. - 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']" - "required options: ['name', 'type', 'hash_key_name']"
- "valid types: ['all', 'global_all', 'global_include', 'global_keys_only', 'include', 'keys_only']"
- "other options: ['hash_key_type', 'range_key_name', 'range_key_type', 'includes', 'read_capacity', 'write_capacity']" - "other options: ['hash_key_type', 'range_key_name', 'range_key_type', 'includes', 'read_capacity', 'write_capacity']"
suboptions:
name:
description: The name of the index.
type: str
required: true
type:
description:
- The type of index.
- "Valid types: C(all), C(global_all), C(global_include), C(global_keys_only), C(include), C(keys_only)"
type: str
required: true
hash_key_name:
description: The name of the hash-based key.
required: true
type: str
hash_key_type:
description: The type of the hash-based key.
type: str
range_key_name:
description: The name of the range-based key.
type: str
range_key_type:
type: str
description: The type of the range-based key.
includes:
type: list
description: A list of fields to include when using C(global_include) or C(include) indexes.
read_capacity:
description:
- Read throughput capacity (units) to provision for the index.
type: int
write_capacity:
description:
- Write throughput capacity (units) to provision for the index.
type: int
default: [] default: []
version_added: "2.1" version_added: "2.1"
type: list
elements: dict
tags: tags:
version_added: "2.4" version_added: "2.4"
description: description:
- a hash/dictionary of tags to add to the new instance or for starting/stopping instance by tag; '{"key":"value"}' and '{"key":"value","key":"value"}' - A hash/dictionary of tags to add to the new instance or for starting/stopping instance by tag.
- 'For example: C({"key":"value"}) and C({"key":"value","key2":"value2"})'
type: dict
wait_for_active_timeout: wait_for_active_timeout:
version_added: "2.4" version_added: "2.4"
description: description:
- how long before wait gives up, in seconds. only used when tags is set - how long before wait gives up, in seconds. only used when tags is set
default: 60 default: 60
type: int
extends_documentation_fragment: extends_documentation_fragment:
- aws - aws
- ec2 - ec2

View file

@ -13,27 +13,29 @@ ANSIBLE_METADATA = {'metadata_version': '1.1',
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
module: dynamodb_ttl module: dynamodb_ttl
short_description: set TTL for a given DynamoDB table. short_description: Set TTL for a given DynamoDB table
description: description:
- Uses boto3 to set TTL. - Uses boto3 to set TTL.
- requires botocore version 1.5.24 or higher. - Requires botocore version 1.5.24 or higher.
version_added: "2.4" version_added: "2.4"
options: options:
state: state:
description: description:
- state to set DynamoDB table to - State to set DynamoDB table to.
choices: ['enable', 'disable'] choices: ['enable', 'disable']
required: false required: false
default: enable type: str
table_name: table_name:
description: description:
- name of the DynamoDB table to work on - Name of the DynamoDB table to work on.
required: true required: true
type: str
attribute_name: attribute_name:
description: description:
- the name of the Time to Live attribute used to store the expiration time for items in the table - The name of the Time To Live attribute used to store the expiration time for items in the table.
- this appears to be required by the API even when disabling TTL. - This appears to be required by the API even when disabling TTL.
required: true required: true
type: str
author: Ted Timmons (@tedder) author: Ted Timmons (@tedder)
extends_documentation_fragment: extends_documentation_fragment:

View file

@ -25,32 +25,39 @@ options:
- The short name or full Amazon Resource Name (ARN) of the cluster - The short name or full Amazon Resource Name (ARN) of the cluster
that contains the resource to apply attributes. that contains the resource to apply attributes.
required: true required: true
type: str
state: state:
description: description:
- The desired state of the attributes. - The desired state of the attributes.
required: false required: false
default: present default: present
choices: ['present', 'absent'] choices: ['present', 'absent']
type: str
attributes: attributes:
description: description:
- List of attributes. - List of attributes.
required: true required: true
type: list
elements: dict
suboptions: suboptions:
name: name:
description: description:
- The name of the attribute. Up to 128 letters (uppercase and lowercase), - The name of the attribute. Up to 128 letters (uppercase and lowercase),
numbers, hyphens, underscores, and periods are allowed. numbers, hyphens, underscores, and periods are allowed.
required: true required: true
type: str
value: value:
description: description:
- The value of the attribute. Up to 128 letters (uppercase and lowercase), - The value of the attribute. Up to 128 letters (uppercase and lowercase),
numbers, hyphens, underscores, periods, at signs (@), forward slashes, colons, numbers, hyphens, underscores, periods, at signs (@), forward slashes, colons,
and spaces are allowed. and spaces are allowed.
required: false required: false
type: str
ec2_instance_id: ec2_instance_id:
description: description:
- EC2 instance ID of ECS cluster container instance. - EC2 instance ID of ECS cluster container instance.
required: true required: true
type: str
extends_documentation_fragment: extends_documentation_fragment:
- aws - aws
- ec2 - ec2

View file

@ -14,7 +14,7 @@ ANSIBLE_METADATA = {'metadata_version': '1.1',
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
module: ecs_cluster module: ecs_cluster
short_description: create or terminate ecs clusters short_description: Create or terminate ECS clusters.
notes: notes:
- When deleting a cluster, the information returned is the state of the cluster prior to deletion. - When deleting a cluster, the information returned is the state of the cluster prior to deletion.
- It will also wait for a cluster to have instances registered to it. - It will also wait for a cluster to have instances registered to it.
@ -26,21 +26,27 @@ requirements: [ boto3 ]
options: options:
state: state:
description: description:
- The desired state of the cluster - The desired state of the cluster.
required: true required: true
choices: ['present', 'absent', 'has_instances'] choices: ['present', 'absent', 'has_instances']
type: str
name: name:
description: description:
- The cluster name - The cluster name.
required: true required: true
type: str
delay: delay:
description: description:
- Number of seconds to wait - Number of seconds to wait.
required: false required: false
type: int
default: 10
repeat: repeat:
description: description:
- The number of times to wait for the cluster to have an instance - The number of times to wait for the cluster to have an instance.
required: false required: false
type: int
default: 10
extends_documentation_fragment: extends_documentation_fragment:
- aws - aws
- ec2 - ec2

View file

@ -18,48 +18,53 @@ module: ecs_ecr
version_added: "2.3" version_added: "2.3"
short_description: Manage Elastic Container Registry repositories short_description: Manage Elastic Container Registry repositories
description: description:
- Manage Elastic Container Registry repositories - Manage Elastic Container Registry repositories.
requirements: [ boto3 ] requirements: [ boto3 ]
options: options:
name: name:
description: description:
- the name of the repository - The name of the repository.
required: true required: true
type: str
registry_id: registry_id:
description: description:
- AWS account id associated with the registry. - AWS account id associated with the registry.
- If not specified, the default registry is assumed. - If not specified, the default registry is assumed.
required: false required: false
type: str
policy: policy:
description: description:
- JSON or dict that represents the new policy - JSON or dict that represents the new policy.
required: false required: false
type: json
force_set_policy: force_set_policy:
description: description:
- if no, prevents setting a policy that would prevent you from - If I(force_set_policy=false), it prevents setting a policy that would prevent you from
setting another policy in the future. setting another policy in the future.
required: false required: false
default: false default: false
type: bool type: bool
delete_policy: delete_policy:
description: description:
- if yes, remove the policy from the repository - If yes, remove the policy from the repository.
required: false required: false
default: false default: false
type: bool type: bool
image_tag_mutability: image_tag_mutability:
description: description:
- configure whether repository should be mutable (ie. an already existing tag can be overwritten) or not - Configure whether repository should be mutable (ie. an already existing tag can be overwritten) or not.
required: false required: false
choices: [mutable, immutable] choices: [mutable, immutable]
default: 'mutable' default: 'mutable'
version_added: '2.10' version_added: '2.10'
type: str
state: state:
description: description:
- create or destroy the repository - Create or destroy the repository.
required: false required: false
choices: [present, absent] choices: [present, absent]
default: 'present' default: 'present'
type: str
author: author:
- David M. Lee (@leedm777) - David M. Lee (@leedm777)
extends_documentation_fragment: extends_documentation_fragment:

View file

@ -1,18 +1,10 @@
#!/usr/bin/python #!/usr/bin/python
# This file is part of Ansible # This file is part of Ansible
# # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by from __future__ import (absolute_import, division, print_function)
# the Free Software Foundation, either version 3 of the License, or __metaclass__ = type
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'], 'status': ['preview'],
@ -22,13 +14,13 @@ ANSIBLE_METADATA = {'metadata_version': '1.1',
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
module: ecs_service module: ecs_service
short_description: create, terminate, start or stop a service in ecs short_description: Create, terminate, start or stop a service in ECS
description: description:
- Creates or terminates ecs services. - Creates or terminates ECS. services.
notes: notes:
- the service role specified must be assumable (i.e. have a trust relationship for the ecs service, ecs.amazonaws.com) - The service role specified must be assumable. (i.e. have a trust relationship for the ecs service, ecs.amazonaws.com)
- for details of the parameters and returns see U(https://boto3.readthedocs.io/en/latest/reference/services/ecs.html) - For details of the parameters and returns see U(https://boto3.readthedocs.io/en/latest/reference/services/ecs.html).
- An IAM role must have been previously created - An IAM role must have been previously created.
version_added: "2.1" version_added: "2.1"
author: author:
- "Mark Chance (@Java1Guy)" - "Mark Chance (@Java1Guy)"
@ -40,119 +32,169 @@ requirements: [ json, botocore, boto3 ]
options: options:
state: state:
description: description:
- The desired state of the service - The desired state of the service.
required: true required: true
choices: ["present", "absent", "deleting"] choices: ["present", "absent", "deleting"]
type: str
name: name:
description: description:
- The name of the service - The name of the service.
required: true required: true
type: str
cluster: cluster:
description: description:
- The name of the cluster in which the service exists - The name of the cluster in which the service exists.
required: false required: false
type: str
task_definition: task_definition:
description: description:
- The task definition the service will run. This parameter is required when state=present - The task definition the service will run.
- This parameter is required when I(state=present).
required: false required: false
type: str
load_balancers: load_balancers:
description: description:
- The list of ELBs defined for this service - The list of ELBs defined for this service.
required: false required: false
type: list
elements: str
desired_count: desired_count:
description: description:
- The count of how many instances of the service. This parameter is required when state=present - The count of how many instances of the service.
- This parameter is required when I(state=present).
required: false required: false
type: int
client_token: client_token:
description: description:
- Unique, case-sensitive identifier you provide to ensure the idempotency of the request. Up to 32 ASCII characters are allowed. - Unique, case-sensitive identifier you provide to ensure the idempotency of the request. Up to 32 ASCII characters are allowed.
required: false required: false
type: str
role: role:
description: description:
- The name or full Amazon Resource Name (ARN) of the IAM role that allows your Amazon ECS container agent to make calls to your load balancer - The name or full Amazon Resource Name (ARN) of the IAM role that allows your Amazon ECS container agent to make calls to your load balancer
on your behalf. This parameter is only required if you are using a load balancer with your service, in a network mode other than `awsvpc`. on your behalf.
- This parameter is only required if you are using a load balancer with your service in a network mode other than C(awsvpc).
required: false required: false
type: str
delay: delay:
description: description:
- The time to wait before checking that the service is available - The time to wait before checking that the service is available.
required: false required: false
default: 10 default: 10
type: int
repeat: repeat:
description: description:
- The number of times to check that the service is available - The number of times to check that the service is available.
required: false required: false
default: 10 default: 10
type: int
force_new_deployment: force_new_deployment:
description: description:
- Force deployment of service even if there are no changes - Force deployment of service even if there are no changes.
required: false required: false
version_added: 2.8 version_added: 2.8
type: bool type: bool
deployment_configuration: deployment_configuration:
description: description:
- Optional parameters that control the deployment_configuration; format is '{"maximum_percent":<integer>, "minimum_healthy_percent":<integer>} - Optional parameters that control the deployment_configuration.
- Format is '{"maximum_percent":<integer>, "minimum_healthy_percent":<integer>}
required: false required: false
version_added: 2.3 version_added: 2.3
type: dict
suboptions:
maximum_percent:
type: int
description: Upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment.
minimum_healthy_percent:
type: int
description: A lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment.
placement_constraints: placement_constraints:
description: description:
- The placement constraints for the tasks in the service - The placement constraints for the tasks in the service.
required: false required: false
version_added: 2.4 version_added: 2.4
type: list
elements: dict
suboptions:
placement_strategy: placement_strategy:
description: description:
- The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules per service - The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules per service.
required: false required: false
version_added: 2.4 version_added: 2.4
type: list
elements: dict
suboptions:
type:
description: The type of placement strategy.
type: str
field:
description: The field to apply the placement strategy against.
type: str
network_configuration: network_configuration:
description: description:
- network configuration of the service. Only applicable for task definitions created with C(awsvpc) I(network_mode). - Network configuration of the service. Only applicable for task definitions created with I(network_mode=awsvpc).
- assign_public_ip requires botocore >= 1.8.4 - I(assign_public_ip) requires botocore >= 1.8.4
type: dict
suboptions: suboptions:
subnets: subnets:
description: description:
- A list of subnet IDs to associate with the task - A list of subnet IDs to associate with the task
version_added: 2.6 version_added: 2.6
type: list
elements: str
security_groups: security_groups:
description: description:
- A list of security group names or group IDs to associate with the task - A list of security group names or group IDs to associate with the task
version_added: 2.6 version_added: 2.6
type: list
elements: str
assign_public_ip: assign_public_ip:
description: description:
- Whether the task's elastic network interface receives a public IP address. This option requires botocore >= 1.8.4. - Whether the task's elastic network interface receives a public IP address.
- This option requires botocore >= 1.8.4.
type: bool type: bool
version_added: 2.7 version_added: 2.7
launch_type: launch_type:
description: description:
- The launch type on which to run your service - The launch type on which to run your service.
required: false required: false
version_added: 2.7 version_added: 2.7
choices: ["EC2", "FARGATE"] choices: ["EC2", "FARGATE"]
type: str
health_check_grace_period_seconds: health_check_grace_period_seconds:
description: description:
- Seconds to wait before health checking the freshly added/updated services. This option requires botocore >= 1.8.20. - Seconds to wait before health checking the freshly added/updated services.
- This option requires botocore >= 1.8.20.
required: false required: false
version_added: 2.8 version_added: 2.8
type: int
service_registries: service_registries:
description: description:
- describes service discovery registries this service will register with. - Describes service discovery registries this service will register with.
type: list
elements: dict
required: false required: false
version_added: 2.8 version_added: 2.8
suboptions: suboptions:
container_name: container_name:
description: description:
- container name for service discovery registration - container name for service discovery registration
type: str
container_port: container_port:
description: description:
- container port for service discovery registration - container port for service discovery registration
type: int
arn: arn:
description: description:
- Service discovery registry ARN - Service discovery registry ARN
type: str
scheduling_strategy: scheduling_strategy:
description: description:
- The scheduling strategy, defaults to "REPLICA" if not given to preserve previous behavior - The scheduling strategy, defaults to "REPLICA" if not given to preserve previous behavior
required: false required: false
version_added: 2.8 version_added: 2.8
choices: ["DAEMON", "REPLICA"] choices: ["DAEMON", "REPLICA"]
type: str
extends_documentation_fragment: extends_documentation_fragment:
- aws - aws
- ec2 - ec2
@ -318,15 +360,122 @@ service:
such as attribute:ecs.availability-zone. For the binpack placement strategy, valid values are CPU and MEMORY. such as attribute:ecs.availability-zone. For the binpack placement strategy, valid values are CPU and MEMORY.
returned: always returned: always
type: str type: str
ansible_facts: ansible_facts:
description: Facts about deleted service. description: Facts about deleted service.
returned: when deleting a service returned: when deleting a service
type: complex type: complex
contains: contains:
service: service:
description: Details of deleted service in the same structure described above for service creation. description: Details of deleted service.
returned: when service existed and was deleted returned: when service existed and was deleted
type: complex type: complex
contains:
clusterArn:
description: The Amazon Resource Name (ARN) of the of the cluster that hosts the service.
returned: always
type: str
desiredCount:
description: The desired number of instantiations of the task definition to keep running on the service.
returned: always
type: int
loadBalancers:
description: A list of load balancer objects
returned: always
type: complex
contains:
loadBalancerName:
description: the name
returned: always
type: str
containerName:
description: The name of the container to associate with the load balancer.
returned: always
type: str
containerPort:
description: The port on the container to associate with the load balancer.
returned: always
type: int
pendingCount:
description: The number of tasks in the cluster that are in the PENDING state.
returned: always
type: int
runningCount:
description: The number of tasks in the cluster that are in the RUNNING state.
returned: always
type: int
serviceArn:
description: The Amazon Resource Name (ARN) that identifies the service. The ARN contains the arn:aws:ecs namespace, followed by the region
of the service, the AWS account ID of the service owner, the service namespace, and then the service name. For example,
arn:aws:ecs:region :012345678910 :service/my-service .
returned: always
type: str
serviceName:
description: A user-generated string used to identify the service
returned: always
type: str
status:
description: The valid values are ACTIVE, DRAINING, or INACTIVE.
returned: always
type: str
taskDefinition:
description: The ARN of a task definition to use for tasks in the service.
returned: always
type: str
deployments:
description: list of service deployments
returned: always
type: list
elements: dict
deploymentConfiguration:
description: dictionary of deploymentConfiguration
returned: always
type: complex
contains:
maximumPercent:
description: maximumPercent param
returned: always
type: int
minimumHealthyPercent:
description: minimumHealthyPercent param
returned: always
type: int
events:
description: list of service events
returned: always
type: list
elements: dict
placementConstraints:
description: List of placement constraints objects
returned: always
type: list
elements: dict
contains:
type:
description: The type of constraint. Valid values are distinctInstance and memberOf.
returned: always
type: str
expression:
description: A cluster query language expression to apply to the constraint. Note you cannot specify an expression if
the constraint type is distinctInstance.
returned: always
type: str
placementStrategy:
description: List of placement strategy objects
returned: always
type: list
elements: dict
contains:
type:
description: The type of placement strategy. Valid values are random, spread and binpack.
returned: always
type: str
field:
description: The field to apply the placement strategy against. For the spread placement strategy, valid values are instanceId
(or host, which has the same effect), or any platform or custom attribute that is applied to a container instance,
such as attribute:ecs.availability-zone. For the binpack placement strategy, valid values are CPU and MEMORY.
returned: always
type: str
''' '''
import time import time

View file

@ -13,9 +13,9 @@ ANSIBLE_METADATA = {'metadata_version': '1.1',
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
module: ecs_service_info module: ecs_service_info
short_description: list or describe services in ecs short_description: List or describe services in ECS
description: description:
- Lists or describes services in ecs. - Lists or describes services in ECS.
- This module was called C(ecs_service_facts) before Ansible 2.9, returning C(ansible_facts). - This module was called C(ecs_service_facts) before Ansible 2.9, returning C(ansible_facts).
Note that the M(ecs_service_info) module no longer returns C(ansible_facts)! Note that the M(ecs_service_info) module no longer returns C(ansible_facts)!
version_added: "2.1" version_added: "2.1"
@ -28,24 +28,26 @@ options:
description: description:
- Set this to true if you want detailed information about the services. - Set this to true if you want detailed information about the services.
required: false required: false
default: 'false' default: false
type: bool type: bool
events: events:
description: description:
- Whether to return ECS service events. Only has an effect if C(details) is true. - Whether to return ECS service events. Only has an effect if I(details=true).
required: false required: false
default: 'true' default: true
type: bool type: bool
version_added: "2.6" version_added: "2.6"
cluster: cluster:
description: description:
- The cluster ARNS in which to list the services. - The cluster ARNS in which to list the services.
required: false required: false
default: 'default' type: str
service: service:
description: description:
- One or more services to get details for - One or more services to get details for
required: false required: false
type: list
elements: str
extends_documentation_fragment: extends_documentation_fragment:
- aws - aws
- ec2 - ec2

View file

@ -14,7 +14,7 @@ ANSIBLE_METADATA = {'metadata_version': '1.1',
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
module: ecs_task module: ecs_task
short_description: run, start or stop a task in ecs short_description: Run, start or stop a task in ecs
description: description:
- Creates or deletes instances of task definitions. - Creates or deletes instances of task definitions.
version_added: "2.0" version_added: "2.0"
@ -23,49 +23,67 @@ requirements: [ json, botocore, boto3 ]
options: options:
operation: operation:
description: description:
- Which task operation to execute - Which task operation to execute.
required: True required: True
choices: ['run', 'start', 'stop'] choices: ['run', 'start', 'stop']
type: str
cluster: cluster:
description: description:
- The name of the cluster to run the task on - The name of the cluster to run the task on.
required: False required: False
type: str
task_definition: task_definition:
description: description:
- The task definition to start or run - The task definition to start or run.
required: False required: False
type: str
overrides: overrides:
description: description:
- A dictionary of values to pass to the new instances - A dictionary of values to pass to the new instances.
required: False required: False
type: dict
count: count:
description: description:
- How many new instances to start - How many new instances to start.
required: False required: False
type: int
task: task:
description: description:
- The task to stop - The task to stop.
required: False required: False
type: str
container_instances: container_instances:
description: description:
- The list of container instances on which to deploy the task - The list of container instances on which to deploy the task.
required: False required: False
type: list
elements: str
started_by: started_by:
description: description:
- A value showing who or what started the task (for informational purposes) - A value showing who or what started the task (for informational purposes).
required: False required: False
type: str
network_configuration: network_configuration:
description: description:
- network configuration of the service. Only applicable for task definitions created with C(awsvpc) I(network_mode). - Network configuration of the service. Only applicable for task definitions created with I(network_mode=awsvpc).
- I(network_configuration) has two keys, I(subnets), a list of subnet IDs to which the task is attached and I(security_groups), type: dict
a list of group names or group IDs for the task suboptions:
subnets:
description: A list of subnet IDs to which the task is attached.
type: list
elements: str
security_groups:
description: A list of group names or group IDs for the task.
type: list
elements: str
version_added: 2.6 version_added: 2.6
launch_type: launch_type:
description: description:
- The launch type on which to run your service - The launch type on which to run your service.
required: false required: false
version_added: 2.8 version_added: 2.8
choices: ["EC2", "FARGATE"] choices: ["EC2", "FARGATE"]
type: str
extends_documentation_fragment: extends_documentation_fragment:
- aws - aws
- ec2 - ec2

View file

@ -1,18 +1,10 @@
#!/usr/bin/python #!/usr/bin/python
# This file is part of Ansible # This file is part of Ansible
# # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by from __future__ import (absolute_import, division, print_function)
# the Free Software Foundation, either version 3 of the License, or __metaclass__ = type
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'], 'status': ['preview'],
@ -24,38 +16,44 @@ DOCUMENTATION = '''
module: ecs_taskdefinition module: ecs_taskdefinition
short_description: register a task definition in ecs short_description: register a task definition in ecs
description: description:
- Registers or deregisters task definitions in the Amazon Web Services (AWS) EC2 Container Service (ECS) - Registers or deregisters task definitions in the Amazon Web Services (AWS) EC2 Container Service (ECS).
version_added: "2.0" version_added: "2.0"
author: Mark Chance (@Java1Guy) author: Mark Chance (@Java1Guy)
requirements: [ json, botocore, boto3 ] requirements: [ json, botocore, boto3 ]
options: options:
state: state:
description: description:
- State whether the task definition should exist or be deleted - State whether the task definition should exist or be deleted.
required: true required: true
choices: ['present', 'absent'] choices: ['present', 'absent']
type: str
arn: arn:
description: description:
- The arn of the task description to delete - The ARN of the task description to delete.
required: false required: false
type: str
family: family:
description: description:
- A Name that would be given to the task definition - A Name that would be given to the task definition.
required: false required: false
type: str
revision: revision:
description: description:
- A revision number for the task definition - A revision number for the task definition.
required: False required: False
type: int
force_create: force_create:
description: description:
- Always create new task definition - Always create new task definition.
required: False required: False
version_added: 2.5 version_added: 2.5
type: bool type: bool
containers: containers:
description: description:
- A list of containers definitions - A list of containers definitions.
required: False required: False
type: list
elements: str
network_mode: network_mode:
description: description:
- The Docker networking mode to use for the containers in the task. - The Docker networking mode to use for the containers in the task.
@ -64,39 +62,52 @@ options:
default: bridge default: bridge
choices: [ 'bridge', 'host', 'none', 'awsvpc' ] choices: [ 'bridge', 'host', 'none', 'awsvpc' ]
version_added: 2.3 version_added: 2.3
type: str
task_role_arn: task_role_arn:
description: description:
- The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted - The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted
the permissions that are specified in this role. the permissions that are specified in this role.
required: false required: false
version_added: 2.3 version_added: 2.3
type: str
execution_role_arn: execution_role_arn:
description: description:
- The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume. - The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.
required: false required: false
version_added: 2.7 version_added: 2.7
type: str
volumes: volumes:
description: description:
- A list of names of volumes to be attached - A list of names of volumes to be attached.
required: False required: False
type: list
elements: dict
suboptions:
name:
type: str
description: The name of the volume.
required: true
launch_type: launch_type:
description: description:
- The launch type on which to run your task - The launch type on which to run your task.
required: false required: false
version_added: 2.7 version_added: 2.7
type: str
choices: ["EC2", "FARGATE"] choices: ["EC2", "FARGATE"]
cpu: cpu:
description: description:
- The number of cpu units used by the task. If using the EC2 launch type, this field is optional and any value can be used. - The number of cpu units used by the task. If using the EC2 launch type, this field is optional and any value can be used.
If using the Fargate launch type, this field is required and you must use one of [256, 512, 1024, 2048, 4096] - If using the Fargate launch type, this field is required and you must use one of C(256), C(512), C(1024), C(2048), C(4096).
required: false required: false
version_added: 2.7 version_added: 2.7
type: str
memory: memory:
description: description:
- The amount (in MiB) of memory used by the task. If using the EC2 launch type, this field is optional and any value can be used. - The amount (in MiB) of memory used by the task. If using the EC2 launch type, this field is optional and any value can be used.
If using the Fargate launch type, this field is required and is limited by the cpu - If using the Fargate launch type, this field is required and is limited by the cpu.
required: false required: false
version_added: 2.7 version_added: 2.7
type: str
extends_documentation_fragment: extends_documentation_fragment:
- aws - aws
- ec2 - ec2

View file

@ -13,13 +13,13 @@ ANSIBLE_METADATA = {'metadata_version': '1.1',
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
module: ecs_taskdefinition_info module: ecs_taskdefinition_info
short_description: describe a task definition in ecs short_description: Describe a task definition in ECS
notes: notes:
- for details of the parameters and returns see - For details of the parameters and returns see
U(http://boto3.readthedocs.io/en/latest/reference/services/ecs.html#ECS.Client.describe_task_definition) U(http://boto3.readthedocs.io/en/latest/reference/services/ecs.html#ECS.Client.describe_task_definition)
- This module was called C(ecs_taskdefinition_facts) before Ansible 2.9. The usage did not change. - This module was called C(ecs_taskdefinition_facts) before Ansible 2.9. The usage did not change.
description: description:
- Describes a task definition in ecs. - Describes a task definition in ECS.
version_added: "2.5" version_added: "2.5"
author: author:
- Gustavo Maia (@gurumaia) - Gustavo Maia (@gurumaia)
@ -31,6 +31,7 @@ options:
description: description:
- The name of the task definition to get details for - The name of the task definition to get details for
required: true required: true
type: str
extends_documentation_fragment: extends_documentation_fragment:
- aws - aws
- ec2 - ec2

View file

@ -16,7 +16,7 @@ DOCUMENTATION = '''
module: efs module: efs
short_description: create and maintain EFS file systems short_description: create and maintain EFS file systems
description: description:
- Module allows create, search and destroy Amazon EFS file systems - Module allows create, search and destroy Amazon EFS file systems.
version_added: "2.2" version_added: "2.2"
requirements: [ boto3 ] requirements: [ boto3 ]
author: author:
@ -25,10 +25,9 @@ author:
options: options:
encrypt: encrypt:
description: description:
- A boolean value that, if true, creates an encrypted file system. This can not be modified after the file - If I(encrypt=true) creates an encrypted file system. This can not be modified after the file system is created.
system is created.
type: bool type: bool
default: 'no' default: false
version_added: 2.5 version_added: 2.5
kms_key_id: kms_key_id:
description: description:
@ -36,46 +35,63 @@ options:
required if you want to use a non-default CMK. If this parameter is not specified, the default CMK for required if you want to use a non-default CMK. If this parameter is not specified, the default CMK for
Amazon EFS is used. The key id can be Key ID, Key ID ARN, Key Alias or Key Alias ARN. Amazon EFS is used. The key id can be Key ID, Key ID ARN, Key Alias or Key Alias ARN.
version_added: 2.5 version_added: 2.5
type: str
purge_tags: purge_tags:
description: description:
- If yes, existing tags will be purged from the resource to match exactly what is defined by I(tags) parameter. If the I(tags) parameter - If yes, 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. is not set then tags will not be modified.
type: bool type: bool
default: 'yes' default: true
version_added: 2.5 version_added: 2.5
state: state:
description: description:
- Allows to create, search and destroy Amazon EFS file system - Allows to create, search and destroy Amazon EFS file system.
default: 'present' default: 'present'
choices: ['present', 'absent'] choices: ['present', 'absent']
type: str
name: name:
description: description:
- Creation Token of Amazon EFS file system. Required for create and update. Either name or ID required for delete. - Creation Token of Amazon EFS file system. Required for create and update. Either name or ID required for delete.
type: str
id: id:
description: description:
- ID of Amazon EFS. Either name or ID required for delete. - ID of Amazon EFS. Either name or ID required for delete.
type: str
performance_mode: performance_mode:
description: description:
- File system's performance mode to use. Only takes effect during creation. - File system's performance mode to use. Only takes effect during creation.
default: 'general_purpose' default: 'general_purpose'
choices: ['general_purpose', 'max_io'] choices: ['general_purpose', 'max_io']
type: str
tags: tags:
description: description:
- "List of tags of Amazon EFS. Should be defined as dictionary - "List of tags of Amazon EFS. Should be defined as dictionary
In case of 'present' state with list of tags and existing EFS (matched by 'name'), tags of EFS will be replaced with provided data." In case of 'present' state with list of tags and existing EFS (matched by 'name'), tags of EFS will be replaced with provided data."
type: dict
targets: targets:
description: description:
- "List of mounted targets. It should be a list of dictionaries, every dictionary should include next attributes: - "List of mounted targets. It should be a list of dictionaries, every dictionary should include next attributes:
- subnet_id - Mandatory. The ID of the subnet to add the mount target in.
- ip_address - Optional. A valid IPv4 address within the address range of the specified subnet.
- security_groups - Optional. List of security group IDs, of the form 'sg-xxxxxxxx'. These must be for the same VPC as subnet specified
This data may be modified for existing EFS using state 'present' and new list of mount targets." This data may be modified for existing EFS using state 'present' and new list of mount targets."
type: list
elements: dict
suboptions:
subnet_id:
required: true
description: The ID of the subnet to add the mount target in.
ip_address:
type: str
description: A valid IPv4 address within the address range of the specified subnet.
security_groups:
type: list
elements: str
description: List of security group IDs, of the form 'sg-xxxxxxxx'. These must be for the same VPC as subnet specified
throughput_mode: throughput_mode:
description: description:
- The throughput_mode for the file system to be created. - The throughput_mode for the file system to be created.
- Requires botocore >= 1.10.57 - Requires botocore >= 1.10.57
choices: ['bursting', 'provisioned'] choices: ['bursting', 'provisioned']
version_added: 2.8 version_added: 2.8
type: str
provisioned_throughput_in_mibps: provisioned_throughput_in_mibps:
description: description:
- If the throughput_mode is provisioned, select the amount of throughput to provisioned in Mibps. - If the throughput_mode is provisioned, select the amount of throughput to provisioned in Mibps.
@ -87,11 +103,12 @@ options:
- "In case of 'present' state should wait for EFS 'available' life cycle state (of course, if current state not 'deleting' or 'deleted') - "In case of 'present' state should wait for EFS 'available' life cycle state (of course, if current state not 'deleting' or 'deleted')
In case of 'absent' state should wait for EFS 'deleted' life cycle state" In case of 'absent' state should wait for EFS 'deleted' life cycle state"
type: bool type: bool
default: 'no' default: false
wait_timeout: wait_timeout:
description: description:
- How long the module should wait (in seconds) for desired state before returning. Zero means wait as long as necessary. - How long the module should wait (in seconds) for desired state before returning. Zero means wait as long as necessary.
default: 0 default: 0
type: int
extends_documentation_fragment: extends_documentation_fragment:
- aws - aws
@ -714,7 +731,7 @@ def main():
if not HAS_BOTO3: if not HAS_BOTO3:
module.fail_json(msg='boto3 required for this module') module.fail_json(msg='boto3 required for this module')
region, _, aws_connect_params = get_aws_connection_info(module, boto3=True) region, ec2_url, aws_connect_params = get_aws_connection_info(module, boto3=True)
connection = EFSConnection(module, region, **aws_connect_params) connection = EFSConnection(module, region, **aws_connect_params)
name = module.params.get('name') name = module.params.get('name')

View file

@ -28,16 +28,21 @@ options:
description: description:
- Creation Token of Amazon EFS file system. - Creation Token of Amazon EFS file system.
aliases: [ creation_token ] aliases: [ creation_token ]
type: str
id: id:
description: description:
- ID of Amazon EFS. - ID of Amazon EFS.
type: str
tags: tags:
description: description:
- List of tags of Amazon EFS. Should be defined as dictionary. - List of tags of Amazon EFS. Should be defined as dictionary.
type: dict
targets: targets:
description: description:
- List of targets on which to filter the returned results. - List of targets on which to filter the returned results.
- Result must match all of the specified targets, each of which can be a security group ID, a subnet ID or an IP address. - Result must match all of the specified targets, each of which can be a security group ID, a subnet ID or an IP address.
type: list
elements: str
extends_documentation_fragment: extends_documentation_fragment:
- aws - aws
- ec2 - ec2
@ -370,7 +375,7 @@ def main():
module.deprecate("The 'efs_facts' module has been renamed to 'efs_info', " module.deprecate("The 'efs_facts' module has been renamed to 'efs_info', "
"and the renamed one no longer returns ansible_facts", version='2.13') "and the renamed one no longer returns ansible_facts", version='2.13')
region, _, aws_connect_params = get_aws_connection_info(module, boto3=True) region, ec2_url, aws_connect_params = get_aws_connection_info(module, boto3=True)
connection = EFSConnection(module, region, **aws_connect_params) connection = EFSConnection(module, region, **aws_connect_params)
name = module.params.get('name') name = module.params.get('name')

View file

@ -1,8 +1,12 @@
#!/usr/bin/python #!/usr/bin/python
# #
# Copyright (c) 2017 Ansible Project # Copyright (c) 2017 Ansible Project
#
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'], 'status': ['preview'],
'supported_by': 'community'} 'supported_by': 'community'}
@ -11,9 +15,9 @@ ANSIBLE_METADATA = {'metadata_version': '1.1',
DOCUMENTATION = """ DOCUMENTATION = """
--- ---
module: elasticache module: elasticache
short_description: Manage cache clusters in Amazon Elasticache. short_description: Manage cache clusters in Amazon ElastiCache
description: description:
- Manage cache clusters in Amazon Elasticache. - Manage cache clusters in Amazon ElastiCache.
- Returns information about the specified cache cluster. - Returns information about the specified cache cluster.
version_added: "1.4" version_added: "1.4"
requirements: [ boto3 ] requirements: [ boto3 ]
@ -21,62 +25,80 @@ author: "Jim Dalton (@jsdalton)"
options: options:
state: state:
description: description:
- C(absent) or C(present) are idempotent actions that will create or destroy a cache cluster as needed. C(rebooted) will reboot the cluster, - C(absent) or C(present) are idempotent actions that will create or destroy a cache cluster as needed.
resulting in a momentary outage. - C(rebooted) will reboot the cluster, resulting in a momentary outage.
choices: ['present', 'absent', 'rebooted'] choices: ['present', 'absent', 'rebooted']
required: true required: true
type: str
name: name:
description: description:
- The cache cluster identifier - The cache cluster identifier.
required: true required: true
type: str
engine: engine:
description: description:
- Name of the cache engine to be used. - Name of the cache engine to be used.
- Supported values are C(redis) and C(memcached).
default: memcached default: memcached
choices: ['redis', 'memcached'] type: str
cache_engine_version: cache_engine_version:
description: description:
- The version number of the cache engine - The version number of the cache engine.
type: str
node_type: node_type:
description: description:
- The compute and memory capacity of the nodes in the cache cluster - The compute and memory capacity of the nodes in the cache cluster.
default: cache.m1.small default: cache.t2.small
type: str
num_nodes: num_nodes:
description: description:
- The initial number of cache nodes that the cache cluster will have. Required when state=present. - The initial number of cache nodes that the cache cluster will have.
- Required when I(state=present).
type: int
default: 1
cache_port: cache_port:
description: description:
- The port number on which each of the cache nodes will accept connections - The port number on which each of the cache nodes will accept
connections.
type: int
cache_parameter_group: cache_parameter_group:
description: description:
- The name of the cache parameter group to associate with this cache cluster. If this argument is omitted, the default cache parameter group - The name of the cache parameter group to associate with this cache cluster. If this argument is omitted, the default cache parameter group
for the specified engine will be used. for the specified engine will be used.
version_added: "2.0" version_added: "2.0"
aliases: [ 'parameter_group' ] aliases: [ 'parameter_group' ]
type: str
cache_subnet_group: cache_subnet_group:
description: description:
- The subnet group name to associate with. Only use if inside a vpc. Required if inside a vpc - The subnet group name to associate with. Only use if inside a vpc.
- Required if inside a vpc
version_added: "2.0" version_added: "2.0"
type: str
security_group_ids: security_group_ids:
description: description:
- A list of vpc security group IDs to associate with this cache cluster. Only use if inside a vpc - A list of vpc security group IDs to associate with this cache cluster. Only use if inside a vpc.
type: list
elements: str
version_added: "1.6" version_added: "1.6"
cache_security_groups: cache_security_groups:
description: description:
- A list of cache security group names to associate with this cache cluster. Must be an empty list if inside a vpc - A list of cache security group names to associate with this cache cluster. Must be an empty list if inside a vpc.
type: list
elements: str
zone: zone:
description: description:
- The EC2 Availability Zone in which the cache cluster will be created - The EC2 Availability Zone in which the cache cluster will be created.
type: str
wait: wait:
description: description:
- Wait for cache cluster result before returning - Wait for cache cluster result before returning.
type: bool type: bool
default: 'yes' default: true
hard_modify: hard_modify:
description: description:
- Whether to destroy and recreate an existing cache cluster if necessary in order to modify its state - Whether to destroy and recreate an existing cache cluster if necessary in order to modify its state.
type: bool type: bool
default: 'no' default: false
extends_documentation_fragment: extends_documentation_fragment:
- aws - aws
- ec2 - ec2

View file

@ -2,21 +2,26 @@
# Copyright (c) 2017 Ansible Project # Copyright (c) 2017 Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'], 'status': ['preview'],
'supported_by': 'community'} 'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
module: elasticache_info module: elasticache_info
short_description: Retrieve information for AWS Elasticache clusters short_description: Retrieve information for AWS ElastiCache clusters
description: description:
- Retrieve information from AWS Elasticache clusters - Retrieve information from AWS ElastiCache clusters
- This module was called C(elasticache_facts) before Ansible 2.9. The usage did not change. - This module was called C(elasticache_facts) before Ansible 2.9. The usage did not change.
version_added: "2.5" version_added: "2.5"
options: options:
name: name:
description: description:
- The name of an Elasticache cluster - The name of an ElastiCache cluster.
type: str
author: author:
- Will Thames (@willthames) - Will Thames (@willthames)
@ -26,17 +31,17 @@ extends_documentation_fragment:
''' '''
EXAMPLES = ''' EXAMPLES = '''
- name: obtain all Elasticache information - name: obtain all ElastiCache information
elasticache_info: elasticache_info:
- name: obtain all information for a single Elasticache cluster - name: obtain all information for a single ElastiCache cluster
elasticache_info: elasticache_info:
name: test_elasticache name: test_elasticache
''' '''
RETURN = ''' RETURN = '''
elasticache_clusters: elasticache_clusters:
description: List of elasticache clusters description: List of ElastiCache clusters
returned: always returned: always
type: complex type: complex
contains: contains:
@ -56,17 +61,17 @@ elasticache_clusters:
type: str type: str
sample: abcd-1234-001 sample: abcd-1234-001
cache_cluster_status: cache_cluster_status:
description: Status of Elasticache cluster description: Status of ElastiCache cluster
returned: always returned: always
type: str type: str
sample: available sample: available
cache_node_type: cache_node_type:
description: Instance type of Elasticache nodes description: Instance type of ElastiCache nodes
returned: always returned: always
type: str type: str
sample: cache.t2.micro sample: cache.t2.micro
cache_nodes: cache_nodes:
description: List of Elasticache nodes in the cluster description: List of ElastiCache nodes in the cluster
returned: always returned: always
type: complex type: complex
contains: contains:
@ -137,7 +142,7 @@ elasticache_clusters:
sample: sample:
- 'sg-abcd1234' - 'sg-abcd1234'
cache_subnet_group_name: cache_subnet_group_name:
description: Elasticache Subnet Group used by the cache description: ElastiCache Subnet Group used by the cache
returned: always returned: always
type: str type: str
sample: abcd-subnet-group sample: abcd-subnet-group
@ -147,12 +152,12 @@ elasticache_clusters:
type: str type: str
sample: 'https://console.aws.amazon.com/elasticache/home#client-download:' sample: 'https://console.aws.amazon.com/elasticache/home#client-download:'
engine: engine:
description: Engine used by elasticache description: Engine used by ElastiCache
returned: always returned: always
type: str type: str
sample: redis sample: redis
engine_version: engine_version:
description: Version of elasticache engine description: Version of ElastiCache engine
returned: always returned: always
type: str type: str
sample: 3.2.4 sample: 3.2.4
@ -197,7 +202,7 @@ elasticache_clusters:
type: str type: str
sample: replication-001 sample: replication-001
security_groups: security_groups:
description: List of Security Groups associated with Elasticache description: List of Security Groups associated with ElastiCache
returned: always returned: always
type: complex type: complex
contains: contains:
@ -212,9 +217,10 @@ elasticache_clusters:
type: str type: str
sample: active sample: active
tags: tags:
description: Tags applied to the elasticache cluster description: Tags applied to the ElastiCache cluster
returned: always returned: always
type: complex type: complex
contains: {}
sample: sample:
Application: web Application: web
Environment: test Environment: test

View file

@ -1,18 +1,10 @@
#!/usr/bin/python #!/usr/bin/python
# This file is part of Ansible # This file is part of Ansible
# # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by from __future__ import (absolute_import, division, print_function)
# the Free Software Foundation, either version 3 of the License, or __metaclass__ = type
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'], 'status': ['preview'],
@ -22,9 +14,9 @@ ANSIBLE_METADATA = {'metadata_version': '1.1',
DOCUMENTATION = """ DOCUMENTATION = """
--- ---
module: elasticache_parameter_group module: elasticache_parameter_group
short_description: Manage cache security groups in Amazon Elasticache. short_description: Manage cache security groups in Amazon ElastiCache.
description: description:
- Manage cache security groups in Amazon Elasticache. - Manage cache security groups in Amazon ElastiCache.
- Returns information about the specified cache cluster. - Returns information about the specified cache cluster.
version_added: "2.3" version_added: "2.3"
author: "Sloane Hertel (@s-hertel)" author: "Sloane Hertel (@s-hertel)"
@ -38,21 +30,26 @@ options:
- The name of the cache parameter group family that the cache parameter group can be used with. - The name of the cache parameter group family that the cache parameter group can be used with.
Required when creating a cache parameter group. Required when creating a cache parameter group.
choices: ['memcached1.4', 'memcached1.5', 'redis2.6', 'redis2.8', 'redis3.2', 'redis4.0', 'redis5.0'] choices: ['memcached1.4', 'memcached1.5', 'redis2.6', 'redis2.8', 'redis3.2', 'redis4.0', 'redis5.0']
type: str
name: name:
description: description:
- A user-specified name for the cache parameter group. - A user-specified name for the cache parameter group.
required: yes required: yes
type: str
description: description:
description: description:
- A user-specified description for the cache parameter group. - A user-specified description for the cache parameter group.
type: str
state: state:
description: description:
- Idempotent actions that will create/modify, destroy, or reset a cache parameter group as needed. - Idempotent actions that will create/modify, destroy, or reset a cache parameter group as needed.
choices: ['present', 'absent', 'reset'] choices: ['present', 'absent', 'reset']
required: true required: true
type: str
values: values:
description: description:
- A user-specified dictionary of parameters to reset or modify for the cache parameter group. - A user-specified dictionary of parameters to reset or modify for the cache parameter group.
type: dict
""" """
EXAMPLES = """ EXAMPLES = """
@ -288,7 +285,7 @@ def main():
group_family=dict(type='str', choices=['memcached1.4', 'memcached1.5', 'redis2.6', 'redis2.8', 'redis3.2', 'redis4.0', 'redis5.0']), group_family=dict(type='str', choices=['memcached1.4', 'memcached1.5', 'redis2.6', 'redis2.8', 'redis3.2', 'redis4.0', 'redis5.0']),
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
description=dict(default='', type='str'), description=dict(default='', type='str'),
state=dict(required=True), state=dict(required=True, choices=['present', 'absent', 'reset']),
values=dict(type='dict'), values=dict(type='dict'),
) )
) )

View file

@ -14,9 +14,9 @@ ANSIBLE_METADATA = {'metadata_version': '1.1',
DOCUMENTATION = """ DOCUMENTATION = """
--- ---
module: elasticache_snapshot module: elasticache_snapshot
short_description: Manage cache snapshots in Amazon Elasticache. short_description: Manage cache snapshots in Amazon ElastiCache.
description: description:
- Manage cache snapshots in Amazon Elasticache. - Manage cache snapshots in Amazon ElastiCache.
- Returns information about the specified snapshot. - Returns information about the specified snapshot.
version_added: "2.3" version_added: "2.3"
author: "Sloane Hertel (@s-hertel)" author: "Sloane Hertel (@s-hertel)"
@ -27,24 +27,30 @@ requirements: [ boto3, botocore ]
options: options:
name: name:
description: description:
- The name of the snapshot we want to create, copy, delete - The name of the snapshot we want to create, copy, delete.
required: yes required: yes
type: str
state: state:
description: description:
- Actions that will create, destroy, or copy a snapshot. - Actions that will create, destroy, or copy a snapshot.
choices: ['present', 'absent', 'copy'] choices: ['present', 'absent', 'copy']
type: str
replication_id: replication_id:
description: description:
- The name of the existing replication group to make the snapshot. - The name of the existing replication group to make the snapshot.
type: str
cluster_id: cluster_id:
description: description:
- The name of an existing cache cluster in the replication group to make the snapshot. - The name of an existing cache cluster in the replication group to make the snapshot.
type: str
target: target:
description: description:
- The name of a snapshot copy - The name of a snapshot copy.
type: str
bucket: bucket:
description: description:
- The s3 bucket to which the snapshot is exported - The s3 bucket to which the snapshot is exported.
type: str
""" """
EXAMPLES = """ EXAMPLES = """
@ -125,7 +131,7 @@ from ansible.module_utils.ec2 import boto3_conn, get_aws_connection_info, ec2_ar
def create(module, connection, replication_id, cluster_id, name): def create(module, connection, replication_id, cluster_id, name):
""" Create an Elasticache backup. """ """ Create an ElastiCache backup. """
try: try:
response = connection.create_snapshot(ReplicationGroupId=replication_id, response = connection.create_snapshot(ReplicationGroupId=replication_id,
CacheClusterId=cluster_id, CacheClusterId=cluster_id,
@ -141,7 +147,7 @@ def create(module, connection, replication_id, cluster_id, name):
def copy(module, connection, name, target, bucket): def copy(module, connection, name, target, bucket):
""" Copy an Elasticache backup. """ """ Copy an ElastiCache backup. """
try: try:
response = connection.copy_snapshot(SourceSnapshotName=name, response = connection.copy_snapshot(SourceSnapshotName=name,
TargetSnapshotName=target, TargetSnapshotName=target,
@ -153,7 +159,7 @@ def copy(module, connection, name, target, bucket):
def delete(module, connection, name): def delete(module, connection, name):
""" Delete an Elasticache backup. """ """ Delete an ElastiCache backup. """
try: try:
response = connection.delete_snapshot(SnapshotName=name) response = connection.delete_snapshot(SnapshotName=name)
changed = True changed = True

View file

@ -15,26 +15,30 @@ DOCUMENTATION = '''
--- ---
module: elasticache_subnet_group module: elasticache_subnet_group
version_added: "2.0" version_added: "2.0"
short_description: manage Elasticache subnet groups short_description: manage ElastiCache subnet groups
description: description:
- Creates, modifies, and deletes Elasticache subnet groups. This module has a dependency on python-boto >= 2.5. - Creates, modifies, and deletes ElastiCache subnet groups. This module has a dependency on python-boto >= 2.5.
options: options:
state: state:
description: description:
- Specifies whether the subnet should be present or absent. - Specifies whether the subnet should be present or absent.
required: true required: true
default: present
choices: [ 'present' , 'absent' ] choices: [ 'present' , 'absent' ]
type: str
name: name:
description: description:
- Database subnet group identifier. - Database subnet group identifier.
required: true required: true
type: str
description: description:
description: description:
- Elasticache subnet group description. Only set when a new group is added. - ElastiCache subnet group description. Only set when a new group is added.
type: str
subnets: subnets:
description: description:
- List of subnet IDs that make up the Elasticache subnet group. - List of subnet IDs that make up the ElastiCache subnet group.
type: list
elements: str
author: "Tim Mahoney (@timmahoney)" author: "Tim Mahoney (@timmahoney)"
extends_documentation_fragment: extends_documentation_fragment:
- aws - aws

View file

@ -489,53 +489,6 @@ lib/ansible/modules/cloud/alicloud/ali_instance.py validate-modules:parameter-ty
lib/ansible/modules/cloud/alicloud/ali_instance.py validate-modules:doc-missing-type lib/ansible/modules/cloud/alicloud/ali_instance.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/alicloud/ali_instance_info.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/cloud/alicloud/ali_instance_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/alicloud/ali_instance_info.py validate-modules:doc-missing-type lib/ansible/modules/cloud/alicloud/ali_instance_info.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/cloudformation.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/cloud/amazon/cloudformation.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/cloudformation.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/cloudformation_info.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/cloudformation_stack_set.py validate-modules:undocumented-parameter
lib/ansible/modules/cloud/amazon/cloudformation_stack_set.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/cloudformation_stack_set.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/cloudformation_stack_set.py validate-modules:missing-suboption-docs
lib/ansible/modules/cloud/amazon/cloudfront_distribution.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/cloudfront_distribution.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/cloudfront_distribution.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/cloud/amazon/cloudfront_distribution.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/cloud/amazon/cloudfront_distribution.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/cloudfront_distribution.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/cloudfront_info.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/cloudfront_info.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/cloudfront_info.py validate-modules:nonexistent-parameter-documented
lib/ansible/modules/cloud/amazon/cloudfront_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/cloudfront_invalidation.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/cloudfront_invalidation.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/cloudfront_invalidation.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/cloud/amazon/cloudfront_invalidation.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/cloudfront_invalidation.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/cloudfront_origin_access_identity.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/cloudfront_origin_access_identity.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/cloudfront_origin_access_identity.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/cloud/amazon/cloudfront_origin_access_identity.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/cloudtrail.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/cloud/amazon/cloudtrail.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/cloudtrail.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/cloudwatchevent_rule.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/cloudwatchevent_rule.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/cloudwatchlogs_log_group.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/cloudwatchlogs_log_group.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/cloudwatchlogs_log_group_info.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/data_pipeline.py pylint:blacklisted-name
lib/ansible/modules/cloud/amazon/data_pipeline.py validate-modules:undocumented-parameter
lib/ansible/modules/cloud/amazon/data_pipeline.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/data_pipeline.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/dms_endpoint.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/dms_endpoint.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/dms_endpoint.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/dms_replication_subnet_group.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/dynamodb_table.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/dynamodb_table.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/dynamodb_ttl.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/cloud/amazon/dynamodb_ttl.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/ec2.py future-import-boilerplate lib/ansible/modules/cloud/amazon/ec2.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/ec2.py metaclass-boilerplate lib/ansible/modules/cloud/amazon/ec2.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/ec2.py validate-modules:undocumented-parameter lib/ansible/modules/cloud/amazon/ec2.py validate-modules:undocumented-parameter
@ -643,52 +596,6 @@ lib/ansible/modules/cloud/amazon/ec2_vol.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/ec2_vol_info.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/cloud/amazon/ec2_vol_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ec2_win_password.py validate-modules:parameter-type-not-in-doc lib/ansible/modules/cloud/amazon/ec2_win_password.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ec2_win_password.py validate-modules:doc-missing-type lib/ansible/modules/cloud/amazon/ec2_win_password.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/ecs_attribute.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ecs_attribute.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/ecs_cluster.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/cloud/amazon/ecs_cluster.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ecs_cluster.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/ecs_ecr.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ecs_ecr.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/ecs_service.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/ecs_service.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/ecs_service.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ecs_service.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/ecs_service.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/amazon/ecs_service_info.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/cloud/amazon/ecs_service_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ecs_service_info.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/ecs_task.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ecs_task.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/ecs_taskdefinition.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/ecs_taskdefinition_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/efs.py pylint:blacklisted-name
lib/ansible/modules/cloud/amazon/efs.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/efs_info.py pylint:blacklisted-name
lib/ansible/modules/cloud/amazon/efs_info.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/efs_info.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/elasticache.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/elasticache.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/elasticache.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/cloud/amazon/elasticache.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/cloud/amazon/elasticache.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/elasticache.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/elasticache_info.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/elasticache_info.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/elasticache_info.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/elasticache_info.py validate-modules:return-syntax-error
lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py validate-modules:doc-choices-do-not-match-spec
lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/elasticache_parameter_group.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/elasticache_snapshot.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/elasticache_subnet_group.py validate-modules:doc-default-does-not-match-spec
lib/ansible/modules/cloud/amazon/elasticache_subnet_group.py validate-modules:parameter-type-not-in-doc
lib/ansible/modules/cloud/amazon/elasticache_subnet_group.py validate-modules:doc-missing-type
lib/ansible/modules/cloud/amazon/execute_lambda.py future-import-boilerplate lib/ansible/modules/cloud/amazon/execute_lambda.py future-import-boilerplate
lib/ansible/modules/cloud/amazon/execute_lambda.py metaclass-boilerplate lib/ansible/modules/cloud/amazon/execute_lambda.py metaclass-boilerplate
lib/ansible/modules/cloud/amazon/execute_lambda.py validate-modules:doc-default-does-not-match-spec lib/ansible/modules/cloud/amazon/execute_lambda.py validate-modules:doc-default-does-not-match-spec