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:
parent
3126c38f8a
commit
8c8077b5be
34 changed files with 1373 additions and 671 deletions
3
changelogs/fragments/64368-deprecate-unused.yml
Normal file
3
changelogs/fragments/64368-deprecate-unused.yml
Normal 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"
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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=[]),
|
||||||
|
|
|
@ -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 = '''
|
||||||
|
|
|
@ -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'}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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')
|
||||||
|
|
|
@ -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')
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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'),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue