diff --git a/accessanalyzer_validate_policy_info.py b/accessanalyzer_validate_policy_info.py
index 790486e13c2..817f414671b 100644
--- a/accessanalyzer_validate_policy_info.py
+++ b/accessanalyzer_validate_policy_info.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: accessanalyzer_validate_policy_info
version_added: 5.0.0
@@ -63,19 +61,19 @@
author:
- Mark Chappell (@tremble)
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Validate a policy
- name: Validate a simple IAM policy
community.aws.accessanalyzer_validate_policy_info:
policy: "{{ lookup('template', 'managed_policy.json.j2') }}"
-'''
+"""
-RETURN = r'''
+RETURN = r"""
findings:
description: The list of findings in a policy returned by IAM Access Analyzer based on its suite of policy checks.
returned: success
@@ -160,7 +158,7 @@
description: The offset within the policy that corresponds to the position, starting from C(0).
type: int
returned: success
-'''
+"""
try:
import botocore
@@ -169,8 +167,9 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
def filter_findings(findings, type_filter):
diff --git a/acm_certificate.py b/acm_certificate.py
index 313bdc424a3..e7ea9c6d87a 100644
--- a/acm_certificate.py
+++ b/acm_certificate.py
@@ -1,31 +1,14 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
-#
+
# Copyright (c) 2019 Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-#
-# This module is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This software 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 this software. If not, see .
-#
+
# Author:
# - Matthew Davis
# on behalf of Telstra Corporation Limited
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: acm_certificate
short_description: Upload and delete certificates in the AWS Certificate Manager service
@@ -175,13 +158,13 @@
author:
- Matthew Davis (@matt-telstra) on behalf of Telstra Corporation Limited
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.tags
-'''
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: upload a self-signed certificate
community.aws.aws_acm:
@@ -230,9 +213,9 @@
Application: search
Environment: development
purge_tags: true
-'''
+"""
-RETURN = '''
+RETURN = r"""
certificate:
description: Information about the certificate which was uploaded
type: complex
@@ -255,7 +238,7 @@
returned: when I(state=absent)
sample:
- "arn:aws:acm:ap-southeast-2:123456789012:certificate/01234567-abcd-abcd-abcd-012345678901"
-'''
+"""
import base64
@@ -267,15 +250,15 @@
except ImportError:
pass # handled by AnsibleAWSModule
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.acm import ACMServiceManager
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_aws_tags
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import (
- boto3_tag_list_to_ansible_dict,
- ansible_dict_to_boto3_tag_list,
-)
from ansible.module_utils._text import to_text
+from ansible_collections.amazon.aws.plugins.module_utils.acm import ACMServiceManager
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def ensure_tags(client, module, resource_arn, existing_tags, tags, purge_tags):
if tags is None:
diff --git a/acm_certificate_info.py b/acm_certificate_info.py
index 7395ec65ddc..2364751f519 100644
--- a/acm_certificate_info.py
+++ b/acm_certificate_info.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
module: acm_certificate_info
short_description: Retrieve certificate information from AWS Certificate Manager service
version_added: 1.0.0
@@ -43,12 +41,12 @@
author:
- Will Thames (@willthames)
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: obtain all ACM certificates
community.aws.aws_acm_info:
@@ -73,9 +71,9 @@
community.aws.aws_acm_info:
certificate_arn: "arn:aws:acm:ap-southeast-2:123456789012:certificate/abcdeabc-abcd-1234-4321-abcdeabcde12"
-'''
+"""
-RETURN = r'''
+RETURN = r"""
certificates:
description: A list of certificates
returned: always
@@ -257,11 +255,12 @@
returned: always
sample: AMAZON_ISSUED
type: str
-'''
+"""
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
from ansible_collections.amazon.aws.plugins.module_utils.acm import ACMServiceManager
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def main():
argument_spec = dict(
diff --git a/api_gateway.py b/api_gateway.py
index e4085deced8..615c3d89aa3 100644
--- a/api_gateway.py
+++ b/api_gateway.py
@@ -4,11 +4,7 @@
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: api_gateway
version_added: 1.0.0
@@ -104,19 +100,18 @@
default: EDGE
author:
- 'Michael De La Rue (@mikedlr)'
-extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
-
notes:
- A future version of this module will probably use tags or another
ID so that an API can be created only once.
- As an early work around an intermediate version will probably do
the same using a tag embedded in the API name.
-'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Setup AWS API Gateway setup on AWS and deploy API definition
community.aws.api_gateway:
swagger_file: my_api.yml
@@ -145,9 +140,9 @@
cache_size: '6.1'
canary_settings: { percentTraffic: 50.0, deploymentId: '123', useStageCache: True }
state: present
-'''
+"""
-RETURN = '''
+RETURN = r"""
api_id:
description: API id of the API endpoint created
returned: success
@@ -168,7 +163,7 @@
returned: always
type: list
sample: ["apigateway:CreateRestApi", "apigateway:CreateDeployment", "apigateway:PutRestApi"]
-'''
+"""
import json
import traceback
@@ -180,8 +175,9 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
def main():
diff --git a/api_gateway_domain.py b/api_gateway_domain.py
index ab0486d4f75..a1afeaec95f 100644
--- a/api_gateway_domain.py
+++ b/api_gateway_domain.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: api_gateway_domain
short_description: Manage AWS API Gateway custom domains
@@ -57,17 +55,17 @@
default: present
choices: [ 'present', 'absent' ]
type: str
-extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
notes:
- Does not create a DNS entry on Route53, for that use the M(community.aws.route53) module.
- Only supports TLS certificates from AWS ACM that can just be referenced by the ARN, while the AWS API still offers (deprecated)
options to add own Certificates.
-'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Setup endpoint for a custom domain for your API Gateway HTTP API
community.aws.api_gateway_domain:
domain_name: myapi.foobar.com
@@ -88,9 +86,9 @@
zone: foobar.com
alias_hosted_zone_id: "{{ api_gw_domain_result.response.domain.distribution_hosted_zone_id }}"
command: create
-'''
+"""
-RETURN = '''
+RETURN = r"""
response:
description: The data returned by create_domain_name (or update and delete) and create_base_path_mapping methods by boto3.
returned: success
@@ -110,19 +108,24 @@
path_mappings: [
{ base_path: '(empty)', rest_api_id: 'abcd123', stage: 'production' }
]
-'''
+"""
+
+import copy
try:
- from botocore.exceptions import ClientError, BotoCoreError, EndpointConnectionError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
+ from botocore.exceptions import EndpointConnectionError
except ImportError:
pass # caught by imported AnsibleAWSModule
-import copy
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict, snake_dict_to_camel_dict
def get_domain(module, client):
diff --git a/application_autoscaling_policy.py b/application_autoscaling_policy.py
index 08264400341..1b8669d84c8 100644
--- a/application_autoscaling_policy.py
+++ b/application_autoscaling_policy.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: application_autoscaling_policy
version_added: 1.0.0
@@ -104,12 +102,12 @@
required: false
type: bool
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Create step scaling policy for ECS Service
@@ -160,9 +158,9 @@
service_namespace: ecs
resource_id: service/cluster-name/service-name
scalable_dimension: ecs:service:DesiredCount
-'''
+"""
-RETURN = '''
+RETURN = r"""
alarms:
description: List of the CloudWatch alarms associated with the scaling policy
returned: when state present
@@ -283,16 +281,18 @@
returned: when state present
type: str
sample: '2017-09-28T08:22:51.881000-03:00'
-''' # NOQA
-
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import _camel_to_snake, camel_dict_to_snake_dict
+"""
try:
import botocore
except ImportError:
pass # handled by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible.module_utils.common.dict_transformations import _camel_to_snake
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
# Merge the results of the scalable target creation and policy deletion/creation
# There's no risk in overriding values since mutual keys have the same values in our case
diff --git a/autoscaling_complete_lifecycle_action.py b/autoscaling_complete_lifecycle_action.py
index 62d5e64b3bc..2b752c9a4b8 100644
--- a/autoscaling_complete_lifecycle_action.py
+++ b/autoscaling_complete_lifecycle_action.py
@@ -1,11 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: autoscaling_complete_lifecycle_action
short_description: Completes the lifecycle action of an instance
@@ -37,12 +36,12 @@
type: str
required: true
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Complete the lifecycle action
- aws_asg_complete_lifecycle_action:
@@ -50,16 +49,16 @@
lifecycle_hook_name: my-lifecycle-hook
lifecycle_action_result: CONTINUE
instance_id: i-123knm1l2312
-'''
+"""
-RETURN = '''
+RETURN = r"""
---
status:
description: How things went
returned: success
type: str
sample: ["OK"]
-'''
+"""
try:
import botocore
diff --git a/autoscaling_instance_refresh.py b/autoscaling_instance_refresh.py
index 73e223af3de..7cf82132e64 100644
--- a/autoscaling_instance_refresh.py
+++ b/autoscaling_instance_refresh.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: autoscaling_instance_refresh
version_added: 3.2.0
@@ -61,12 +59,12 @@
type: int
type: dict
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Start a refresh
@@ -87,9 +85,9 @@
min_healthy_percentage: 91
instance_warmup: 60
-'''
+"""
-RETURN = '''
+RETURN = r"""
---
instance_refresh_id:
description: instance refresh id
@@ -137,19 +135,21 @@
returned: success
type: int
sample: 5
-'''
+"""
try:
- from botocore.exceptions import BotoCoreError, ClientError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.transformation import scrub_none_parameters
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
-from ansible_collections.amazon.aws.plugins.module_utils.core import scrub_none_parameters
-from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
def start_or_cancel_instance_refresh(conn, module):
diff --git a/autoscaling_instance_refresh_info.py b/autoscaling_instance_refresh_info.py
index 064e92789b6..64581b46829 100644
--- a/autoscaling_instance_refresh_info.py
+++ b/autoscaling_instance_refresh_info.py
@@ -1,14 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: autoscaling_instance_refresh_info
version_added: 3.2.0
@@ -18,7 +14,8 @@
- You can determine the status of a request by looking at the I(status) parameter.
- Prior to release 5.0.0 this module was called C(community.aws.ec2_asg_instance_refresh_info).
The usage did not change.
-author: "Dan Khersonsky (@danquixote)"
+author:
+ - "Dan Khersonsky (@danquixote)"
options:
name:
description:
@@ -41,12 +38,12 @@
type: int
required: false
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Find an refresh by ASG name
@@ -70,9 +67,9 @@
name: somename-asg
next_token: 'some-token-123'
register: asgs
-'''
+"""
-RETURN = '''
+RETURN = r"""
---
instance_refresh_id:
description: instance refresh id
@@ -120,16 +117,19 @@
returned: success
type: int
sample: 5
-'''
+"""
try:
- from botocore.exceptions import BotoCoreError, ClientError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
def find_asg_instance_refreshes(conn, module):
diff --git a/autoscaling_launch_config.py b/autoscaling_launch_config.py
index 0e5cf844673..b21f296ce0e 100644
--- a/autoscaling_launch_config.py
+++ b/autoscaling_launch_config.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
-# This file is part of Ansible
-#
-# 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
+# -*- coding: utf-8 -*-
+# Copyright: Contributors to the Ansible project
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: autoscaling_launch_config
version_added: 1.0.0
@@ -183,12 +180,12 @@
type: str
choices: ['default', 'dedicated']
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: create a launch configuration with an encrypted volume
community.aws.autoscaling_launch_config:
@@ -254,9 +251,9 @@
security_groups: "['sg-xxxx']"
volumes: "{{ volumes }}"
register: lc_info
-'''
+"""
-RETURN = r'''
+RETURN = r"""
arn:
description: The Amazon Resource Name of the launch configuration.
returned: when I(state=present)
@@ -440,7 +437,7 @@
type: list
sample:
- sg-5e27db2f
-'''
+"""
import traceback
@@ -454,9 +451,10 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
from ansible_collections.amazon.aws.plugins.module_utils.ec2 import get_ec2_security_group_ids_from_names
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def create_block_device_meta(module, volume):
if 'snapshot' not in volume and 'ephemeral' not in volume and 'no_device' not in volume:
diff --git a/autoscaling_launch_config_find.py b/autoscaling_launch_config_find.py
index 699859af7e1..8f3ca14bec3 100644
--- a/autoscaling_launch_config_find.py
+++ b/autoscaling_launch_config_find.py
@@ -1,14 +1,10 @@
#!/usr/bin/python
-# encoding: utf-8
+# -*- coding: utf-8 -*-
# (c) 2015, Jose Armesto
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: autoscaling_launch_config_find
version_added: 1.0.0
@@ -40,12 +36,12 @@
- Corresponds to Python slice notation like list[:limit].
type: int
extends_documentation_fragment:
- - amazon.aws.ec2
- - amazon.aws.aws
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Search for the Launch Configurations that start with "app"
@@ -53,9 +49,9 @@
name_regex: app.*
sort_order: descending
limit: 2
-'''
+"""
-RETURN = '''
+RETURN = r"""
image_id:
description: AMI id
returned: when Launch Configuration was found
@@ -132,7 +128,8 @@
type: bool
sample: True
...
-'''
+"""
+
import re
try:
diff --git a/autoscaling_launch_config_info.py b/autoscaling_launch_config_info.py
index 44359bc64da..73e8fbdd8da 100644
--- a/autoscaling_launch_config_info.py
+++ b/autoscaling_launch_config_info.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: autoscaling_launch_config_info
version_added: 1.0.0
@@ -48,12 +45,12 @@
- Corresponds to Python slice notation.
type: int
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Gather information about all launch configurations
@@ -67,9 +64,9 @@
community.aws.autoscaling_launch_config_info:
sort: created_time
sort_order: descending
-'''
+"""
-RETURN = r'''
+RETURN = r"""
block_device_mapping:
description: Block device mapping for the instances of launch configuration.
type: list
@@ -149,11 +146,10 @@
description: User data available.
type: str
returned: always
-'''
+"""
try:
import botocore
- from botocore.exceptions import ClientError
except ImportError:
pass # Handled by AnsibleAWSModule
@@ -173,7 +169,7 @@ def list_launch_configs(connection, module):
try:
pg = connection.get_paginator('describe_launch_configurations')
launch_configs = pg.paginate(LaunchConfigurationNames=launch_config_name).build_full_result()
- except ClientError as e:
+ except botocore.exceptions.ClientError as e:
module.fail_json_aws(e, msg="Failed to list launch configs")
snaked_launch_configs = []
diff --git a/autoscaling_lifecycle_hook.py b/autoscaling_lifecycle_hook.py
index 72d3c6dfda2..a3b8edb499b 100644
--- a/autoscaling_lifecycle_hook.py
+++ b/autoscaling_lifecycle_hook.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
# Copyright: (c) 2017, Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: autoscaling_lifecycle_hook
version_added: 1.0.0
@@ -74,12 +71,12 @@
default: ABANDON
type: str
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Create / Update lifecycle hook
community.aws.autoscaling_lifecycle_hook:
region: eu-central-1
@@ -96,9 +93,9 @@
state: absent
autoscaling_group_name: example
lifecycle_hook_name: example
-'''
+"""
-RETURN = '''
+RETURN = r"""
---
auto_scaling_group_name:
description: The unique name of the auto scaling group.
@@ -130,7 +127,7 @@
returned: success
type: str
sample: "autoscaling:EC2_INSTANCE_LAUNCHING"
-'''
+"""
try:
@@ -138,9 +135,10 @@
except ImportError:
pass # handled by AnsibleAWSModule
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def create_lifecycle_hook(connection, module):
diff --git a/autoscaling_policy.py b/autoscaling_policy.py
index 19c7e46b481..b628fe7b58f 100644
--- a/autoscaling_policy.py
+++ b/autoscaling_policy.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
module: autoscaling_policy
short_description: Create or delete AWS scaling policies for Autoscaling groups
version_added: 1.0.0
@@ -189,11 +187,12 @@
description:
- The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics.
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
-EXAMPLES = '''
+"""
+
+EXAMPLES = r"""
- name: Simple Scale Down policy
community.aws.autoscaling_policy:
state: present
@@ -261,9 +260,9 @@
target_value: 98.0
asg_name: asg-test-1
register: result
-'''
+"""
-RETURN = '''
+RETURN = r"""
adjustment_type:
description: Scaling policy adjustment type.
returned: always
@@ -349,17 +348,19 @@
returned: always
type: int
sample: 50
-'''
+"""
try:
import botocore
except ImportError:
pass # caught by imported AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def build_target_specification(target_tracking_config):
diff --git a/autoscaling_scheduled_action.py b/autoscaling_scheduled_action.py
index cbccf7f1fe3..bf0d4bcc44f 100644
--- a/autoscaling_scheduled_action.py
+++ b/autoscaling_scheduled_action.py
@@ -1,4 +1,5 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
# Copyright: (c) 2021, Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
@@ -6,10 +7,7 @@
# Based off of https://github.com/mmochan/ansible-aws-ec2-asg-scheduled-actions/blob/master/library/ec2_asg_scheduled_action.py
# (c) 2016, Mike Mochan <@mmochan>
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: autoscaling_scheduled_action
version_added: 2.2.0
@@ -67,14 +65,15 @@
required: false
default: present
choices: ['present', 'absent']
-author: Mark Woolley(@marknet15)
+author:
+ - Mark Woolley(@marknet15)
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Create a scheduled action for a autoscaling group.
- name: Create a minimal scheduled action for autoscaling group
community.aws.autoscaling_scheduled_action:
@@ -108,9 +107,9 @@
autoscaling_group_name: test_asg
scheduled_action_name: test_scheduled_action
state: absent
-'''
+"""
-RETURN = r'''
+RETURN = r"""
scheduled_action_name:
description: The name of the scheduled action.
returned: when I(state=present)
@@ -151,7 +150,7 @@
returned: when I(state=present)
type: int
sample: 1
-'''
+"""
try:
import botocore
@@ -160,12 +159,14 @@
try:
from dateutil.parser import parse as timedate_parse
+
HAS_DATEUTIL = True
except ImportError:
HAS_DATEUTIL = False
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
def format_request():
diff --git a/aws_region_info.py b/aws_region_info.py
index ad9368ef14c..837e9326552 100644
--- a/aws_region_info.py
+++ b/aws_region_info.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
module: aws_region_info
short_description: Gather information about AWS regions
version_added: 1.0.0
@@ -26,12 +24,12 @@
default: {}
type: dict
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Gather information about all regions
@@ -41,9 +39,9 @@
- community.aws.aws_region_info:
filters:
region-name: eu-west-1
-'''
+"""
-RETURN = '''
+RETURN = r"""
regions:
returned: on success
description: >
@@ -54,18 +52,21 @@
'endpoint': 'ec2.us-west-1.amazonaws.com',
'region_name': 'us-west-1'
}]"
-'''
-
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_filter_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
+"""
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # Handled by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.transformation import ansible_dict_to_boto3_filter_list
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def main():
argument_spec = dict(
diff --git a/batch_compute_environment.py b/batch_compute_environment.py
index c6c752a3c40..79123501992 100644
--- a/batch_compute_environment.py
+++ b/batch_compute_environment.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Jon Meran
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: batch_compute_environment
version_added: 1.0.0
@@ -120,12 +118,12 @@
- The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied to a SPOT compute environment.
type: str
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: My Batch Compute Environment
community.aws.batch_compute_environment:
compute_environment_name: computeEnvironmentName
@@ -155,9 +153,9 @@
- name: show results
ansible.builtin.debug:
var: aws_batch_compute_environment_action
-'''
+"""
-RETURN = r'''
+RETURN = r"""
---
output:
description: "returns what action was taken, whether something was changed, invocation and response"
@@ -222,17 +220,21 @@
statusReason: "ComputeEnvironment Healthy"
type: MANAGED
type: dict
-'''
+"""
import re
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import snake_dict_to_camel_dict, camel_dict_to_snake_dict
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # Handled by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
# ---------------------------------------------------------------------------------------------------
#
diff --git a/batch_job_definition.py b/batch_job_definition.py
index 021d833b464..5eac0cacfe1 100644
--- a/batch_job_definition.py
+++ b/batch_job_definition.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Jon Meran
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: batch_job_definition
version_added: 1.0.0
@@ -179,12 +177,12 @@
many times.
type: int
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
---
- name: My Batch Job Definition
community.aws.batch_job_definition:
@@ -207,9 +205,9 @@
- name: show results
ansible.builtin.debug: var=job_definition_create_result
-'''
+"""
-RETURN = r'''
+RETURN = r"""
---
output:
description: "returns what action was taken, whether something was changed, invocation and response"
@@ -223,17 +221,21 @@
status: INACTIVE
type: container
type: dict
-'''
-
-from ansible_collections.amazon.aws.plugins.module_utils.batch import cc, set_api_params
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
+"""
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # Handled by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.batch import cc
+from ansible_collections.amazon.aws.plugins.module_utils.batch import set_api_params
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
# ---------------------------------------------------------------------------------------------------
#
diff --git a/batch_job_queue.py b/batch_job_queue.py
index e20c430ba6a..f71848bb04a 100644
--- a/batch_job_queue.py
+++ b/batch_job_queue.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Jon Meran
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: batch_job_queue
version_added: 1.0.0
@@ -63,12 +61,12 @@
type: str
description: The name of the compute environment.
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: My Batch Job Queue
community.aws.batch_job_queue:
job_queue_name: jobQueueName
@@ -86,9 +84,9 @@
- name: show results
ansible.builtin.debug:
var: batch_job_queue_action
-'''
+"""
-RETURN = r'''
+RETURN = r"""
---
output:
description: "returns what action was taken, whether something was changed, invocation and response"
@@ -104,17 +102,20 @@
status: UPDATING
status_reason: "JobQueue Healthy"
type: dict
-'''
-
-from ansible_collections.amazon.aws.plugins.module_utils.batch import set_api_params
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
+"""
try:
- from botocore.exceptions import BotoCoreError, ClientError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # Handled by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.batch import set_api_params
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
# ---------------------------------------------------------------------------------------------------
#
# Helper Functions & classes
diff --git a/cloudformation_exports_info.py b/cloudformation_exports_info.py
index 7030ca8ba5c..604abfd1436 100644
--- a/cloudformation_exports_info.py
+++ b/cloudformation_exports_info.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
module: cloudformation_exports_info
short_description: Read a value from CloudFormation Exports
version_added: 1.0.0
@@ -15,12 +13,12 @@
author:
- "Michael Moyle (@mmoyle)"
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Get Exports
community.aws.cloudformation_exports_info:
profile: 'my_aws_profile'
@@ -28,17 +26,14 @@
register: cf_exports
- ansible.builtin.debug:
msg: "{{ cf_exports }}"
-'''
+"""
-RETURN = '''
+RETURN = r"""
export_items:
description: A dictionary of Exports items names and values.
returned: Always
type: dict
-'''
-
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
+"""
try:
from botocore.exceptions import ClientError
@@ -46,6 +41,10 @@
except ImportError:
pass # handled by AnsibleAWSModule
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
@AWSRetry.exponential_backoff()
def list_exports(cloudformation_client):
diff --git a/cloudformation_stack_set.py b/cloudformation_stack_set.py
index 2d5bd83d455..e15f1c95229 100644
--- a/cloudformation_stack_set.py
+++ b/cloudformation_stack_set.py
@@ -1,20 +1,18 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: (c) 2018, Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: cloudformation_stack_set
version_added: 1.0.0
short_description: Manage groups of CloudFormation stacks
description:
- - Launches/updates/deletes AWS CloudFormation Stack Sets.
+ - Launches/updates/deletes AWS CloudFormation Stack Sets.
notes:
- - To make an individual stack, you want the M(amazon.aws.cloudformation) module.
+ - To make an individual stack, you want the M(amazon.aws.cloudformation) module.
options:
name:
description:
@@ -169,14 +167,15 @@
- 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:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: Create a stack set with instances in two accounts
community.aws.cloudformation_stack_set:
name: my-stack
@@ -213,9 +212,9 @@
accounts: [1234567890, 2345678901]
regions:
- us-east-1
-'''
+"""
-RETURN = r'''
+RETURN = r"""
operations_log:
type: list
description: Most recent events in CloudFormation's event log. This may be from a previous run in some cases.
@@ -294,7 +293,7 @@
Type: "AWS::SNS::Topic"
Properties: {}
-''' # NOQA
+"""
import datetime
import itertools
@@ -302,7 +301,8 @@
import uuid
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
# handled by AnsibleAWSModule
pass
@@ -310,11 +310,12 @@
from ansible.module_utils._text import to_native
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_tag_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
def create_stack_set(module, stack_params, cfn):
diff --git a/cloudfront_distribution.py b/cloudfront_distribution.py
index f7ff3b51553..ec6e74daf36 100644
--- a/cloudfront_distribution.py
+++ b/cloudfront_distribution.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
version_added: 1.0.0
@@ -21,12 +19,6 @@
- Willem van Ketwich (@wilvk)
- Will Thames (@willthames)
-extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
- - amazon.aws.tags
-
options:
state:
@@ -597,9 +589,14 @@
default: 1800
type: int
-'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.tags
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: create a basic distribution with defaults and tags
community.aws.cloudfront_distribution:
state: present
@@ -689,9 +686,9 @@
community.aws.cloudfront_distribution:
state: absent
caller_reference: replaceable distribution
-'''
+"""
-RETURN = r'''
+RETURN = r"""
active_trusted_signers:
description: Key pair IDs that CloudFront is aware of for each trusted signer.
returned: always
@@ -1414,29 +1411,30 @@
returned: always
type: str
sample: abcd1234-1234-abcd-abcd-abcd12345678
-'''
+"""
-from ansible.module_utils._text import to_text, to_native
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.cloudfront_facts import CloudFrontFactsServiceManager
-from ansible.module_utils.common.dict_transformations import recursive_diff
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry, compare_aws_tags, ansible_dict_to_boto3_tag_list, boto3_tag_list_to_ansible_dict
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict, snake_dict_to_camel_dict
+from collections import OrderedDict
import datetime
-try:
- from collections import OrderedDict
-except ImportError:
- try:
- from ordereddict import OrderedDict
- except ImportError:
- pass # caught by AnsibleAWSModule (as python 2.6 + boto3 => ordereddict is installed)
-
try:
import botocore
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils._text import to_native
+from ansible.module_utils._text import to_text
+from ansible.module_utils.common.dict_transformations import recursive_diff
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.cloudfront_facts import CloudFrontFactsServiceManager
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def change_dict_key_name(dictionary, old_key, new_key):
if old_key in dictionary:
diff --git a/cloudfront_distribution_info.py b/cloudfront_distribution_info.py
index 179e572e0c9..bc6bd8073c9 100644
--- a/cloudfront_distribution_info.py
+++ b/cloudfront_distribution_info.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# This file is part of Ansible
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: cloudfront_distribution_info
version_added: 1.0.0
@@ -144,12 +141,12 @@
type: bool
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Get a summary of distributions
@@ -192,9 +189,9 @@
- name: Get all information about lists not requiring parameters (ie. list_origin_access_identities, list_distributions, list_streaming_distributions)
community.aws.cloudfront_distribution_info:
all_lists: true
-'''
+"""
-RETURN = '''
+RETURN = r"""
origin_access_identity:
description: Describes the origin access identity information. Requires I(origin_access_identity_id) to be set.
returned: only if I(origin_access_identity) is true
@@ -243,11 +240,12 @@
as figuring out the DistributionId is usually the reason one uses this module in the first place.
returned: always
type: dict
-'''
+"""
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
from ansible_collections.amazon.aws.plugins.module_utils.cloudfront_facts import CloudFrontFactsServiceManager
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def set_facts_for_distribution_id_and_alias(details, facts, distribution_id, aliases):
facts[distribution_id] = details
diff --git a/cloudfront_invalidation.py b/cloudfront_invalidation.py
index dbf478e4408..adee5058b17 100644
--- a/cloudfront_invalidation.py
+++ b/cloudfront_invalidation.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
version_added: 1.0.0
@@ -14,15 +12,10 @@
short_description: create invalidations for AWS CloudFront distributions
description:
- - Allows for invalidation of a batch of paths for a CloudFront distribution.
-
-author: Willem van Ketwich (@wilvk)
-
-extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - Allows for invalidation of a batch of paths for a CloudFront distribution.
+author:
+ - Willem van Ketwich (@wilvk)
options:
distribution_id:
@@ -52,9 +45,13 @@
notes:
- does not support check mode
-'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: create a batch of invalidations using a distribution_id for a reference
community.aws.cloudfront_invalidation:
@@ -74,9 +71,9 @@
- /testpathtwo/test5.js
- /testpaththree/*
-'''
+"""
-RETURN = r'''
+RETURN = r"""
invalidation:
description: The invalidation's information.
returned: always
@@ -130,7 +127,7 @@
returned: always
type: str
sample: https://cloudfront.amazonaws.com/2017-03-25/distribution/E1ZID6KZJECZY7/invalidation/I2G9MOWJZFV622
-'''
+"""
import datetime
@@ -142,10 +139,11 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_message
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_message
from ansible_collections.amazon.aws.plugins.module_utils.cloudfront_facts import CloudFrontFactsServiceManager
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
class CloudFrontInvalidationServiceManager(object):
"""
diff --git a/cloudfront_origin_access_identity.py b/cloudfront_origin_access_identity.py
index e59c9439701..1da411f8677 100644
--- a/cloudfront_origin_access_identity.py
+++ b/cloudfront_origin_access_identity.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
version_added: 1.0.0
@@ -16,16 +14,11 @@
CloudFront distribution
description:
- - Allows for easy creation, updating and deletion of origin access
- identities.
-
-author: Willem van Ketwich (@wilvk)
-
-extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - Allows for easy creation, updating and deletion of origin access
+ identities.
+author:
+ - Willem van Ketwich (@wilvk)
options:
state:
@@ -54,9 +47,13 @@
notes:
- Does not support check mode.
-'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: create an origin access identity
community.aws.cloudfront_origin_access_identity:
@@ -76,9 +73,9 @@
caller_reference: this is an example reference
comment: this is a new comment
-'''
+"""
-RETURN = '''
+RETURN = r"""
cloud_front_origin_access_identity:
description: The origin access identity's information.
returned: always
@@ -114,20 +111,22 @@
returned: when initially created
type: str
-'''
+"""
import datetime
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by imported AnsibleAWSModule
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
from ansible_collections.amazon.aws.plugins.module_utils.cloudfront_facts import CloudFrontFactsServiceManager
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
class CloudFrontOriginAccessIdentityServiceManager(object):
diff --git a/cloudfront_response_headers_policy.py b/cloudfront_response_headers_policy.py
index f009fe89b3c..c84346c387a 100644
--- a/cloudfront_response_headers_policy.py
+++ b/cloudfront_response_headers_policy.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
version_added: 3.2.0
module: cloudfront_response_headers_policy
@@ -14,16 +12,11 @@
short_description: Create, update and delete response headers policies to be used in a Cloudfront distribution
description:
- - Create, update and delete response headers policies to be used in a Cloudfront distribution for inserting custom headers
- - See docs at U(https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/cloudfront.html#CloudFront.Client.create_response_headers_policy)
-
-author: Stefan Horning (@stefanhorning)
-
-extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - Create, update and delete response headers policies to be used in a Cloudfront distribution for inserting custom headers
+ - See docs at U(https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/cloudfront.html#CloudFront.Client.create_response_headers_policy)
+author:
+ - Stefan Horning (@stefanhorning)
options:
state:
@@ -57,9 +50,13 @@
default: {}
type: dict
-'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Creationg a Cloudfront header policy using all predefined header features and a custom header for demonstration
community.aws.cloudfront_response_headers_policy:
name: my-header-policy
@@ -113,9 +110,9 @@
community.aws.cloudfront_response_headers_policy:
name: my-header-policy
state: absent
-'''
+"""
-RETURN = '''
+RETURN = r"""
response_headers_policy:
description: The policy's information
returned: success
@@ -141,16 +138,20 @@
type: str
returned: always
sample: my-header-policy
-'''
+"""
+
+import datetime
try:
- from botocore.exceptions import ClientError, ParamValidationError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by imported AnsibleAWSModule
-from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict, snake_dict_to_camel_dict
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-import datetime
class CloudfrontResponseHeadersPolicyService(object):
@@ -174,7 +175,7 @@ def find_response_headers_policy(self, name):
matching_policy = None
return matching_policy
- except (ParamValidationError, ClientError, BotoCoreError) as e:
+ except (ClientError, BotoCoreError) as e:
self.module.fail_json_aws(e, msg="Error fetching policy information")
def create_response_header_policy(self, name, comment, cors_config, security_headers_config, custom_headers_config):
@@ -208,7 +209,7 @@ def create_response_header_policy(self, name, comment, cors_config, security_hea
try:
result = self.client.create_response_headers_policy(ResponseHeadersPolicyConfig=config)
changed = True
- except (ParamValidationError, ClientError, BotoCoreError) as e:
+ except (ClientError, BotoCoreError) as e:
self.module.fail_json_aws(e, msg="Error creating policy")
else:
policy_id = matching_policy['ResponseHeadersPolicy']['Id']
@@ -223,7 +224,7 @@ def create_response_header_policy(self, name, comment, cors_config, security_hea
# consider change made by this execution of the module if returned timestamp was very recent
if changed_time > seconds_ago:
changed = True
- except (ParamValidationError, ClientError, BotoCoreError) as e:
+ except (ClientError, BotoCoreError) as e:
self.module.fail_json_aws(e, msg="Updating creating policy")
self.module.exit_json(changed=changed, **camel_dict_to_snake_dict(result))
@@ -241,7 +242,7 @@ def delete_response_header_policy(self, name):
else:
try:
result = self.client.delete_response_headers_policy(Id=policy_id, IfMatch=etag)
- except (ParamValidationError, ClientError, BotoCoreError) as e:
+ except (ClientError, BotoCoreError) as e:
self.module.fail_json_aws(e, msg="Error deleting policy")
self.module.exit_json(changed=True, **camel_dict_to_snake_dict(result))
diff --git a/codebuild_project.py b/codebuild_project.py
index cd372258d67..71f05bf7233 100644
--- a/codebuild_project.py
+++ b/codebuild_project.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: codebuild_project
version_added: 1.0.0
@@ -154,9 +151,9 @@
- amazon.aws.common.modules
- amazon.aws.region.modules
- amazon.aws.tags.modules
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- community.aws.codebuild_project:
@@ -182,9 +179,9 @@
encryption_key: "arn:aws:kms:us-east-1:123123:alias/aws/s3"
region: us-east-1
state: present
-'''
+"""
-RETURN = r'''
+RETURN = r"""
project:
description: Returns the dictionary describing the code project configuration.
returned: success
@@ -288,7 +285,7 @@
returned: always
type: str
sample: "2018-04-17T16:56:03.245000+02:00"
-'''
+"""
try:
import botocore
@@ -302,6 +299,7 @@
from ansible_collections.amazon.aws.plugins.module_utils.exceptions import AnsibleAWSError
from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
diff --git a/codecommit_repository.py b/codecommit_repository.py
index b9282183d58..1552738bea5 100644
--- a/codecommit_repository.py
+++ b/codecommit_repository.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
+
# Copyright: (c) 2018, Shuang Wang
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: codecommit_repository
version_added: 1.0.0
@@ -17,7 +14,8 @@
- See U(https://aws.amazon.com/codecommit/) for more information about CodeCommit.
- Prior to release 5.0.0 this module was called C(community.aws.aws_codecommit).
The usage did not change.
-author: Shuang Wang (@ptux)
+author:
+ - Shuang Wang (@ptux)
options:
name:
description:
@@ -39,12 +37,12 @@
choices: [ 'present', 'absent' ]
type: str
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-RETURN = '''
+RETURN = r"""
repository_metadata:
description: "Information about the repository."
returned: always
@@ -120,9 +118,9 @@
returned: always
type: str
sample: "0"
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Create a new repository
- community.aws.codecommit_repository:
name: repo
@@ -132,15 +130,16 @@
- community.aws.codecommit_repository:
name: repo
state: absent
-'''
+"""
try:
import botocore
except ImportError:
pass # Handled by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
class CodeCommit(object):
diff --git a/codepipeline.py b/codepipeline.py
index 774231d5bdd..a2ec7713b4a 100644
--- a/codepipeline.py
+++ b/codepipeline.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: codepipeline
version_added: 1.0.0
@@ -75,12 +72,12 @@
choices: ['present', 'absent']
type: str
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Example for creating a pipeline for continuous deploy of Github code to an ECS cluster (container)
@@ -147,9 +144,9 @@
FileName: imagedefinitions.json
region: us-east-1
state: present
-'''
+"""
-RETURN = r'''
+RETURN = r"""
pipeline:
description: Returns the dictionary describing the CodePipeline configuration.
returned: success
@@ -194,7 +191,7 @@
- This number is auto incremented when CodePipeline params are changed.
returned: always
type: int
-'''
+"""
import copy
@@ -205,9 +202,10 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.policy import compare_policies
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_policies
def create_pipeline(client, name, role_arn, artifact_store, stages, version, module):
diff --git a/config_aggregation_authorization.py b/config_aggregation_authorization.py
index 9060fcd97d8..96f1eb1d9cd 100644
--- a/config_aggregation_authorization.py
+++ b/config_aggregation_authorization.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
# Copyright: (c) 2018, Aaron Smith
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: config_aggregation_authorization
version_added: 1.0.0
@@ -36,12 +33,12 @@
type: str
required: true
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Get current account ID
community.aws.aws_caller_info:
register: whoami
@@ -49,18 +46,18 @@
state: present
authorized_account_id: '{{ whoami.account }}'
authorized_aws_region: us-east-1
-'''
-
-RETURN = '''#'''
+"""
+RETURN = r"""#"""
try:
import botocore
except ImportError:
pass # handled by AnsibleAWSModule
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
def resource_exists(client, module, params):
diff --git a/config_aggregator.py b/config_aggregator.py
index c54357700a3..38271fc4542 100644
--- a/config_aggregator.py
+++ b/config_aggregator.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
# Copyright: (c) 2018, Aaron Smith
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: config_aggregator
version_added: 1.0.0
@@ -71,12 +68,12 @@
type: dict
required: true
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: Create cross-account aggregator
community.aws.config_aggregator:
name: test_config_rule
@@ -87,9 +84,9 @@
- 0123456789
- 9012345678
all_aws_regions: true
-'''
+"""
-RETURN = r'''#'''
+RETURN = r"""#"""
try:
@@ -97,9 +94,12 @@
except ImportError:
pass # handled by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry, camel_dict_to_snake_dict
def resource_exists(client, module, params):
diff --git a/config_delivery_channel.py b/config_delivery_channel.py
index d97467502a2..2dd5fbc68d2 100644
--- a/config_delivery_channel.py
+++ b/config_delivery_channel.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
# Copyright: (c) 2018, Aaron Smith
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: config_delivery_channel
version_added: 1.0.0
@@ -49,12 +46,12 @@
choices: ['One_Hour', 'Three_Hours', 'Six_Hours', 'Twelve_Hours', 'TwentyFour_Hours']
type: str
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Create Delivery Channel for AWS Config
community.aws.config_delivery_channel:
name: test_delivery_channel
@@ -62,9 +59,9 @@
s3_bucket: 'test_aws_config_bucket'
sns_topic_arn: 'arn:aws:sns:us-east-1:123456789012:aws_config_topic:1234ab56-cdef-7g89-01hi-2jk34l5m67no'
delivery_frequency: 'Twelve_Hours'
-'''
+"""
-RETURN = '''#'''
+RETURN = r"""#"""
try:
@@ -74,9 +71,10 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
# this waits for an IAM role to become fully available, at the cost of
diff --git a/config_recorder.py b/config_recorder.py
index 7d6ebae8ef1..b310787b72d 100644
--- a/config_recorder.py
+++ b/config_recorder.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
# Copyright: (c) 2018, Aaron Smith
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: config_recorder
version_added: 1.0.0
@@ -62,12 +59,12 @@
- Before you can set this option, you must set I(all_supported=false).
type: dict
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Create Configuration Recorder for AWS Config
community.aws.config_recorder:
name: test_configuration_recorder
@@ -76,9 +73,9 @@
recording_group:
all_supported: true
include_global_types: true
-'''
+"""
-RETURN = '''#'''
+RETURN = r"""#"""
try:
@@ -88,9 +85,10 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
def resource_exists(client, module, params):
diff --git a/config_rule.py b/config_rule.py
index aa1ff626a92..4fd3103931f 100644
--- a/config_rule.py
+++ b/config_rule.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
# Copyright: (c) 2018, Aaron Smith
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: config_rule
version_added: 1.0.0
@@ -86,12 +83,12 @@
choices: ['One_Hour', 'Three_Hours', 'Six_Hours', 'Twelve_Hours', 'TwentyFour_Hours']
type: str
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Create Config Rule for AWS Config
community.aws.config_rule:
name: test_config_rule
@@ -104,9 +101,9 @@
owner: AWS
identifier: 'S3_BUCKET_PUBLIC_WRITE_PROHIBITED'
-'''
+"""
-RETURN = '''#'''
+RETURN = r"""#"""
try:
@@ -116,9 +113,10 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
def rule_exists(client, module, params):
diff --git a/data_pipeline.py b/data_pipeline.py
index a5b0e627a40..51068159507 100644
--- a/data_pipeline.py
+++ b/data_pipeline.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
-#
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: data_pipeline
version_added: 1.0.0
@@ -15,10 +12,6 @@
- Raghu Udiyar (@raags)
- Sloane Hertel (@s-hertel)
short_description: Create and manage AWS Datapipelines
-extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
description:
- 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.
@@ -126,9 +119,13 @@
type: dict
default: {}
aliases: ['resource_tags']
-'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Create pipeline
@@ -178,9 +175,9 @@
region: us-west-2
state: absent
-'''
+"""
-RETURN = r'''
+RETURN = r"""
changed:
description: whether the data pipeline has been modified
type: bool
@@ -195,7 +192,7 @@
data_pipeline will be an empty dict. The msg describes the status of the operation.
returned: always
type: dict
-'''
+"""
import hashlib
import json
@@ -209,8 +206,9 @@
from ansible.module_utils._text import to_text
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
DP_ACTIVE_STATES = ['ACTIVE', 'SCHEDULED']
diff --git a/directconnect_confirm_connection.py b/directconnect_confirm_connection.py
index 2705c50a6b5..25aeebb244c 100644
--- a/directconnect_confirm_connection.py
+++ b/directconnect_confirm_connection.py
@@ -1,15 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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',
- 'status': ['preview'],
- 'supported_by': 'community'}
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: directconnect_confirm_connection
short_description: Confirms the creation of a hosted DirectConnect connection
@@ -21,10 +16,6 @@
The usage did not change.
author:
- "Matt Traynham (@mtraynham)"
-extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
options:
name:
description:
@@ -36,9 +27,13 @@
- The ID of the Direct Connect connection.
- One of I(connection_id) or I(name) must be specified.
type: str
-'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# confirm a Direct Connect by name
- name: confirm the connection id
@@ -49,29 +44,32 @@
- name: confirm the connection id
community.aws.directconnect_confirm_connection:
connection_id: dxcon-xxxxxxxx
-'''
+"""
-RETURN = '''
+RETURN = r"""
connection_state:
description: The state of the connection.
returned: always
type: str
sample: pending
-'''
+"""
import traceback
try:
- from botocore.exceptions import BotoCoreError, ClientError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # handled by imported AnsibleAWSModule
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
from ansible_collections.amazon.aws.plugins.module_utils.direct_connect import DirectConnectError
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
retry_params = {"retries": 10, "delay": 5, "backoff": 1.2, "catch_extra_error_codes": ["DirectConnectClientException"]}
diff --git a/directconnect_connection.py b/directconnect_connection.py
index 11ac14dfa22..709fef7a79f 100644
--- a/directconnect_connection.py
+++ b/directconnect_connection.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: directconnect_connection
version_added: 1.0.0
@@ -19,10 +17,6 @@
The usage did not change.
author:
- "Sloane Hertel (@s-hertel)"
-extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
options:
state:
description:
@@ -68,9 +62,13 @@
- By default this will not happen. This option must be explicitly set to C(true) to change I(bandwith) or I(location).
type: bool
default: false
-'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = """
+EXAMPLES = r"""
# create a Direct Connect connection
- community.aws.directconnect_connection:
@@ -102,7 +100,7 @@
name: ansible-test-connection
"""
-RETURN = """
+RETURN = r"""
connection:
description: The attributes of the direct connect connection.
type: complex
@@ -158,18 +156,21 @@
import traceback
try:
- from botocore.exceptions import BotoCoreError, ClientError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # handled by imported AnsibleAWSModule
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
from ansible_collections.amazon.aws.plugins.module_utils.direct_connect import DirectConnectError
from ansible_collections.amazon.aws.plugins.module_utils.direct_connect import associate_connection_and_lag
from ansible_collections.amazon.aws.plugins.module_utils.direct_connect import delete_connection
from ansible_collections.amazon.aws.plugins.module_utils.direct_connect import disassociate_connection_and_lag
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
retry_params = {"retries": 10, "delay": 5, "backoff": 1.2, "catch_extra_error_codes": ["DirectConnectClientException"]}
diff --git a/directconnect_gateway.py b/directconnect_gateway.py
index 8ad4f9bf161..53fb47c9603 100644
--- a/directconnect_gateway.py
+++ b/directconnect_gateway.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
module: directconnect_gateway
author:
- Gobin Sougrakpam (@gobins)
@@ -19,10 +17,6 @@
- Detaches Virtual Gateways to Direct Connect Gateway.
- Prior to release 5.0.0 this module was called C(community.aws.aws_direct_connect_gateway).
The usage did not change.
-extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
options:
state:
description:
@@ -54,9 +48,13 @@
- How long to wait for the association to be deleted.
type: int
default: 320
-'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Create a new direct connect gateway attached to virtual private gateway
community.aws.directconnect_gateway:
state: present
@@ -71,9 +69,9 @@
name: my-dx-gateway
amazon_asn: 7224
register: created_dxgw
-'''
+"""
-RETURN = '''
+RETURN = r"""
result:
description:
- The attributes of the Direct Connect Gateway
@@ -95,7 +93,7 @@
owner_account:
description: The AWS account ID of the owner of the direct connect gateway.
type: str
-'''
+"""
import time
diff --git a/directconnect_link_aggregation_group.py b/directconnect_link_aggregation_group.py
index 6b7ec8bdbe8..8a50e3c7e89 100644
--- a/directconnect_link_aggregation_group.py
+++ b/directconnect_link_aggregation_group.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: directconnect_link_aggregation_group
version_added: 1.0.0
@@ -17,10 +15,6 @@
The usage did not change.
author:
- "Sloane Hertel (@s-hertel)"
-extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
options:
state:
description:
@@ -81,9 +75,13 @@
- The duration in seconds to wait if I(wait=true).
default: 120
type: int
-'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = """
+EXAMPLES = r"""
# create a Direct Connect connection
- community.aws.directconnect_link_aggregation_group:
@@ -93,7 +91,7 @@
bandwidth: 1Gbps
"""
-RETURN = """
+RETURN = r"""
changed:
type: str
description: Whether or not the LAG has changed.
@@ -173,13 +171,13 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-
from ansible_collections.amazon.aws.plugins.module_utils.direct_connect import DirectConnectError
from ansible_collections.amazon.aws.plugins.module_utils.direct_connect import delete_connection
from ansible_collections.amazon.aws.plugins.module_utils.direct_connect import delete_virtual_interface
from ansible_collections.amazon.aws.plugins.module_utils.direct_connect import disassociate_connection_and_lag
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
def lag_status(client, lag_id):
diff --git a/directconnect_virtual_interface.py b/directconnect_virtual_interface.py
index 88a8f5622a8..bded2ab57ab 100644
--- a/directconnect_virtual_interface.py
+++ b/directconnect_virtual_interface.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: directconnect_virtual_interface
version_added: 1.0.0
@@ -86,12 +84,12 @@
- The virtual interface ID.
type: str
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-RETURN = r'''
+RETURN = r"""
address_family:
description: The address family for the BGP peer.
returned: always
@@ -228,9 +226,9 @@
returned: always
type: int
sample: 100
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
---
- name: create an association between a LAG and connection
community.aws.directconnect_virtual_interface:
@@ -245,22 +243,24 @@
connection_id: dxcon-XXXXXXXX
virtual_interface_id: dxv-XXXXXXXX
-'''
+"""
import traceback
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
# handled by AnsibleAWSModule
pass
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
from ansible_collections.amazon.aws.plugins.module_utils.direct_connect import DirectConnectError
from ansible_collections.amazon.aws.plugins.module_utils.direct_connect import delete_virtual_interface
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
def try_except_ClientError(failure_msg):
diff --git a/dms_endpoint.py b/dms_endpoint.py
index 692fb25bd88..66b5dd9b2c3 100644
--- a/dms_endpoint.py
+++ b/dms_endpoint.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
-# This file is part of Ansible
-# 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
+# -*- coding: utf-8 -*-
+# Copyright: Contributors to the Ansible project
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: dms_endpoint
version_added: 1.0.0
@@ -143,13 +141,13 @@
author:
- "Rui Moreira (@ruimoreira)"
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
- amazon.aws.tags
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details
- name: Endpoint Creation
community.aws.dms_endpoint:
@@ -164,9 +162,9 @@
databasename: 'testdb'
sslmode: none
wait: false
-'''
+"""
-RETURN = '''
+RETURN = r"""
endpoint:
description:
- A description of the DMS endpoint.
@@ -325,7 +323,7 @@
- Additional settings for Redis endpoints.
type: dict
returned: when the I(endpoint_type) is C(redshift)
-'''
+"""
try:
import botocore
@@ -334,13 +332,15 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
+
backoff_params = dict(retries=5, delay=1, backoff=1.5)
diff --git a/dms_replication_subnet_group.py b/dms_replication_subnet_group.py
index 3fdbdc0a429..bd75df6d67b 100644
--- a/dms_replication_subnet_group.py
+++ b/dms_replication_subnet_group.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: dms_replication_subnet_group
version_added: 1.0.0
@@ -43,29 +41,30 @@
author:
- "Rui Moreira (@ruimoreira)"
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = '''
+EXAMPLES = r"""
- community.aws.dms_replication_subnet_group:
state: present
identifier: "dev-sngroup"
description: "Development Subnet Group asdasdas"
subnet_ids: ['subnet-id1','subnet-id2']
-'''
+"""
-RETURN = ''' # '''
+RETURN = r""" # """
try:
import botocore
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
+
backoff_params = dict(retries=5, delay=1, backoff=1.5)
diff --git a/dynamodb_table.py b/dynamodb_table.py
index 71b0e4ccc26..a059198d858 100644
--- a/dynamodb_table.py
+++ b/dynamodb_table.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: dynamodb_table
version_added: 1.0.0
@@ -142,13 +140,13 @@
default: True
type: bool
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.tags
-'''
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: Create dynamo table with hash and range primary key
community.aws.dynamodb_table:
name: my-table
@@ -197,9 +195,9 @@
name: my-table
region: us-east-1
state: absent
-'''
+"""
-RETURN = r'''
+RETURN = r"""
table:
description: The returned table params from the describe API call.
returned: success
@@ -243,21 +241,22 @@
returned: success
type: str
sample: ACTIVE
-'''
+"""
try:
import botocore
except ImportError:
pass # Handled by AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_tag_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_aws_tags
DYNAMO_TYPE_DEFAULT = 'STRING'
diff --git a/dynamodb_ttl.py b/dynamodb_ttl.py
index ec7d6ed2f65..bd1c7789903 100644
--- a/dynamodb_ttl.py
+++ b/dynamodb_ttl.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: dynamodb_ttl
version_added: 1.0.0
@@ -32,14 +30,15 @@
required: true
type: str
-author: Ted Timmons (@tedder)
+author:
+- Ted Timmons (@tedder)
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
+- amazon.aws.common.modules
+- amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: enable TTL on my cowfacts table
community.aws.dynamodb_ttl:
state: enable
@@ -51,9 +50,9 @@
state: disable
table_name: cowfacts
attribute_name: cow_deleted_date
-'''
+"""
-RETURN = '''
+RETURN = r"""
current_status:
description: current or new TTL specification.
type: dict
@@ -61,7 +60,7 @@
sample:
- { "AttributeName": "deploy_timestamp", "TimeToLiveStatus": "ENABLED" }
- { "AttributeName": "deploy_timestamp", "Enabled": true }
-'''
+"""
try:
import botocore
diff --git a/ec2_ami_copy.py b/ec2_ami_copy.py
index 665aeab8a25..5af897cdb80 100644
--- a/ec2_ami_copy.py
+++ b/ec2_ami_copy.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
+
# This file is part of Ansible
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: ec2_ami_copy
version_added: 1.0.0
@@ -72,12 +69,12 @@
- Amir Moulavi (@amir343)
- Tim C (@defunctio)
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Basic AMI Copy
community.aws.ec2_ami_copy:
source_region: us-east-1
@@ -125,26 +122,29 @@
source_image_id: ami-xxxxxxx
encrypted: true
kms_key_id: arn:aws:kms:us-east-1:XXXXXXXXXXXX:key/746de6ea-50a4-4bcb-8fbc-e3b29f2d367b
-'''
+"""
-RETURN = '''
+RETURN = r"""
image_id:
description: AMI ID of the copied AMI
returned: always
type: str
sample: ami-e689729e
-'''
+"""
try:
- from botocore.exceptions import ClientError, WaiterError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
+ from botocore.exceptions import WaiterError
except ImportError:
pass # caught by AnsibleAWSModule
from ansible.module_utils._text import to_native
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_tag_list
def copy_image(module, ec2):
diff --git a/ec2_customer_gateway.py b/ec2_customer_gateway.py
index a4637f38659..b858f9c4ead 100644
--- a/ec2_customer_gateway.py
+++ b/ec2_customer_gateway.py
@@ -1,25 +1,24 @@
#!/usr/bin/python
-#
-# 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
+# -*- coding: utf-8 -*-
+# Copyright: Contributors to the Ansible project
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: ec2_customer_gateway
version_added: 1.0.0
short_description: Manage an AWS customer gateway
description:
- - Manage an AWS customer gateway.
-author: Michael Baydoun (@MichaelBaydoun)
+ - Manage an AWS customer gateway.
+author:
+ - Michael Baydoun (@MichaelBaydoun)
notes:
- - You cannot create more than one customer gateway with the same IP address. If you run an identical request more than one time, the
- first request creates the customer gateway, and subsequent requests return information about the existing customer gateway. The subsequent
- requests do not create new customer gateway resources.
- - Return values contain customer_gateway and customer_gateways keys which are identical dicts. You should use
- customer_gateway. See U(https://github.com/ansible/ansible-modules-extras/issues/2773) for details.
+ - You cannot create more than one customer gateway with the same IP address. If you run an identical request more than one time, the
+ first request creates the customer gateway, and subsequent requests return information about the existing customer gateway. The subsequent
+ requests do not create new customer gateway resources.
+ - Return values contain customer_gateway and customer_gateways keys which are identical dicts. You should use
+ customer_gateway. See U(https://github.com/ansible/ansible-modules-extras/issues/2773) for details.
options:
bgp_asn:
description:
@@ -49,13 +48,12 @@
choices: [ 'present', 'absent' ]
type: str
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Create Customer Gateway
community.aws.ec2_customer_gateway:
bgp_asn: 12345
@@ -71,9 +69,9 @@
state: absent
region: us-east-1
register: cgw
-'''
+"""
-RETURN = '''
+RETURN = r"""
gateway.customer_gateways:
description: details about the gateway that was created.
returned: success
@@ -108,7 +106,7 @@
returned: when gateway exists and is available.
sample: ipsec.1
type: str
-'''
+"""
try:
import botocore
@@ -117,8 +115,9 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
class Ec2CustomerGatewayManager:
diff --git a/ec2_customer_gateway_info.py b/ec2_customer_gateway_info.py
index ce576b7ae81..d0674f52b19 100644
--- a/ec2_customer_gateway_info.py
+++ b/ec2_customer_gateway_info.py
@@ -1,19 +1,18 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: ec2_customer_gateway_info
version_added: 1.0.0
short_description: Gather information about customer gateways in AWS
description:
- - Gather information about customer gateways in AWS.
-author: Madhura Naniwadekar (@Madhura-CSI)
+ - Gather information about customer gateways in AWS.
+author:
+ - Madhura Naniwadekar (@Madhura-CSI)
options:
filters:
description:
@@ -28,13 +27,12 @@
elements: str
default: []
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# # Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Gather information about all customer gateways
@@ -55,9 +53,9 @@
- 'cgw-48841a09'
- 'cgw-fec021ce'
register: cust_gw_info
-'''
+"""
-RETURN = r'''
+RETURN = r"""
customer_gateways:
description: List of one or more customer gateways.
returned: always
@@ -78,19 +76,22 @@
"type": "ipsec.1"
}
]
-'''
+"""
import json
+
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.transformation import ansible_dict_to_boto3_filter_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import (ansible_dict_to_boto3_filter_list,
- boto3_tag_list_to_ansible_dict,
- camel_dict_to_snake_dict,
- )
def date_handler(obj):
diff --git a/ec2_launch_template.py b/ec2_launch_template.py
index 094a6afdfa0..17f345a2f7e 100644
--- a/ec2_launch_template.py
+++ b/ec2_launch_template.py
@@ -1,11 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2018 Ansible Project
# 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
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: ec2_launch_template
version_added: 1.0.0
@@ -16,10 +15,6 @@
- The M(amazon.aws.ec2_instance) and M(community.aws.autoscaling_group) modules can, instead of specifying all
parameters on those tasks, be passed a Launch Template which contains
settings like instance size, disk type, subnet, and more.
-extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
author:
- Ryan Scott Brown (@ryansb)
options:
@@ -378,9 +373,13 @@
- Requires botocore >= 1.23.30
choices: [enabled, disabled]
default: 'disabled'
-'''
+extends_documentation_fragment:
+- amazon.aws.common.modules
+- amazon.aws.region.modules
+- amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Create an ec2 launch template
community.aws.ec2_launch_template:
name: "my_template"
@@ -404,9 +403,9 @@
state: absent
# This module does not yet allow deletion of specific versions of launch templates
-'''
+"""
-RETURN = '''
+RETURN = r"""
latest_version:
description: Latest available version of the launch template
returned: when state=present
@@ -415,25 +414,29 @@
description: The version that will be used if only the template name is specified. Often this is the same as the latest version, but not always.
returned: when state=present
type: int
-'''
+"""
+
import re
from uuid import uuid4
+try:
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
+ from botocore.exceptions import WaiterError
+except ImportError:
+ pass # caught by AnsibleAWSModule
+
from ansible.module_utils._text import to_text
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.core import scrub_none_parameters
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_tag_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.transformation import scrub_none_parameters
-try:
- from botocore.exceptions import ClientError, BotoCoreError, WaiterError
-except ImportError:
- pass # caught by AnsibleAWSModule
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
def determine_iam_role(module, name_or_arn):
diff --git a/ec2_placement_group.py b/ec2_placement_group.py
index 4b4adc964e5..8687ded59d1 100644
--- a/ec2_placement_group.py
+++ b/ec2_placement_group.py
@@ -1,22 +1,21 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: ec2_placement_group
version_added: 1.0.0
short_description: Create or delete an EC2 Placement Group
description:
- - Create an EC2 Placement Group; if the placement group already exists,
- nothing is done. Or, delete an existing placement group. If the placement
- group is absent, do nothing. See also
- U(https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
-author: "Brad Macpherson (@iiibrad)"
+ - Create an EC2 Placement Group; if the placement group already exists,
+ nothing is done. Or, delete an existing placement group. If the placement
+ group is absent, do nothing. See also
+ U(https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
+author:
+ - "Brad Macpherson (@iiibrad)"
options:
name:
description:
@@ -45,12 +44,12 @@
choices: [ 'cluster', 'spread', 'partition' ]
type: str
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide
# for details.
@@ -77,10 +76,10 @@
name: my-cluster
state: absent
-'''
+"""
-RETURN = '''
+RETURN = r"""
placement_group:
description: Placement group attributes
returned: when state != absent
@@ -99,16 +98,17 @@
type: str
sample: "cluster"
-'''
+"""
try:
import botocore
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
@AWSRetry.exponential_backoff()
diff --git a/ec2_placement_group_info.py b/ec2_placement_group_info.py
index 4bcc9cfb4ae..bc9d717e49d 100644
--- a/ec2_placement_group_info.py
+++ b/ec2_placement_group_info.py
@@ -1,19 +1,18 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: ec2_placement_group_info
version_added: 1.0.0
short_description: List EC2 Placement Group(s) details
description:
- - List details of EC2 Placement Group(s).
-author: "Brad Macpherson (@iiibrad)"
+ - List details of EC2 Placement Group(s).
+author:
+ - "Brad Macpherson (@iiibrad)"
options:
names:
description:
@@ -24,13 +23,12 @@
required: false
default: []
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details or the AWS region,
# see the AWS Guide for details.
@@ -49,10 +47,10 @@
msg: >
{{ specific_ec2_placement_groups | json_query("[?name=='my-cluster']") }}
-'''
+"""
-RETURN = r'''
+RETURN = r"""
placement_groups:
description: Placement group attributes
returned: always
@@ -71,14 +69,16 @@
type: str
sample: "cluster"
-'''
+"""
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
try:
- from botocore.exceptions import (BotoCoreError, ClientError)
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def get_placement_groups_details(connection, module):
names = module.params.get("names")
diff --git a/ec2_snapshot_copy.py b/ec2_snapshot_copy.py
index 7b38b1ea29a..59d0582c048 100644
--- a/ec2_snapshot_copy.py
+++ b/ec2_snapshot_copy.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
# Copyright: (c) 2017, Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: ec2_snapshot_copy
version_added: 1.0.0
@@ -57,12 +54,12 @@
author:
- Deepak Kothandan (@Deepakkothandan)
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Basic Snapshot Copy
community.aws.ec2_snapshot_copy:
source_region: eu-central-1
@@ -100,24 +97,25 @@
source_snapshot_id: snap-xxxxxxx
encrypted: true
kms_key_id: arn:aws:kms:eu-central-1:XXXXXXXXXXXX:key/746de6ea-50a4-4bcb-8fbc-e3b29f2d367b
-'''
+"""
-RETURN = '''
+RETURN = r"""
snapshot_id:
description: snapshot id of the newly created snapshot
returned: when snapshot copy is successful
type: str
sample: "snap-e9095e8c"
-'''
+"""
try:
import botocore
except ImportError:
pass # Handled by AnsibleAWSModule
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_specifications
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def copy_snapshot(module, ec2):
"""
diff --git a/ec2_transit_gateway.py b/ec2_transit_gateway.py
index 158fcf929a8..832d16defc9 100644
--- a/ec2_transit_gateway.py
+++ b/ec2_transit_gateway.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
module: ec2_transit_gateway
short_description: Create and delete AWS Transit Gateways
version_added: 1.0.0
@@ -74,13 +72,13 @@
author:
- "Bob Boldin (@BobBoldin)"
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
- amazon.aws.tags
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Create a new transit gateway using defaults
community.aws.ec2_transit_gateway:
state: present
@@ -114,9 +112,9 @@
region: ap-southeast-2
transit_gateway_id: tgw-3a9aa123
register: deleted_tgw
-'''
+"""
-RETURN = '''
+RETURN = r"""
transit_gateway:
description: The attributes of the transit gateway.
type: complex
@@ -210,20 +208,25 @@
returned: always
type: str
sample: tgw-3a9aa123
-'''
+"""
+
+from time import sleep
+from time import time
try:
- from botocore.exceptions import BotoCoreError, ClientError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # handled by imported AnsibleAWSModule
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from time import sleep, time
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_filter_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ensure_ec2_tags
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.transformation import ansible_dict_to_boto3_filter_list
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
class AnsibleEc2Tgw(object):
diff --git a/ec2_transit_gateway_info.py b/ec2_transit_gateway_info.py
index cae82e570cd..5053c8d65d8 100644
--- a/ec2_transit_gateway_info.py
+++ b/ec2_transit_gateway_info.py
@@ -1,19 +1,17 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-# Make coding more python3-ish
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
module: ec2_transit_gateway_info
short_description: Gather information about ec2 transit gateways in AWS
version_added: 1.0.0
description:
- - Gather information about ec2 transit gateways in AWS
-author: "Bob Boldin (@BobBoldin)"
+ - Gather information about ec2 transit gateways in AWS
+author:
+ - "Bob Boldin (@BobBoldin)"
options:
transit_gateway_ids:
description:
@@ -29,13 +27,12 @@
type: dict
default: {}
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Gather info about all transit gateways
@@ -57,9 +54,9 @@
transit_gateway_ids:
- tgw-02c42332e6b7da829
- tgw-03c53443d5a8cb716
-'''
+"""
-RETURN = r'''
+RETURN = r"""
transit_gateways:
description: >
Transit gateways that match the provided filters. Each element consists of a dict with all the information
@@ -162,7 +159,7 @@
returned: always
type: str
sample: "tgw-02c42332e6b7da829"
-'''
+"""
try:
import botocore
@@ -171,11 +168,12 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.transformation import ansible_dict_to_boto3_filter_list
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_filter_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
class AnsibleEc2TgwInfo(object):
diff --git a/ec2_transit_gateway_vpc_attachment.py b/ec2_transit_gateway_vpc_attachment.py
index 55267bc9185..2878fbf9129 100644
--- a/ec2_transit_gateway_vpc_attachment.py
+++ b/ec2_transit_gateway_vpc_attachment.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
module: ec2_transit_gateway_vpc_attachment
short_description: Create and delete AWS Transit Gateway VPC attachments
version_added: 4.0.0
@@ -98,13 +96,13 @@
author:
- "Mark Chappell (@tremble)"
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.tags
-'''
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Create a Transit Gateway attachment
- community.aws.ec2_transit_gateway_vpc_attachment:
state: present
@@ -135,9 +133,9 @@
- community.aws.ec2_transit_gateway_vpc_attachment:
state: absent
id: 'tgw-attach-0c0c5fd0b0f01d1c9'
-'''
+"""
-RETURN = '''
+RETURN = r"""
transit_gateway_attachments:
description: The attributes of the Transit Gateway attachments.
type: list
@@ -216,11 +214,9 @@
type: str
returned: success
example: '123456789012'
-'''
-
+"""
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-
from ansible_collections.community.aws.plugins.module_utils.transitgateway import TransitGatewayVpcAttachmentManager
diff --git a/ec2_transit_gateway_vpc_attachment_info.py b/ec2_transit_gateway_vpc_attachment_info.py
index 88f57fefa1b..49c03ff432c 100644
--- a/ec2_transit_gateway_vpc_attachment_info.py
+++ b/ec2_transit_gateway_vpc_attachment_info.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
module: ec2_transit_gateway_vpc_attachment_info
short_description: describes AWS Transit Gateway VPC attachments
version_added: 4.0.0
@@ -39,14 +37,15 @@
type: bool
required: false
default: false
-author: "Mark Chappell (@tremble)"
+author:
+ - "Mark Chappell (@tremble)"
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Describe a specific Transit Gateway attachment.
- community.aws.ec2_transit_gateway_vpc_attachment_info:
id: 'tgw-attach-0123456789abcdef0'
@@ -60,9 +59,9 @@
- community.aws.ec2_transit_gateway_vpc_attachment_info:
filters:
transit-gateway-id: tgw-0fedcba9876543210'
-'''
+"""
-RETURN = '''
+RETURN = r"""
transit_gateway_attachments:
description: The attributes of the Transit Gateway attachments.
type: list
@@ -141,11 +140,9 @@
type: str
returned: success
example: '123456789012'
-'''
-
+"""
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-
from ansible_collections.community.aws.plugins.module_utils.transitgateway import TransitGatewayVpcAttachmentManager
diff --git a/ec2_vpc_egress_igw.py b/ec2_vpc_egress_igw.py
index 09531892548..b6fb0b837f1 100644
--- a/ec2_vpc_egress_igw.py
+++ b/ec2_vpc_egress_igw.py
@@ -1,19 +1,18 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: ec2_vpc_egress_igw
version_added: 1.0.0
short_description: Manage an AWS VPC Egress Only Internet gateway
description:
- - Manage an AWS VPC Egress Only Internet gateway
-author: Daniel Shepherd (@shepdelacreme)
+ - Manage an AWS VPC Egress Only Internet gateway
+author:
+ - Daniel Shepherd (@shepdelacreme)
options:
vpc_id:
description:
@@ -27,13 +26,12 @@
choices: [ 'present', 'absent' ]
type: str
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Ensure that the VPC has an Internet Gateway.
@@ -43,9 +41,9 @@
state: present
register: eigw
-'''
+"""
-RETURN = '''
+RETURN = r"""
gateway_id:
description: The ID of the Egress Only Internet Gateway or Null.
returned: always
@@ -56,7 +54,7 @@
returned: always
type: str
sample: vpc-012345678
-'''
+"""
try:
import botocore
@@ -65,9 +63,10 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
def delete_eigw(module, connection, eigw_id):
diff --git a/ec2_vpc_nacl.py b/ec2_vpc_nacl.py
index 3b10a0a66f9..fa34ccd8118 100644
--- a/ec2_vpc_nacl.py
+++ b/ec2_vpc_nacl.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
module: ec2_vpc_nacl
short_description: create and delete Network ACLs
version_added: 1.0.0
@@ -73,17 +71,18 @@
type: str
choices: ['present', 'absent']
default: present
-author: Mike Mochan (@mmochan)
+author:
+ - Mike Mochan (@mmochan)
+notes:
+ - Support for I(purge_tags) was added in release 4.0.0.
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
- amazon.aws.tags
-notes:
- - Support for I(purge_tags) was added in release 4.0.0.
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Complete example to create and delete a network ACL
# that allows SSH, HTTP and ICMP in, and all traffic out.
@@ -141,8 +140,8 @@
community.aws.ec2_vpc_nacl:
nacl_id: acl-33b4ee5b
state: absent
-'''
-RETURN = r'''
+"""
+RETURN = r"""
task:
description: The result of the create, or delete action.
returned: success
@@ -152,18 +151,20 @@
returned: success
type: str
sample: acl-123456789abcdef01
-'''
+"""
try:
import botocore
except ImportError:
pass # Handled by AnsibleAWSModule
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ensure_ec2_tags
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_specifications
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
+
# VPC-supported IANA protocol numbers
# http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml
PROTOCOL_NUMBERS = {'all': -1, 'icmp': 1, 'tcp': 6, 'udp': 17, 'ipv6-icmp': 58}
diff --git a/ec2_vpc_nacl_info.py b/ec2_vpc_nacl_info.py
index 3684d0d397b..3d37cf26524 100644
--- a/ec2_vpc_nacl_info.py
+++ b/ec2_vpc_nacl_info.py
@@ -1,18 +1,18 @@
#!/usr/bin/python
-# 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
+# -*- coding: utf-8 -*-
+# Copyright: Contributors to the Ansible project
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: ec2_vpc_nacl_info
version_added: 1.0.0
short_description: Gather information about Network ACLs in an AWS VPC
description:
- - Gather information about Network ACLs in an AWS VPC
-author: "Brad Davidson (@brandond)"
+ - Gather information about Network ACLs in an AWS VPC
+author:
+ - "Brad Davidson (@brandond)"
options:
nacl_ids:
description:
@@ -34,12 +34,12 @@
- By default, the module will return all Network ACLs.
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Gather information about all Network ACLs:
@@ -55,9 +55,9 @@
filters:
'default': 'true'
register: default_nacls
-'''
+"""
-RETURN = r'''
+RETURN = r"""
nacls:
description: Returns an array of complex objects as described below.
returned: success
@@ -100,7 +100,7 @@
type: list
elements: list
sample: [[100, 'all', 'allow', '0.0.0.0/0', null, null, null, null]]
-'''
+"""
try:
import botocore
@@ -109,11 +109,12 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.transformation import ansible_dict_to_boto3_filter_list
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_filter_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
# VPC-supported IANA protocol numbers
diff --git a/ec2_vpc_peer.py b/ec2_vpc_peer.py
index 3c39f11dede..a5af559cc9d 100644
--- a/ec2_vpc_peer.py
+++ b/ec2_vpc_peer.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
module: ec2_vpc_peer
short_description: create, delete, accept, and reject VPC peering connections between two VPCs.
version_added: 1.0.0
@@ -57,13 +55,13 @@
author:
- Mike Mochan (@mmochan)
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.tags
-'''
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Complete example to create and accept a local peering connection.
- name: Create local account VPC peering Connection
community.aws.ec2_vpc_peer:
@@ -212,8 +210,8 @@
profile: bot03_profile_for_cross_account
state: reject
-'''
-RETURN = '''
+"""
+RETURN = r"""
peering_id:
description: The id of the VPC peering connection created/deleted.
returned: always
@@ -352,21 +350,23 @@
returned: success
type: str
example: "pcx-0123456789abcdef0"
-'''
+"""
try:
import botocore
except ImportError:
pass # Handled by AnsibleAWSModule
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_filter_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
from ansible_collections.amazon.aws.plugins.module_utils.ec2 import add_ec2_tags
from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ensure_ec2_tags
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.transformation import ansible_dict_to_boto3_filter_list
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
def wait_for_state(client, module, state, pcx_id):
diff --git a/ec2_vpc_peering_info.py b/ec2_vpc_peering_info.py
index 2e257a31ffe..8faf64b8906 100644
--- a/ec2_vpc_peering_info.py
+++ b/ec2_vpc_peering_info.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
module: ec2_vpc_peering_info
short_description: Retrieves AWS VPC Peering details using AWS methods.
version_added: 1.0.0
@@ -25,15 +23,15 @@
for possible filters.
type: dict
default: {}
-author: Karen Cheng (@Etherdaemon)
+author:
+ - Karen Cheng (@Etherdaemon)
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = r'''
+EXAMPLES = r"""
# Simple example of listing all VPC Peers
- name: List all vpc peers
community.aws.ec2_vpc_peering_info:
@@ -58,9 +56,9 @@
filters:
status-code: ['pending-acceptance']
register: pending_vpc_peers
-'''
+"""
-RETURN = r'''
+RETURN = r"""
vpc_peering_connections:
description: Details of the matching VPC peering connections.
returned: success
@@ -199,19 +197,21 @@
description: The result of the describe.
returned: success
type: list
-'''
+"""
try:
import botocore
except ImportError:
pass # Handled by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import normalize_boto3_result
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.transformation import ansible_dict_to_boto3_filter_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import normalize_boto3_result
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_filter_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
def get_vpc_peers(client, module):
diff --git a/ec2_vpc_vgw.py b/ec2_vpc_vgw.py
index 990ad908acc..74aab4a077c 100644
--- a/ec2_vpc_vgw.py
+++ b/ec2_vpc_vgw.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
module: ec2_vpc_vgw
short_description: Create and delete AWS VPN Virtual Gateways
version_added: 1.0.0
@@ -55,13 +53,13 @@
author:
- Nick Aslanidis (@naslanidis)
extends_documentation_fragment:
- - amazon.aws.ec2
- - amazon.aws.aws
- - amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.tags
-'''
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Create a new VGW attached to a specific VPC
community.aws.ec2_vpc_vgw:
state: present
@@ -100,9 +98,9 @@
profile: personal
vpn_gateway_id: vgw-3a9aa123
register: deleted_vgw
-'''
+"""
-RETURN = '''
+RETURN = r"""
vgw:
description: A description of the VGW
returned: success
@@ -133,7 +131,7 @@
type: str
returned: success
example: vpc-123456789abcdef01
-'''
+"""
import time
@@ -142,13 +140,14 @@
except ImportError:
pass # Handled by AnsibleAWSModule
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ensure_ec2_tags
-from ansible_collections.amazon.aws.plugins.module_utils.waiters import get_waiter
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_specifications
from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.waiters import get_waiter
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
# AWS uses VpnGatewayLimitExceeded for both 'Too many VGWs' and 'Too many concurrent changes'
diff --git a/ec2_vpc_vgw_info.py b/ec2_vpc_vgw_info.py
index dcddd69bc31..c729b2fa5b8 100644
--- a/ec2_vpc_vgw_info.py
+++ b/ec2_vpc_vgw_info.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: ec2_vpc_vgw_info
version_added: 1.0.0
@@ -28,12 +26,12 @@
author:
- "Nick Aslanidis (@naslanidis)"
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# # Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Gather information about all virtual gateways for an account or profile
@@ -56,9 +54,9 @@
profile: production
vpn_gateway_ids: vgw-c432f6a7
register: vgw_info
-'''
+"""
-RETURN = r'''
+RETURN = r"""
virtual_gateways:
description: The virtual gateways for the account.
returned: always
@@ -121,7 +119,7 @@
type: dict
returned: success
example: {"MyKey": "MyValue"}
-'''
+"""
try:
import botocore
@@ -130,9 +128,10 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.transformation import ansible_dict_to_boto3_filter_list
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_filter_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
def get_virtual_gateway_info(virtual_gateway):
diff --git a/ec2_vpc_vpn.py b/ec2_vpc_vpn.py
index d543cde00e7..b7e997fade0 100644
--- a/ec2_vpc_vpn.py
+++ b/ec2_vpc_vpn.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: ec2_vpc_vpn
version_added: 1.0.0
@@ -14,11 +12,6 @@
description:
- This module creates, modifies, and deletes VPN connections. Idempotence is achieved by using the filters
option or specifying the VPN connection identifier.
-extends_documentation_fragment:
- - amazon.aws.ec2
- - amazon.aws.aws
- - amazon.aws.boto3
- - amazon.aws.tags
author:
- "Sloane Hertel (@s-hertel)"
options:
@@ -135,7 +128,12 @@
required: false
type: int
default: 15
-'''
+extends_documentation_fragment:
+ - amazon.aws.region.modules
+ - amazon.aws.common.modules
+ - amazon.aws.tags
+ - amazon.aws.boto3
+"""
EXAMPLES = r"""
# Note: None of these examples set aws_access_key, aws_secret_key, or region.
@@ -293,19 +291,23 @@
vpn_connection_id: vpn-781e0e19
"""
-from ansible.module_utils._text import to_text
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_tag_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_aws_tags
-
try:
- from botocore.exceptions import BotoCoreError, ClientError, WaiterError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
+ from botocore.exceptions import WaiterError
except ImportError:
pass # Handled by AnsibleAWSModule
+from ansible.module_utils._text import to_text
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
class VPNConnectionException(Exception):
def __init__(self, msg, exception=None):
diff --git a/ec2_vpc_vpn_info.py b/ec2_vpc_vpn_info.py
index ac9be556e23..5070af22266 100644
--- a/ec2_vpc_vpn_info.py
+++ b/ec2_vpc_vpn_info.py
@@ -1,19 +1,18 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: ec2_vpc_vpn_info
version_added: 1.0.0
short_description: Gather information about VPN Connections in AWS.
description:
- - Gather information about VPN Connections in AWS.
-author: Madhura Naniwadekar (@Madhura-CSI)
+ - Gather information about VPN Connections in AWS.
+author:
+ - Madhura Naniwadekar (@Madhura-CSI)
options:
filters:
description:
@@ -30,13 +29,12 @@
elements: str
default: []
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# # Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Gather information about all vpn connections
community.aws.ec2_vpc_vpn_info:
@@ -52,9 +50,9 @@
filters:
vpn-gateway-id: vgw-cbe66beb
register: vpn_conn_info
-'''
+"""
-RETURN = r'''
+RETURN = r"""
vpn_connections:
description: List of one or more VPN Connections.
returned: always
@@ -158,19 +156,22 @@
returned: always
type: str
sample: vgw-cbe56bfb
-'''
+"""
import json
+
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.transformation import ansible_dict_to_boto3_filter_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import (ansible_dict_to_boto3_filter_list,
- boto3_tag_list_to_ansible_dict,
- camel_dict_to_snake_dict,
- )
def date_handler(obj):
diff --git a/ec2_win_password.py b/ec2_win_password.py
index 10d33658f88..aec9940cd30 100644
--- a/ec2_win_password.py
+++ b/ec2_win_password.py
@@ -1,19 +1,18 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: ec2_win_password
version_added: 1.0.0
short_description: Gets the default administrator password for EC2 Windows instances
description:
- - Gets the default administrator password from any EC2 Windows instance. The instance is referenced by its id (e.g. C(i-XXXXXXX)).
-author: "Rick Mendes (@rickmendes)"
+ - Gets the default administrator password from any EC2 Windows instance. The instance is referenced by its id (e.g. C(i-XXXXXXX)).
+author:
+ - "Rick Mendes (@rickmendes)"
options:
instance_id:
description:
@@ -48,16 +47,18 @@
default: 120
type: int
+requirements:
+ - cryptography
+
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-requirements:
-- cryptography
-'''
+RETURN = r""" # """
-EXAMPLES = '''
+EXAMPLES = r"""
# Example of getting a password
- name: get the Administrator password
community.aws.ec2_win_password:
@@ -92,7 +93,7 @@
key_file: "~/aws-creds/my_test_key.pem"
wait: true
wait_timeout: 45
-'''
+"""
import datetime
import time
@@ -102,6 +103,7 @@
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.asymmetric.padding import PKCS1v15
from cryptography.hazmat.primitives.serialization import load_pem_private_key
+
HAS_CRYPTOGRAPHY = True
except ImportError:
HAS_CRYPTOGRAPHY = False
@@ -113,8 +115,9 @@
from ansible.module_utils._text import to_bytes
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
def setup_module_object():
diff --git a/ecs_attribute.py b/ecs_attribute.py
index a942228e305..c6931fc4f53 100644
--- a/ecs_attribute.py
+++ b/ecs_attribute.py
@@ -1,19 +1,18 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: ecs_attribute
version_added: 1.0.0
short_description: manage ecs attributes
description:
- - Create, update or delete ECS container instance attributes.
-author: Andrej Svenke (@anryko)
+ - Create, update or delete ECS container instance attributes.
+author:
+ - Andrej Svenke (@anryko)
options:
cluster:
description:
@@ -54,13 +53,12 @@
required: true
type: str
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Set attributes
@@ -82,9 +80,9 @@
- flavor: test
- migrated
delegate_to: localhost
-'''
+"""
-RETURN = r'''
+RETURN = r"""
attributes:
description: attributes
type: complex
@@ -108,11 +106,12 @@
description: value of the attribute
returned: if present
type: str
-'''
+"""
try:
import botocore
- from botocore.exceptions import ClientError, EndpointConnectionError
+ from botocore.exceptions import ClientError
+ from botocore.exceptions import EndpointConnectionError
except ImportError:
pass # Handled by AnsibleAWSModule
diff --git a/ecs_cluster.py b/ecs_cluster.py
index 8b64a14abbd..7520cd0abc9 100644
--- a/ecs_cluster.py
+++ b/ecs_cluster.py
@@ -1,22 +1,21 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: ecs_cluster
version_added: 1.0.0
short_description: Create or terminate ECS clusters.
notes:
- - 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.
+ - 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.
description:
- - Creates or terminates ecs clusters.
-author: Mark Chance (@Java1Guy)
+ - Creates or terminates ecs clusters.
+author:
+ - Mark Chance (@Java1Guy)
options:
state:
description:
@@ -78,13 +77,12 @@
type: bool
default: false
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Cluster creation
@@ -120,8 +118,8 @@
repeat: 10
register: task_output
-'''
-RETURN = '''
+"""
+RETURN = r"""
activeServicesCount:
description: how many services are active in this cluster
returned: 0 if a new cluster
@@ -163,7 +161,7 @@
returned: always
type: str
sample: ACTIVE
-'''
+"""
import time
@@ -172,10 +170,11 @@
except ImportError:
pass # Handled by AnsibleAWSModule
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
class EcsClusterManager:
"""Handles ECS Clusters"""
diff --git a/ecs_ecr.py b/ecs_ecr.py
index fd335928e0a..4b5ce1ebe75 100644
--- a/ecs_ecr.py
+++ b/ecs_ecr.py
@@ -1,15 +1,10 @@
#!/usr/bin/python
-# -*- coding: utf-8 -*
+# -*- coding: utf-8 -*-
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: ecs_ecr
version_added: 1.0.0
@@ -104,15 +99,14 @@
type: dict
version_added: 5.2.0
author:
- - David M. Lee (@leedm777)
+ - David M. Lee (@leedm777)
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = '''
+EXAMPLES = r"""
# If the repository does not exist, it is created. If it does exist, would not
# affect any policies already on it.
- name: ecr-repo
@@ -186,9 +180,9 @@
encryption_configuration:
encryption_type: KMS
kms_key: custom-kms-key-alias
-'''
+"""
-RETURN = '''
+RETURN = r"""
state:
type: str
description: The asserted state of the repository (present, absent)
@@ -216,7 +210,7 @@
repositoryArn: arn:aws:ecr:us-east-1:123456789012:repository/ecr-test-1484664090
repositoryName: ecr-test-1484664090
repositoryUri: 123456789012.dkr.ecr.us-east-1.amazonaws.com/ecr-test-1484664090
-'''
+"""
import json
import traceback
@@ -229,10 +223,11 @@
from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
from ansible.module_utils.six import string_types
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import boto_exception
+from ansible_collections.amazon.aws.plugins.module_utils.policy import compare_policies
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto_exception
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_policies
def build_kwargs(registry_id):
diff --git a/ecs_service.py b/ecs_service.py
index 15c74b92c50..074dec4b176 100644
--- a/ecs_service.py
+++ b/ecs_service.py
@@ -1,11 +1,10 @@
#!/usr/bin/python
-# This file is part of Ansible
-# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+# -*- coding: utf-8 -*-
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
+# Copyright: Contributors to the Ansible project
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: ecs_service
version_added: 1.0.0
@@ -290,12 +289,12 @@
required: false
version_added: 4.1.0
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Basic provisioning example
- community.aws.ecs_service:
@@ -377,9 +376,9 @@
Firstname: jane
lastName: doe
propagate_tags: SERVICE
-'''
+"""
-RETURN = r'''
+RETURN = r"""
service:
description: Details of created service.
returned: when creating a service
@@ -671,9 +670,25 @@
returned: always
type: str
-'''
+"""
+
import time
+try:
+ import botocore
+except ImportError:
+ pass # caught by AnsibleAWSModule
+
+from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.ec2 import get_ec2_security_group_ids_from_names
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.transformation import map_complex_type
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
+
DEPLOYMENT_CONTROLLER_TYPE_MAP = {
'type': 'str',
}
@@ -684,19 +699,6 @@
'deployment_circuit_breaker': 'dict',
}
-from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
-
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import map_complex_type
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import get_ec2_security_group_ids_from_names
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_tag_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
-
-try:
- import botocore
-except ImportError:
- pass # caught by AnsibleAWSModule
-
class EcsServiceManager:
"""Handles ECS Services"""
diff --git a/ecs_service_info.py b/ecs_service_info.py
index fe651444cea..41dd999c9c1 100644
--- a/ecs_service_info.py
+++ b/ecs_service_info.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: ecs_service_info
version_added: 1.0.0
@@ -42,13 +40,12 @@
elements: str
aliases: ['name']
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Basic listing example
@@ -62,9 +59,9 @@
- community.aws.ecs_service_info:
cluster: test-cluster
register: output
-'''
+"""
-RETURN = r'''
+RETURN = r"""
services:
description: When details is false, returns an array of service ARNs, otherwise an array of complex objects as described below.
returned: success
@@ -132,16 +129,17 @@
returned: when events is true
type: list
elements: dict
-''' # NOQA
+"""
try:
import botocore
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
class EcsServiceManager:
diff --git a/ecs_tag.py b/ecs_tag.py
index 9f25881d207..7aac8dfb4a7 100644
--- a/ecs_tag.py
+++ b/ecs_tag.py
@@ -1,20 +1,17 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
+
# Copyright: (c) 2019, Michael Pechner
# 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
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: ecs_tag
version_added: 1.0.0
short_description: create and remove tags on Amazon ECS resources
-notes:
- - none
description:
- - Creates and removes tags for Amazon ECS resources.
- - Resources are referenced by their cluster name.
+ - Creates and removes tags for Amazon ECS resources.
+ - Resources are referenced by their cluster name.
author:
- Michael Pechner (@mpechner)
options:
@@ -53,13 +50,12 @@
type: bool
default: false
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: Ensure tags are present on a resource
community.aws.ecs_tag:
cluster_name: mycluster
@@ -93,9 +89,9 @@
Name: foo
state: absent
purge_tags: true
-'''
+"""
-RETURN = r'''
+RETURN = r"""
tags:
description: A dict containing the tags on the resource
returned: always
@@ -108,16 +104,19 @@
description: A dict of tags that were removed from the resource
returned: If tags were removed
type: dict
-'''
-
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict, ansible_dict_to_boto3_tag_list, compare_aws_tags
+"""
try:
- from botocore.exceptions import BotoCoreError, ClientError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
- pass # Handled by AnsibleAWSModule
-__metaclass__ = type
+ pass # Handled by AnsibleAWSModule
+
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
def get_tags(ecs, module, resource):
diff --git a/ecs_task.py b/ecs_task.py
index ebc872ba959..6c693b317bc 100644
--- a/ecs_task.py
+++ b/ecs_task.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: ecs_task
version_added: 1.0.0
@@ -99,13 +97,12 @@
default: false
version_added: 4.1.0
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = r'''
+EXAMPLES = r"""
# Simple example of run task
- name: Run task
community.aws.ecs_task:
@@ -177,8 +174,9 @@
cluster: console-sample-app-static-cluster
task_definition: console-sample-app-static-taskdef
task: "arn:aws:ecs:us-west-2:123456789012:task/3f8353d1-29a8-4689-bbf6-ad79937ffe8a"
-'''
-RETURN = r'''
+"""
+
+RETURN = r"""
task:
description: details about the task that was started
returned: success
@@ -242,16 +240,18 @@
description: The launch type on which to run your task.
returned: always
type: str
-'''
-
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import get_ec2_security_group_ids_from_names, ansible_dict_to_boto3_tag_list
+"""
try:
import botocore
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible_collections.amazon.aws.plugins.module_utils.ec2 import get_ec2_security_group_ids_from_names
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
class EcsExecManager:
"""Handles ECS Tasks"""
diff --git a/ecs_taskdefinition.py b/ecs_taskdefinition.py
index 3eb7716f503..16fcab712c4 100644
--- a/ecs_taskdefinition.py
+++ b/ecs_taskdefinition.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
-# This file is part of Ansible
-# 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
+# -*- coding: utf-8 -*-
+# Copyright: Contributors to the Ansible project
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: ecs_taskdefinition
version_added: 1.0.0
@@ -630,12 +628,12 @@
description: A cluster query language expression to apply to the constraint.
type: str
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: Create task definition
community.aws.ecs_taskdefinition:
containers:
@@ -769,22 +767,23 @@
startPeriod: 15
timeout: 15
state: present
-'''
-RETURN = r'''
+"""
+
+RETURN = r"""
taskdefinition:
description: a reflection of the input parameters
type: dict
returned: always
-'''
+"""
try:
import botocore
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
class EcsTaskManager:
diff --git a/ecs_taskdefinition_info.py b/ecs_taskdefinition_info.py
index d57214cf419..b619cd4c4be 100644
--- a/ecs_taskdefinition_info.py
+++ b/ecs_taskdefinition_info.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: ecs_taskdefinition_info
version_added: 1.0.0
@@ -27,20 +25,19 @@
required: true
type: str
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- community.aws.ecs_taskdefinition_info:
task_definition: test-td
-'''
+"""
-RETURN = '''
+RETURN = r"""
container_definitions:
description: Returns a list of complex objects representing the containers
returned: success
@@ -348,16 +345,17 @@
description: A cluster query language expression to apply to the constraint.
returned: when present
type: str
-'''
-
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
+"""
try:
import botocore
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def main():
argument_spec = dict(
diff --git a/efs.py b/efs.py
index 7223c99f3a4..c3d1bc6830a 100644
--- a/efs.py
+++ b/efs.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: efs
version_added: 1.0.0
@@ -102,14 +100,13 @@
version_added: 2.1.0
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.tags
- amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: EFS provisioning
community.aws.efs:
state: present
@@ -153,9 +150,9 @@
community.aws.efs:
state: absent
name: myTestEFS
-'''
+"""
-RETURN = r'''
+RETURN = r"""
creation_time:
description: timestamp of creation date
returned: always
@@ -245,7 +242,7 @@
"key": "Value"
}
-'''
+"""
from time import sleep
from time import time as timestamp
@@ -257,11 +254,12 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_tag_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_aws_tags
def _index_by_key(key, items):
diff --git a/efs_info.py b/efs_info.py
index 634ff2a4273..e73042555bb 100644
--- a/efs_info.py
+++ b/efs_info.py
@@ -1,21 +1,19 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: efs_info
version_added: 1.0.0
short_description: Get information about Amazon EFS file systems
description:
- - This module can be used to search Amazon EFS file systems.
- Note that the M(community.aws.efs_info) module no longer returns C(ansible_facts)!
+- This module can be used to search Amazon EFS file systems.
+ Note that the M(community.aws.efs_info) module no longer returns C(ansible_facts)!
author:
- - "Ryan Sydnor (@ryansydnor)"
+- "Ryan Sydnor (@ryansydnor)"
options:
name:
description:
@@ -39,13 +37,12 @@
elements: str
default: []
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
+- amazon.aws.common.modules
+- amazon.aws.region.modules
- amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: Find all existing efs
community.aws.efs_info:
register: result
@@ -66,9 +63,9 @@
- ansible.builtin.debug:
msg: "{{ result['efs'] }}"
-'''
+"""
-RETURN = r'''
+RETURN = r"""
creation_time:
description: timestamp of creation date
returned: always
@@ -168,7 +165,7 @@
"key": "Value"
}
-'''
+"""
from collections import defaultdict
@@ -180,9 +177,11 @@
from ansible.module_utils._text import to_native
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
class EFSConnection(object):
diff --git a/efs_tag.py b/efs_tag.py
index bc99d110635..10978c5bf2f 100644
--- a/efs_tag.py
+++ b/efs_tag.py
@@ -1,21 +1,17 @@
#!/usr/bin/python
-"""
-Copyright: (c) 2021, Milan Zink
-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
+# -*- coding: utf-8 -*-
+# Copyright: (c) 2021, Milan Zink
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: efs_tag
version_added: 2.0.0
short_description: create and remove tags on Amazon EFS resources
description:
- - Creates and removes tags for Amazon EFS resources.
- - Resources are referenced by their ID (filesystem or filesystem access point).
+ - Creates and removes tags for Amazon EFS resources.
+ - Resources are referenced by their ID (filesystem or filesystem access point).
author:
- Milan Zink (@zeten30)
options:
@@ -44,13 +40,12 @@
type: bool
default: false
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: Ensure tags are present on a resource
community.aws.efs_tag:
resource: fs-123456ab
@@ -80,9 +75,9 @@
state: absent
tags: {}
purge_tags: true
-'''
+"""
-RETURN = r'''
+RETURN = r"""
tags:
description: A dict containing the tags on the resource
returned: always
@@ -95,17 +90,23 @@
description: A dict of tags that were removed from the resource
returned: If tags were removed
type: dict
-'''
+"""
try:
- from botocore.exceptions import BotoCoreError, ClientError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
# Handled by AnsibleAWSModule
pass
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict, ansible_dict_to_boto3_tag_list, compare_aws_tags, AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
MAX_AWS_RETRIES = 10 # How many retries to perform when an API call is failing
WAIT_RETRY = 5 # how many seconds to wait between propagation status polls
diff --git a/eks_cluster.py b/eks_cluster.py
index 73467d7322b..699c74bdb5b 100644
--- a/eks_cluster.py
+++ b/eks_cluster.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: eks_cluster
version_added: 1.0.0
@@ -63,13 +61,12 @@
default: 1200
type: int
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Create an EKS cluster
@@ -89,9 +86,9 @@
name: my_cluster
wait: true
state: absent
-'''
+"""
-RETURN = r'''
+RETURN = r"""
arn:
description: ARN of the EKS cluster
returned: when state is present
@@ -163,19 +160,21 @@
returned: when state is present
type: str
sample: '1.10'
-'''
-
-
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict, get_ec2_security_group_ids_from_names
-from ansible_collections.amazon.aws.plugins.module_utils.waiters import get_waiter
+"""
try:
- import botocore.exceptions
+ import botocore
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.ec2 import get_ec2_security_group_ids_from_names
+from ansible_collections.amazon.aws.plugins.module_utils.waiters import get_waiter
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def ensure_present(client, module):
name = module.params.get('name')
diff --git a/eks_fargate_profile.py b/eks_fargate_profile.py
index c54d67aec02..abc4dd09f90 100644
--- a/eks_fargate_profile.py
+++ b/eks_fargate_profile.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2022 Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: eks_fargate_profile
version_added: 4.0.0
@@ -68,14 +66,13 @@
default: 1200
type: int
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.tags
+ - amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Create an EKS Fargate Profile
@@ -98,9 +95,9 @@
cluster_name: test_cluster
wait: true
state: absent
-'''
+"""
-RETURN = r'''
+RETURN = r"""
fargate_profile_name:
description: Name of Fargate Profile.
returned: when state is present
@@ -164,19 +161,21 @@
sample:
- CREATING
- ACTIVE
-'''
-
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_aws_tags
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
-from ansible_collections.amazon.aws.plugins.module_utils.waiters import get_waiter
+"""
try:
- import botocore.exceptions
+ import botocore
except ImportError:
pass
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+from ansible_collections.amazon.aws.plugins.module_utils.waiters import get_waiter
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def validate_tags(client, module, fargate_profile):
changed = False
diff --git a/eks_nodegroup.py b/eks_nodegroup.py
index 5ba33128a66..8528cc8a488 100644
--- a/eks_nodegroup.py
+++ b/eks_nodegroup.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2022 Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: eks_nodegroup
version_added: 5.3.0
@@ -169,12 +167,11 @@
default: 1200
type: int
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+"""
-'''
-
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: create nodegroup
@@ -207,9 +204,9 @@
cluster_name: test_cluster
wait: yes
state: absent
-'''
+"""
-RETURN = r'''
+RETURN = r"""
nodegroup_name:
description: The name associated with an Amazon EKS managed node group.
returned: when state is present
@@ -345,18 +342,22 @@
type: dict
sample:
foo: bar
-'''
-
-from ansible_collections.amazon.aws.plugins.module_utils.core import AnsibleAWSModule, is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_aws_tags
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict, snake_dict_to_camel_dict
-from ansible_collections.amazon.aws.plugins.module_utils.waiters import get_waiter
+"""
try:
- import botocore.exceptions
+ import botocore
except ImportError:
pass
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+from ansible_collections.amazon.aws.plugins.module_utils.waiters import get_waiter
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def validate_tags(client, module, nodegroup):
changed = False
diff --git a/elasticache.py b/elasticache.py
index eeabcfe76cf..067134725d7 100644
--- a/elasticache.py
+++ b/elasticache.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
-#
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: elasticache
version_added: 1.0.0
@@ -15,7 +12,8 @@
description:
- Manage cache clusters in Amazon ElastiCache.
- Returns information about the specified cache cluster.
-author: "Jim Dalton (@jsdalton)"
+author:
+ - "Jim Dalton (@jsdalton)"
options:
state:
description:
@@ -97,11 +95,12 @@
- Defaults to C(false).
type: bool
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-'''
+RETURN = r""" # """
EXAMPLES = r"""
# Note: None of these examples set aws_access_key, aws_secret_key, or region.
@@ -130,8 +129,8 @@
community.aws.elasticache:
name: "test-please-delete"
state: rebooted
-
"""
+
from time import sleep
try:
@@ -139,12 +138,12 @@
except ImportError:
pass # Handled by AnsibleAWSModule
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import get_aws_connection_info
-class ElastiCacheManager(object):
+class ElastiCacheManager():
"""Handles elasticache creation and destruction"""
@@ -153,7 +152,7 @@ class ElastiCacheManager(object):
def __init__(self, module, name, engine, cache_engine_version, node_type,
num_nodes, cache_port, cache_parameter_group, cache_subnet_group,
cache_security_groups, security_group_ids, zone, wait,
- hard_modify, region, **aws_connect_kwargs):
+ hard_modify):
self.module = module
self.name = name
self.engine = engine.lower()
@@ -169,9 +168,6 @@ def __init__(self, module, name, engine, cache_engine_version, node_type,
self.wait = wait
self.hard_modify = hard_modify
- self.region = region
- self.aws_connect_kwargs = aws_connect_kwargs
-
self.changed = False
self.data = None
self.status = 'gone'
@@ -500,8 +496,6 @@ def main():
argument_spec=argument_spec,
)
- region, ec2_url, aws_connect_kwargs = get_aws_connection_info(module)
-
name = module.params['name']
state = module.params['state']
engine = module.params['engine']
@@ -530,7 +524,7 @@ def main():
cache_subnet_group,
cache_security_groups,
security_group_ids, zone, wait,
- hard_modify, region, **aws_connect_kwargs)
+ hard_modify)
if state == 'present':
elasticache_manager.ensure_present()
diff --git a/elasticache_info.py b/elasticache_info.py
index 3aa7a4317c7..02b18ee4778 100644
--- a/elasticache_info.py
+++ b/elasticache_info.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
module: elasticache_info
short_description: Retrieve information for AWS ElastiCache clusters
version_added: 1.0.0
@@ -20,21 +18,21 @@
author:
- Will Thames (@willthames)
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: obtain all ElastiCache information
community.aws.elasticache_info:
- name: obtain all information for a single ElastiCache cluster
community.aws.elasticache_info:
name: test_elasticache
-'''
+"""
-RETURN = '''
+RETURN = r"""
elasticache_clusters:
description: List of ElastiCache clusters.
returned: always
@@ -402,20 +400,21 @@
sample:
Application: web
Environment: test
-'''
-
-from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
-
+"""
try:
import botocore
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
@AWSRetry.exponential_backoff()
def describe_cache_clusters_with_backoff(client, cluster_id=None):
diff --git a/elasticache_parameter_group.py b/elasticache_parameter_group.py
index fe8cc08fc00..04a789bd59f 100644
--- a/elasticache_parameter_group.py
+++ b/elasticache_parameter_group.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
-# This file is part of Ansible
-# 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
+# -*- coding: utf-8 -*-
+# Copyright: Contributors to the Ansible project
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: elasticache_parameter_group
version_added: 1.0.0
@@ -14,11 +12,8 @@
description:
- Manage cache security groups in Amazon ElastiCache.
- Returns information about the specified cache cluster.
-author: "Sloane Hertel (@s-hertel)"
-extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+author:
+ - "Sloane Hertel (@s-hertel)"
options:
group_family:
@@ -47,9 +42,14 @@
description:
- A user-specified dictionary of parameters to reset or modify for the cache parameter group.
type: dict
-'''
-EXAMPLES = """
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
+
+EXAMPLES = r"""
# Note: None of these examples set aws_access_key, aws_secret_key, or region.
# It is assumed that their matching environment variables are set.
---
@@ -79,7 +79,7 @@
state: 'absent'
"""
-RETURN = """
+RETURN = r"""
elasticache:
description: cache parameter group information and response metadata
returned: always
diff --git a/elasticache_snapshot.py b/elasticache_snapshot.py
index 9ae5be427ca..e477fc86aa5 100644
--- a/elasticache_snapshot.py
+++ b/elasticache_snapshot.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: elasticache_snapshot
version_added: 1.0.0
@@ -14,11 +12,8 @@
description:
- Manage cache snapshots in Amazon ElastiCache.
- Returns information about the specified snapshot.
-author: "Sloane Hertel (@s-hertel)"
-extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+author:
+ - "Sloane Hertel (@s-hertel)"
options:
name:
description:
@@ -47,9 +42,13 @@
description:
- The s3 bucket to which the snapshot is exported.
type: str
-'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = """
+EXAMPLES = r"""
# Note: None of these examples set aws_access_key, aws_secret_key, or region.
# It is assumed that their matching environment variables are set.
@@ -61,7 +60,7 @@
replication_id: '{{ replication }}'
"""
-RETURN = """
+RETURN = r"""
response_metadata:
description: response metadata about the snapshot
returned: always
@@ -117,8 +116,9 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
def create(module, connection, replication_id, cluster_id, name):
diff --git a/elasticache_subnet_group.py b/elasticache_subnet_group.py
index 802d8c0949e..6353c72837b 100644
--- a/elasticache_subnet_group.py
+++ b/elasticache_subnet_group.py
@@ -1,18 +1,16 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: elasticache_subnet_group
version_added: 1.0.0
short_description: manage ElastiCache subnet groups
description:
- - Creates, modifies, and deletes ElastiCache subnet groups.
+ - Creates, modifies, and deletes ElastiCache subnet groups.
options:
state:
description:
@@ -40,12 +38,12 @@
author:
- "Tim Mahoney (@timmahoney)"
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: Add or change a subnet group
community.aws.elasticache_subnet_group:
state: present
@@ -59,9 +57,9 @@
community.aws.elasticache_subnet_group:
state: absent
name: norwegian-blue
-'''
+"""
-RETURN = r'''
+RETURN = r"""
cache_subnet_group:
description: Description of the Elasticache Subnet Group.
returned: always
@@ -95,7 +93,7 @@
sample:
- subnet-aaaaaaaa
- subnet-bbbbbbbb
-'''
+"""
try:
import botocore
@@ -104,9 +102,10 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
def get_subnet_group(name):
diff --git a/elasticbeanstalk_app.py b/elasticbeanstalk_app.py
index 46529276997..c6333379456 100644
--- a/elasticbeanstalk_app.py
+++ b/elasticbeanstalk_app.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: elasticbeanstalk_app
version_added: 1.0.0
@@ -43,12 +41,12 @@
- Harpreet Singh (@hsingh)
- Stephen Granger (@viper233)
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Create or update an application
- community.aws.elasticbeanstalk_app:
app_name: Sample_App
@@ -60,9 +58,9 @@
app_name: Sample_App
state: absent
-'''
+"""
-RETURN = '''
+RETURN = r"""
app:
description: Beanstalk application.
returned: always
@@ -83,15 +81,16 @@
returned: in check mode
type: str
sample: App is up-to-date
-'''
+"""
try:
import botocore
except ImportError:
pass # handled by AnsibleAWSModule
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_message
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_message
def describe_app(ebs, app_name, module):
diff --git a/elb_classic_lb_info.py b/elb_classic_lb_info.py
index 9298085e28f..3d3d43d4e71 100644
--- a/elb_classic_lb_info.py
+++ b/elb_classic_lb_info.py
@@ -1,29 +1,16 @@
#!/usr/bin/python
-#
-# This is a free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This Ansible library 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 this library. If not, see .
-
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-
-DOCUMENTATION = r'''
+# -*- coding: utf-8 -*-
+
+# Copyright: Contributors to the Ansible project
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+DOCUMENTATION = r"""
---
module: elb_classic_lb_info
version_added: 1.0.0
short_description: Gather information about EC2 Elastic Load Balancers in AWS
description:
- - Gather information about EC2 Elastic Load Balancers in AWS
+ - Gather information about EC2 Elastic Load Balancers in AWS
author:
- "Michael Schultz (@mjschultz)"
- "Fernando Jose Pando (@nand0p)"
@@ -35,12 +22,12 @@
elements: str
default: []
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Output format tries to match amazon.aws.ec2_elb_lb module input parameters
@@ -71,9 +58,9 @@
msg: "{{ item.dns_name }}"
loop: "{{ elb_info.elbs }}"
-'''
+"""
-RETURN = r'''
+RETURN = r"""
elbs:
description: a list of load balancers
returned: always
@@ -137,21 +124,22 @@
- subnet-XXXXXXXX
tags: {}
vpc_id: vpc-c248fda4
-'''
-
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import (
- AWSRetry,
- camel_dict_to_snake_dict,
- boto3_tag_list_to_ansible_dict
-)
+"""
try:
import botocore
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
+
MAX_AWS_RETRIES = 5
MAX_AWS_DELAY = 5
diff --git a/elb_instance.py b/elb_instance.py
index c09ae0429bb..fe1128c9661 100644
--- a/elb_instance.py
+++ b/elb_instance.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: elb_instance
version_added: 1.0.0
@@ -15,7 +13,8 @@
- This module de-registers or registers an AWS EC2 instance from the ELBs
that it belongs to.
- Will be marked changed when called only if there are ELBs found to operate on.
-author: "John Jarvis (@jarv)"
+author:
+ - "John Jarvis (@jarv)"
options:
state:
description:
@@ -55,13 +54,13 @@
default: 0
type: int
notes:
-- The ec2_elbs fact previously set by this module was deprecated in release 2.1.0 and since release
- 4.0.0 is no longer set.
+ - The ec2_elbs fact previously set by this module was deprecated in release 2.1.0 and since release
+ 4.0.0 is no longer set.
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
EXAMPLES = r"""
# basic pre_task and post_task example
@@ -83,22 +82,23 @@
delegate_to: localhost
"""
-RETURN = '''
+RETURN = r"""
updated_elbs:
description: A list of ELB names that the instance has been added to or removed from.
returned: always
type: list
elements: str
-'''
+"""
try:
import botocore
except ImportError:
pass # Handled by AnsibleAWSModule
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
class ElbManager:
diff --git a/elb_network_lb.py b/elb_network_lb.py
index 44025cccb94..069882dc90c 100644
--- a/elb_network_lb.py
+++ b/elb_network_lb.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
# Copyright: (c) 2018, Rob White (@wimnat)
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: elb_network_lb
version_added: 1.0.0
@@ -126,17 +123,17 @@
- Sets the type of IP addresses used by the subnets of the specified Application Load Balancer.
choices: [ 'ipv4', 'dualstack' ]
type: str
-extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
- - amazon.aws.tags
notes:
- Listeners are matched based on port. If a listener's port is changed then a new listener will be created.
- Listener rules are matched based on priority. If a rule's priority is changed then a new rule will be created.
-'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.tags
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Create an ELB and attach a listener
@@ -187,9 +184,9 @@
name: myelb
state: absent
-'''
+"""
-RETURN = r'''
+RETURN = r"""
load_balancer:
description: A representation of the Network Load Balancer
returned: when state is present
@@ -328,11 +325,17 @@
returned: when state is present
type: str
sample: vpc-0011223344
-'''
+"""
+
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+from ansible_collections.amazon.aws.plugins.module_utils.elbv2 import ELBListener
+from ansible_collections.amazon.aws.plugins.module_utils.elbv2 import ELBListeners
+from ansible_collections.amazon.aws.plugins.module_utils.elbv2 import NetworkLoadBalancer
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict, boto3_tag_list_to_ansible_dict, compare_aws_tags
-from ansible_collections.amazon.aws.plugins.module_utils.elbv2 import NetworkLoadBalancer, ELBListeners, ELBListener
def create_or_update_elb(elb_obj):
diff --git a/elb_target.py b/elb_target.py
index 133419a1757..fd05cd67a3a 100644
--- a/elb_target.py
+++ b/elb_target.py
@@ -1,19 +1,18 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: elb_target
version_added: 1.0.0
short_description: Manage a target in a target group
description:
- - Used to register or deregister a target in a target group.
-author: "Rob White (@wimnat)"
+ - Used to register or deregister a target in a target group.
+author:
+ - "Rob White (@wimnat)"
options:
deregister_unused:
description:
@@ -68,16 +67,17 @@
required: true
choices: [ 'present', 'absent' ]
type: str
-extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
notes:
- If you specified a port override when you registered a target, you must specify both the target ID and the port when you deregister it.
-'''
-EXAMPLES = '''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
+
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Register an IP address target to a target group
@@ -106,13 +106,14 @@
target_port: 8080
state: present
-'''
+"""
-RETURN = '''
+RETURN = r"""
-'''
+"""
-from time import time, sleep
+from time import sleep
+from time import time
try:
import botocore
@@ -121,8 +122,9 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
@AWSRetry.jittered_backoff(retries=10, delay=10, catch_extra_error_codes=['TargetGroupNotFound'])
diff --git a/elb_target_group.py b/elb_target_group.py
index 18f9ca5e46b..784fa143a4f 100644
--- a/elb_target_group.py
+++ b/elb_target_group.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: elb_target_group
version_added: 1.0.0
@@ -204,17 +202,18 @@
- The time to wait for the target group.
default: 200
type: int
-extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
- - amazon.aws.tags
notes:
- Once a target group has been created, only its health check can then be modified using subsequent calls
-'''
-EXAMPLES = r'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.tags
+ - amazon.aws.boto3
+"""
+
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Create a target group with a default health check
@@ -324,9 +323,9 @@
targets:
- Id: arn:aws:lambda:eu-central-1:123456789012:function:my-lambda-function
-'''
+"""
-RETURN = r'''
+RETURN = r"""
deregistration_delay_timeout_seconds:
description: The amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused.
returned: when state present
@@ -437,7 +436,7 @@
returned: when state present
type: str
sample: vpc-0123456
-'''
+"""
import time
@@ -448,12 +447,13 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_tag_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_aws_tags
def get_tg_attributes(connection, module, tg_arn):
diff --git a/elb_target_group_info.py b/elb_target_group_info.py
index d6a73d3307f..d58c2f248f5 100644
--- a/elb_target_group_info.py
+++ b/elb_target_group_info.py
@@ -1,19 +1,18 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: elb_target_group_info
version_added: 1.0.0
short_description: Gather information about ELB target groups in AWS
description:
- - Gather information about ELB target groups in AWS
-author: Rob White (@wimnat)
+ - Gather information about ELB target groups in AWS
+author:
+ - Rob White (@wimnat)
options:
load_balancer_arn:
description:
@@ -40,13 +39,12 @@
type: bool
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
+- amazon.aws.common.modules
+- amazon.aws.region.modules
- amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Gather information about all target groups
@@ -62,9 +60,9 @@
- tg1
- tg2
-'''
+"""
-RETURN = r'''
+RETURN = r"""
target_groups:
description: a list of target groups
returned: always
@@ -204,7 +202,7 @@
returned: always
type: str
sample: vpc-0123456
-'''
+"""
try:
import botocore
@@ -213,9 +211,11 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry, boto3_tag_list_to_ansible_dict
@AWSRetry.jittered_backoff(retries=10)
diff --git a/elb_target_info.py b/elb_target_info.py
index 92ab33ba945..393e290e51b 100644
--- a/elb_target_info.py
+++ b/elb_target_info.py
@@ -1,10 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: (c) 2018, Yaakov Kuperman
# 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
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: elb_target_info
version_added: 1.0.0
@@ -12,8 +12,8 @@
description:
- This module will search through every target group in a region to find
which ones have registered a given instance ID or IP.
-
-author: "Yaakov Kuperman (@yaakov-github)"
+author:
+ - "Yaakov Kuperman (@yaakov-github)"
options:
instance_id:
description:
@@ -25,14 +25,14 @@
- Whether or not to get target groups not used by any load balancers.
type: bool
default: true
-extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = """
+EXAMPLES = r"""
# practical use case - dynamically de-registering and re-registering nodes
- name: Get EC2 Metadata
@@ -127,7 +127,7 @@
"""
-RETURN = """
+RETURN = r"""
instance_target_groups:
description: a list of target groups to which the instance is registered to
returned: always
@@ -204,16 +204,18 @@
type: str
"""
-__metaclass__ = type
-
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
# we can handle the lack of boto3 based on the ec2 module
pass
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict, AWSRetry
class Target(object):
diff --git a/glue_connection.py b/glue_connection.py
index 2e01b6fed32..e9a6b306dac 100644
--- a/glue_connection.py
+++ b/glue_connection.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: (c) 2018, Rob White (@wimnat)
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: glue_connection
version_added: 1.0.0
@@ -72,12 +70,12 @@
- Required when I(connection_type=NETWORK).
type: str
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Create an AWS Glue connection
@@ -106,9 +104,9 @@
- community.aws.glue_connection:
name: my-glue-connection
state: absent
-'''
+"""
-RETURN = r'''
+RETURN = r"""
connection_properties:
description:
- (deprecated) A dict of key-value pairs (converted to lowercase) used as parameters for this connection.
@@ -157,11 +155,11 @@
returned: when state is present
type: dict
sample: {'JDBC_CONNECTION_URL':'jdbc:mysql://mydb:3306/databasename','USERNAME':'x','PASSWORD':'y'}
-'''
+"""
-# Non-ansible imports
import copy
import time
+
try:
import botocore
except ImportError:
@@ -169,10 +167,11 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
from ansible_collections.amazon.aws.plugins.module_utils.ec2 import get_ec2_security_group_ids_from_names
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
def _get_glue_connection(connection, module):
diff --git a/glue_crawler.py b/glue_crawler.py
index d5cdc04d6d5..04c6cd3eb52 100644
--- a/glue_crawler.py
+++ b/glue_crawler.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: (c) 2018, Rob White (@wimnat)
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: glue_crawler
version_added: 4.1.0
@@ -77,13 +75,13 @@
- Required when I(state=present).
type: dict
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.tags
-'''
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Create an AWS Glue crawler
@@ -109,9 +107,9 @@
- community.aws.glue_crawler:
name: my-glue-crawler
state: absent
-'''
+"""
-RETURN = r'''
+RETURN = r"""
creation_time:
description: The time and date that this crawler definition was created.
returned: when state is present
@@ -198,7 +196,7 @@
description: List of catalog targets.
returned: when state is present
type: list
-'''
+"""
try:
import botocore
@@ -208,11 +206,12 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_aws_tags
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
from ansible_collections.amazon.aws.plugins.module_utils.iam import get_aws_account_info
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
def _get_glue_crawler(connection, module, glue_crawler_name):
diff --git a/glue_job.py b/glue_job.py
index ea6e79180fc..6e979f28a9d 100644
--- a/glue_job.py
+++ b/glue_job.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: (c) 2018, Rob White (@wimnat)
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: glue_job
version_added: 1.0.0
@@ -103,13 +101,13 @@
notes:
- Support for I(tags) and I(purge_tags) was added in release 2.2.0.
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.tags
-'''
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Create an AWS Glue job
@@ -126,9 +124,9 @@
- community.aws.glue_job:
name: my-glue-job
state: absent
-'''
+"""
-RETURN = r'''
+RETURN = r"""
allocated_capacity:
description: The number of AWS Glue data processing units (DPUs) allocated to runs of this job. From 2 to
100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power
@@ -223,10 +221,10 @@
returned: when state is present
type: int
sample: 300
-'''
+"""
-# Non-ansible imports
import copy
+
try:
import botocore
except ImportError:
@@ -234,11 +232,12 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_aws_tags
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
from ansible_collections.amazon.aws.plugins.module_utils.iam import get_aws_account_info
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
def _get_glue_job(connection, module, glue_job_name):
diff --git a/iam_access_key.py b/iam_access_key.py
index 32220a216e3..af472fbe8c6 100644
--- a/iam_access_key.py
+++ b/iam_access_key.py
@@ -1,19 +1,18 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2021 Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: iam_access_key
version_added: 2.1.0
short_description: Manage AWS IAM User access keys
description:
- Manage AWS IAM user access keys.
-author: Mark Chappell (@tremble)
+author:
+ - Mark Chappell (@tremble)
options:
user_name:
description:
@@ -54,12 +53,12 @@
default: false
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Create a new access key
@@ -72,9 +71,9 @@
user_name: example_user
id: AKIA1EXAMPLE1EXAMPLE
state: absent
-'''
+"""
-RETURN = r'''
+RETURN = r"""
access_key:
description: A dictionary containing all the access key information.
returned: When the key exists.
@@ -117,7 +116,7 @@
returned: When a key was deleted during the rotation of access keys
type: str
sample: AKIA1EXAMPLE1EXAMPLE
-'''
+"""
try:
import botocore
@@ -126,11 +125,12 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import normalize_boto3_result
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.transformation import scrub_none_parameters
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.core import normalize_boto3_result
-from ansible_collections.amazon.aws.plugins.module_utils.core import scrub_none_parameters
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
def delete_access_key(access_keys, user, access_key_id):
diff --git a/iam_access_key_info.py b/iam_access_key_info.py
index 9d7363b420a..6573e657a18 100644
--- a/iam_access_key_info.py
+++ b/iam_access_key_info.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2021 Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: iam_access_key_info
version_added: 2.1.0
@@ -14,7 +12,8 @@
description:
- 'Fetches information AWS IAM user access keys.'
- 'Note: It is not possible to fetch the secret access key.'
-author: Mark Chappell (@tremble)
+author:
+ - Mark Chappell (@tremble)
options:
user_name:
description:
@@ -24,20 +23,20 @@
aliases: ['username']
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Fetch Access keys for a user
community.aws.iam_access_key_info:
user_name: example_user
-'''
+"""
-RETURN = r'''
+RETURN = r"""
access_key:
description: A dictionary containing all the access key information.
returned: When the key exists.
@@ -67,7 +66,7 @@
returned: success
type: str
sample: Inactive
-'''
+"""
try:
import botocore
@@ -76,9 +75,10 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import normalize_boto3_result
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import normalize_boto3_result
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
def get_access_keys(user):
diff --git a/iam_group.py b/iam_group.py
index cedf41613eb..9dc43ec0a94 100644
--- a/iam_group.py
+++ b/iam_group.py
@@ -1,24 +1,10 @@
#!/usr/bin/python
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (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 .
-
-from __future__ import absolute_import, division, print_function
-__metaclass__ = type
-
-
-DOCUMENTATION = r'''
+# -*- coding: utf-8 -*-
+
+# Copyright: Contributors to the Ansible project
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+DOCUMENTATION = r"""
---
module: iam_group
version_added: 1.0.0
@@ -26,8 +12,8 @@
description:
- Manage AWS IAM groups.
author:
-- Nick Aslanidis (@naslanidis)
-- Maksym Postument (@infectsoldier)
+ - Nick Aslanidis (@naslanidis)
+ - Maksym Postument (@infectsoldier)
options:
name:
description:
@@ -70,12 +56,12 @@
default: false
type: bool
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Create a group
@@ -119,8 +105,8 @@
name: testgroup1
state: absent
-'''
-RETURN = r'''
+"""
+RETURN = r"""
iam_group:
description: dictionary containing all the group information including group membership
returned: success
@@ -176,7 +162,7 @@
description: the path to the user
type: str
sample: /
-'''
+"""
try:
import botocore
@@ -185,9 +171,10 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
def compare_attached_group_policies(current_attached_policies, new_attached_policies):
diff --git a/iam_managed_policy.py b/iam_managed_policy.py
index eabf03b23d7..f590fcf9d64 100644
--- a/iam_managed_policy.py
+++ b/iam_managed_policy.py
@@ -1,18 +1,16 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: iam_managed_policy
version_added: 1.0.0
short_description: Manage User Managed IAM policies
description:
- - Allows creating and removing managed IAM policies
+ - Allows creating and removing managed IAM policies
options:
policy_name:
description:
@@ -45,14 +43,15 @@
choices: [ "present", "absent" ]
type: str
-author: "Dan Kozlowski (@dkhenry)"
+author:
+ - "Dan Kozlowski (@dkhenry)"
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Create a policy
- name: Create IAM Managed Policy
community.aws.iam_managed_policy:
@@ -102,9 +101,9 @@
community.aws.iam_managed_policy:
policy_name: "ManagedPolicy"
state: absent
-'''
+"""
-RETURN = r'''
+RETURN = r"""
policy:
description: Returns the policy json structure, when state == absent this will return the value of the removed policy.
returned: success
@@ -121,7 +120,7 @@
"policy_name": "AdministratorAccess",
"update_date": "2017-03-01T15:42:55.981000+00:00"
}'
-'''
+"""
import json
@@ -133,10 +132,11 @@
from ansible.module_utils._text import to_native
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.policy import compare_policies
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_policies
@AWSRetry.jittered_backoff(retries=5, delay=5, backoff=2.0)
diff --git a/iam_mfa_device_info.py b/iam_mfa_device_info.py
index 8b78eee02f9..c0c434a9be9 100644
--- a/iam_mfa_device_info.py
+++ b/iam_mfa_device_info.py
@@ -1,31 +1,30 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: iam_mfa_device_info
version_added: 1.0.0
short_description: List the MFA (Multi-Factor Authentication) devices registered for a user
description:
- - List the MFA (Multi-Factor Authentication) devices registered for a user
-author: Victor Costan (@pwnall)
+ - List the MFA (Multi-Factor Authentication) devices registered for a user
+author:
+ - Victor Costan (@pwnall)
options:
user_name:
description:
- The name of the user whose MFA devices will be listed
type: str
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-RETURN = """
+RETURN = r"""
mfa_devices:
description: The MFA devices registered for the given user
returned: always
@@ -39,7 +38,7 @@
user_name: example
"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# more details: https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListMFADevices.html
@@ -54,7 +53,7 @@
role_arn: "arn:aws:iam::123456789012:role/someRole"
role_session_name: "someRoleSession"
register: assumed_role
-'''
+"""
try:
import botocore
diff --git a/iam_password_policy.py b/iam_password_policy.py
index 00b4f8872c0..a980511c2fa 100644
--- a/iam_password_policy.py
+++ b/iam_password_policy.py
@@ -1,21 +1,18 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
# Copyright: (c) 2018, Aaron Smith
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: iam_password_policy
version_added: 1.0.0
short_description: Update an IAM Password Policy
description:
- - Module updates an IAM Password Policy on a given AWS account
+ - Module updates an IAM Password Policy on a given AWS account
author:
- - "Aaron Smith (@slapula)"
+ - "Aaron Smith (@slapula)"
options:
state:
description:
@@ -75,13 +72,12 @@
type: bool
aliases: [password_expire, expire]
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Password policy for AWS account
community.aws.iam_password_policy:
state: present
@@ -94,9 +90,9 @@
pw_max_age: 60
pw_reuse_prevent: 5
pw_expire: false
-'''
+"""
-RETURN = ''' # '''
+RETURN = r""" # """
try:
import botocore
@@ -105,8 +101,9 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
class IAMConnection(object):
diff --git a/iam_role.py b/iam_role.py
index 255b4cb7964..07463cd9736 100644
--- a/iam_role.py
+++ b/iam_role.py
@@ -1,11 +1,10 @@
#!/usr/bin/python
-# 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
+# -*- coding: utf-8 -*-
+# Copyright: Contributors to the Ansible project
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: iam_role
version_added: 1.0.0
@@ -91,13 +90,13 @@
default: True
type: bool
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.tags
-'''
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Create a role with description and tags
@@ -127,8 +126,8 @@
assume_role_policy_document: "{{ lookup('file', 'policy.json') }}"
state: absent
-'''
-RETURN = r'''
+"""
+RETURN = r"""
iam_role:
description: dictionary containing the IAM Role data
returned: success
@@ -214,7 +213,7 @@
type: dict
returned: always
sample: '{"Env": "Prod"}'
-'''
+"""
import json
@@ -225,13 +224,14 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.policy import compare_policies
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_tag_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_aws_tags
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_policies
@AWSRetry.jittered_backoff()
diff --git a/iam_role_info.py b/iam_role_info.py
index 23da3e04097..e3bdb7695bf 100644
--- a/iam_role_info.py
+++ b/iam_role_info.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: iam_role_info
version_added: 1.0.0
@@ -29,13 +27,12 @@
- Mutually exclusive with I(name).
type: str
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = '''
+EXAMPLES = r"""
- name: find all existing IAM roles
community.aws.iam_role_info:
register: result
@@ -47,9 +44,9 @@
- name: describe all roles matching a path prefix
community.aws.iam_role_info:
path_prefix: /application/path
-'''
+"""
-RETURN = '''
+RETURN = r"""
iam_roles:
description: List of IAM roles
returned: always
@@ -153,7 +150,7 @@
type: dict
returned: always
sample: '{"Env": "Prod"}'
-'''
+"""
try:
import botocore
@@ -162,10 +159,11 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
@AWSRetry.jittered_backoff()
diff --git a/iam_saml_federation.py b/iam_saml_federation.py
index b20f44d3690..e134588f7ef 100644
--- a/iam_saml_federation.py
+++ b/iam_saml_federation.py
@@ -1,25 +1,10 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (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 .
-
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-
-DOCUMENTATION = '''
+
+# Copyright: Contributors to the Ansible project
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+DOCUMENTATION = r"""
---
module: iam_saml_federation
version_added: 1.0.0
@@ -42,17 +27,18 @@
default: present
choices: [ "present", "absent" ]
type: str
-extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
author:
- Tony (@axc450)
- Aidan Rowe (@aidan-)
-'''
-EXAMPLES = '''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
+
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# It is assumed that their matching environment variables are set.
# Creates a new iam saml identity provider if not present
@@ -74,9 +60,9 @@
community.aws.iam_saml_federation:
name: example3
state: absent
-'''
+"""
-RETURN = '''
+RETURN = r"""
saml_provider:
description: Details of the SAML Identity Provider that was created/modified.
type: complex
@@ -101,15 +87,16 @@
type: str
returned: present
sample: "2017-02-08T04:36:28+00:00"
-'''
+"""
try:
- import botocore.exceptions
+ import botocore
except ImportError:
pass
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
class SAMLProviderManager:
diff --git a/iam_server_certificate.py b/iam_server_certificate.py
index 4b8ee782ddb..3ab35fb6864 100644
--- a/iam_server_certificate.py
+++ b/iam_server_certificate.py
@@ -1,24 +1,10 @@
#!/usr/bin/python
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (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 .
-
-from __future__ import absolute_import, division, print_function
-__metaclass__ = type
-
-
-DOCUMENTATION = '''
+# -*- coding: utf-8 -*-
+
+# Copyright: Contributors to the Ansible project
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+DOCUMENTATION = r"""
---
module: iam_server_certificate
version_added: 1.0.0
@@ -76,12 +62,14 @@
author:
- Jonathan I. Davila (@defionscode)
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+RETURN = r""" # """
+
+EXAMPLES = r"""
- name: Basic server certificate upload from local file
community.aws.iam_server_certificate:
name: very_ssl
@@ -104,7 +92,7 @@
name: very_ssl
new_name: new_very_ssl
state: present
-'''
+"""
try:
import botocore
@@ -113,9 +101,10 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
@AWSRetry.jittered_backoff()
diff --git a/iam_server_certificate_info.py b/iam_server_certificate_info.py
index ac33a36f1a2..eb38a5f8b48 100644
--- a/iam_server_certificate_info.py
+++ b/iam_server_certificate_info.py
@@ -1,32 +1,30 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: iam_server_certificate_info
version_added: 1.0.0
short_description: Retrieve the information of a server certificate
description:
- Retrieve the attributes of a server certificate.
-author: "Allen Sanabria (@linuxdynasty)"
+author:
+ - "Allen Sanabria (@linuxdynasty)"
options:
name:
description:
- The name of the server certificate you are retrieving attributes for.
type: str
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Retrieve server certificate
community.aws.iam_server_certificate_info:
name: production-cert
@@ -37,9 +35,9 @@
name: production-cert
register: server_cert
failed_when: "{{ server_cert.results | length == 0 }}"
-'''
+"""
-RETURN = '''
+RETURN = r"""
server_certificate_id:
description: The 21 character certificate id
returned: success
@@ -75,12 +73,11 @@
returned: success
type: str
sample: "2015-04-25T00:36:40+00:00"
-'''
+"""
try:
import botocore
- import botocore.exceptions
except ImportError:
pass # Handled by AnsibleAWSModule
diff --git a/inspector_target.py b/inspector_target.py
index 4bfe5b502d6..8891fa34a67 100644
--- a/inspector_target.py
+++ b/inspector_target.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2018 Dennis Conrad for Sainsbury's
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: inspector_target
version_added: 1.0.0
@@ -39,12 +37,12 @@
- Required if I(state=present).
type: dict
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Create my_target Assessment Target
community.aws.inspector_target:
name: my_target
@@ -62,9 +60,9 @@
community.aws.inspector_target:
name: my_target
state: absent
-'''
+"""
-RETURN = '''
+RETURN = r"""
arn:
description: The ARN that specifies the Amazon Inspector assessment target.
returned: success
@@ -97,22 +95,22 @@
returned: success
type: str
sample: "2018-01-29T13:48:51.958000+00:00"
-'''
-
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import (
- ansible_dict_to_boto3_tag_list,
- boto3_tag_list_to_ansible_dict,
- camel_dict_to_snake_dict,
- compare_aws_tags,
-)
+"""
try:
import botocore
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
@AWSRetry.jittered_backoff(retries=5, delay=5, backoff=2.0)
def main():
diff --git a/kinesis_stream.py b/kinesis_stream.py
index 001fad26546..2bcca6a4ad4 100644
--- a/kinesis_stream.py
+++ b/kinesis_stream.py
@@ -1,22 +1,21 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: kinesis_stream
version_added: 1.0.0
short_description: Manage a Kinesis Stream.
description:
- - Create or Delete a Kinesis Stream.
- - Update the retention period of a Kinesis Stream.
- - Update Tags on a Kinesis Stream.
- - Enable/disable server side encryption on a Kinesis Stream.
-author: Allen Sanabria (@linuxdynasty)
+ - Create or Delete a Kinesis Stream.
+ - Update the retention period of a Kinesis Stream.
+ - Update Tags on a Kinesis Stream.
+ - Enable/disable server side encryption on a Kinesis Stream.
+author:
+ - Allen Sanabria (@linuxdynasty)
options:
name:
description:
@@ -73,13 +72,12 @@
- The GUID or alias for the KMS key.
type: str
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Basic creation example:
@@ -148,9 +146,9 @@
wait: true
wait_timeout: 600
register: test_stream
-'''
+"""
-RETURN = '''
+RETURN = r"""
stream_name:
description: The name of the Kinesis Stream.
returned: when state == present.
@@ -179,7 +177,7 @@
"Name": "Splunk",
"Env": "development"
}
-'''
+"""
import time
@@ -191,9 +189,10 @@
from ansible.module_utils._text import to_native
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_aws_tags
def get_tags(client, stream_name):
diff --git a/lightsail.py b/lightsail.py
index 3b29fa0ba13..23ab0c76c86 100644
--- a/lightsail.py
+++ b/lightsail.py
@@ -1,23 +1,20 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: lightsail
version_added: 1.0.0
short_description: Manage instances in AWS Lightsail
description:
- - Manage instances in AWS Lightsail.
- - Instance tagging is not yet supported in this module.
+ - Manage instances in AWS Lightsail.
+ - Instance tagging is not yet supported in this module.
author:
- - "Nick Ball (@nickball)"
- - "Prasad Katti (@prasadkatti)"
+ - "Nick Ball (@nickball)"
+ - "Prasad Katti (@prasadkatti)"
options:
state:
description:
@@ -69,14 +66,13 @@
type: int
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Create a new Lightsail instance
community.aws.lightsail:
state: present
@@ -94,10 +90,9 @@
state: absent
region: us-east-1
name: my_instance
+"""
-'''
-
-RETURN = '''
+RETURN = r"""
changed:
description: if a snapshot has been modified/created
returned: always
@@ -149,7 +144,7 @@
name: running
support_code: "123456789012/i-0997c97831ee21e33"
username: "ubuntu"
-'''
+"""
import time
@@ -161,8 +156,9 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
def find_instance_info(module, client, instance_name, fail_if_not_found=False):
diff --git a/lightsail_static_ip.py b/lightsail_static_ip.py
index dc956fd5337..961f451a4ee 100644
--- a/lightsail_static_ip.py
+++ b/lightsail_static_ip.py
@@ -1,14 +1,10 @@
#!/usr/bin/python
-
# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: lightsail_static_ip
version_added: 4.1.0
@@ -29,13 +25,13 @@
required: true
type: str
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Provision a Lightsail static IP
community.aws.lightsail_static_ip:
state: present
@@ -46,9 +42,9 @@
community.aws.lightsail_static_ip:
state: absent
name: my_static_ip
-'''
+"""
-RETURN = '''
+RETURN = r"""
static_ip:
description: static_ipinstance data
returned: always
@@ -64,7 +60,7 @@
name: "static_ip"
resource_type: StaticIp
support_code: "123456789012/192.0.2.5"
-'''
+"""
try:
import botocore
@@ -74,8 +70,9 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
def find_static_ip_info(module, client, static_ip_name, fail_if_not_found=False):
diff --git a/msk_cluster.py b/msk_cluster.py
index 8bd8f9bba13..65c9edea258 100644
--- a/msk_cluster.py
+++ b/msk_cluster.py
@@ -1,12 +1,9 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: (c) 2021, Daniil Kupchenko (@oukooveu)
# 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
-
-
DOCUMENTATION = r"""
---
module: msk_cluster
@@ -199,16 +196,16 @@
description: How many seconds to wait. Cluster creation can take up to 20-30 minutes.
type: int
default: 3600
-extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
- - amazon.aws.tags
notes:
- All operations are time consuming, for example create takes 20-30 minutes,
update kafka version -- more than one hour, update configuration -- 10-15 minutes;
- Cluster's brokers get evenly distributed over a number of availability zones
that's equal to the number of subnets.
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+ - amazon.aws.tags
"""
EXAMPLES = r"""
@@ -266,12 +263,12 @@
except ImportError:
pass # handled by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import (
- camel_dict_to_snake_dict,
- compare_aws_tags,
- AWSRetry,
-)
@AWSRetry.jittered_backoff(retries=5, delay=5)
diff --git a/msk_config.py b/msk_config.py
index 7f7874b74d4..8dce485410f 100644
--- a/msk_config.py
+++ b/msk_config.py
@@ -1,12 +1,9 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: (c) 2021, Daniil Kupchenko (@oukooveu)
# 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
-
-
DOCUMENTATION = r"""
---
module: msk_config
@@ -44,8 +41,8 @@
type: list
elements: str
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
"""
@@ -99,11 +96,11 @@
except ImportError:
pass # handled by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import (
- camel_dict_to_snake_dict,
- AWSRetry,
-)
def dict_to_prop(d):
diff --git a/networkfirewall.py b/networkfirewall.py
index 9bb6ebb753e..9460701cc9a 100644
--- a/networkfirewall.py
+++ b/networkfirewall.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
module: networkfirewall
short_description: manage AWS Network Firewall firewalls
version_added: 4.0.0
@@ -104,13 +102,13 @@
author:
- Mark Chappell (@tremble)
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.tags
-'''
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Create an AWS Network Firewall
- community.aws.networkfirewall:
name: 'ExampleFirewall'
@@ -142,9 +140,9 @@
- community.aws.networkfirewall:
state: absent
name: 'ExampleFirewall'
-'''
+"""
-RETURN = '''
+RETURN = r"""
firewall:
description: The full details of the firewall
returned: success
@@ -269,10 +267,9 @@
}
}
}
-'''
-
+"""
-from ansible_collections.amazon.aws.plugins.module_utils.modules import AnsibleAWSModule
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
from ansible_collections.community.aws.plugins.module_utils.networkfirewall import NetworkFirewallManager
diff --git a/networkfirewall_info.py b/networkfirewall_info.py
index 85df6b026ba..70395f75d9e 100644
--- a/networkfirewall_info.py
+++ b/networkfirewall_info.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
module: networkfirewall_info
short_description: describe AWS Network Firewall firewalls
version_added: 4.0.0
@@ -34,14 +32,15 @@
elements: str
aliases: ['vpcs', 'vpc_id']
-author: Mark Chappell (@tremble)
+author:
+ - Mark Chappell (@tremble)
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Describe all firewalls in an account
- community.aws.networkfirewall_info: {}
@@ -53,9 +52,9 @@
# Describe a firewall by name
- community.aws.networkfirewall_info:
name: ExampleFirewall
-'''
+"""
-RETURN = '''
+RETURN = r"""
firewall_list:
description: A list of ARNs of the matching firewalls.
type: list
@@ -184,10 +183,9 @@
}
}
}
-'''
-
+"""
-from ansible_collections.amazon.aws.plugins.module_utils.modules import AnsibleAWSModule
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
from ansible_collections.community.aws.plugins.module_utils.networkfirewall import NetworkFirewallManager
diff --git a/networkfirewall_policy.py b/networkfirewall_policy.py
index 1026138a6b4..61affcbc9ab 100644
--- a/networkfirewall_policy.py
+++ b/networkfirewall_policy.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
module: networkfirewall_policy
short_description: manage AWS Network Firewall policies
version_added: 4.0.0
@@ -139,17 +137,16 @@
type: int
required: false
-
author:
- Mark Chappell (@tremble)
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
- amazon.aws.tags
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Create an AWS Network Firewall Policy with default rule order
- community.aws.networkfirewall_policy:
stateful_rule_order: 'default'
@@ -178,9 +175,9 @@
- community.aws.networkfirewall_policy:
state: absent
name: 'ExampleDropPolicy'
-'''
+"""
-RETURN = '''
+RETURN = r"""
policy:
description: The details of the policy
type: dict
@@ -336,10 +333,9 @@
type: dict
returned: success
example: {'tagName': 'Some Value'}
-'''
-
+"""
-from ansible_collections.amazon.aws.plugins.module_utils.modules import AnsibleAWSModule
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
from ansible_collections.community.aws.plugins.module_utils.networkfirewall import NetworkFirewallPolicyManager
diff --git a/networkfirewall_policy_info.py b/networkfirewall_policy_info.py
index 1f170f5b304..9f0de62e119 100644
--- a/networkfirewall_policy_info.py
+++ b/networkfirewall_policy_info.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
module: networkfirewall_policy_info
short_description: describe AWS Network Firewall policies
version_added: 4.0.0
@@ -26,14 +24,15 @@
required: false
type: str
-author: Mark Chappell (@tremble)
+author:
+ - Mark Chappell (@tremble)
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Describe all Firewall policies in an account
- community.aws.networkfirewall_policy_info: {}
@@ -45,9 +44,9 @@
# Describe a Firewall policy by name
- community.aws.networkfirewall_policy_info:
name: ExamplePolicy
-'''
+"""
-RETURN = '''
+RETURN = r"""
policy_list:
description: A list of ARNs of the matching policies.
type: list
@@ -212,10 +211,9 @@
type: dict
returned: success
example: {'tagName': 'Some Value'}
-'''
-
+"""
-from ansible_collections.amazon.aws.plugins.module_utils.modules import AnsibleAWSModule
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
from ansible_collections.community.aws.plugins.module_utils.networkfirewall import NetworkFirewallPolicyManager
diff --git a/networkfirewall_rule_group.py b/networkfirewall_rule_group.py
index c8e2ea38bd3..2a10b6f4e69 100644
--- a/networkfirewall_rule_group.py
+++ b/networkfirewall_rule_group.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
module: networkfirewall_rule_group
short_description: create, delete and modify AWS Network Firewall rule groups
version_added: 4.0.0
@@ -263,17 +261,16 @@
type: int
required: false
-
author:
- Mark Chappell (@tremble)
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.tags
-'''
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Create a rule group
- name: Create a minimal AWS Network Firewall Rule Group
community.aws.networkfirewall_rule_group:
@@ -397,9 +394,9 @@
type: 'stateful'
state: absent
-'''
+"""
-RETURN = '''
+RETURN = r"""
rule_group:
description: Details of the rules in the rule group
type: dict
@@ -708,10 +705,9 @@
type: str
returned: success
example: 'STATEFUL'
-'''
-
+"""
-from ansible_collections.amazon.aws.plugins.module_utils.modules import AnsibleAWSModule
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
from ansible_collections.community.aws.plugins.module_utils.networkfirewall import NetworkFirewallRuleManager
diff --git a/networkfirewall_rule_group_info.py b/networkfirewall_rule_group_info.py
index a9cec3778bb..bcd83070b42 100644
--- a/networkfirewall_rule_group_info.py
+++ b/networkfirewall_rule_group_info.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
module: networkfirewall_rule_group_info
short_description: describe AWS Network Firewall rule groups
version_added: 4.0.0
@@ -43,14 +41,15 @@
choices: ['managed', 'account']
type: str
-author: Mark Chappell (@tremble)
+author:
+ - Mark Chappell (@tremble)
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Describe all Rule Groups in an account (excludes managed groups)
- community.aws.networkfirewall_rule_group_info: {}
@@ -69,9 +68,9 @@
name: ExampleRuleGroup
type: stateful
-'''
+"""
-RETURN = '''
+RETURN = r"""
rule_list:
description: A list of ARNs of the matching rule groups.
type: list
@@ -387,10 +386,9 @@
type: str
returned: success
example: 'STATEFUL'
-'''
-
+"""
-from ansible_collections.amazon.aws.plugins.module_utils.modules import AnsibleAWSModule
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
from ansible_collections.community.aws.plugins.module_utils.networkfirewall import NetworkFirewallRuleManager
diff --git a/opensearch.py b/opensearch.py
index 7ed8c0722a2..bbe290890a0 100644
--- a/opensearch.py
+++ b/opensearch.py
@@ -1,20 +1,18 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = """
+DOCUMENTATION = r"""
---
module: opensearch
short_description: Creates OpenSearch or ElasticSearch domain
description:
- Creates or modify a Amazon OpenSearch Service domain.
version_added: 4.0.0
-author: "Sebastien Rosset (@sebastien-rosset)"
+author:
+ - "Sebastien Rosset (@sebastien-rosset)"
options:
state:
description:
@@ -390,13 +388,15 @@
requirements:
- botocore >= 1.21.38
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.tags
+ - amazon.aws.boto3
"""
-EXAMPLES = """
+RETURN = r""" # """
+
+EXAMPLES = r"""
- name: Create OpenSearch domain for dev environment, no zone awareness, no dedicated masters
community.aws.opensearch:
@@ -494,26 +494,20 @@
from ansible.module_utils.six import string_types
-# import module snippets
-from ansible_collections.amazon.aws.plugins.module_utils.core import (
- AnsibleAWSModule,
- is_boto3_error_code,
-)
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import (
- AWSRetry,
- boto3_tag_list_to_ansible_dict,
- compare_policies,
-)
-from ansible_collections.community.aws.plugins.module_utils.opensearch import (
- compare_domain_versions,
- ensure_tags,
- get_domain_status,
- get_domain_config,
- get_target_increment_version,
- normalize_opensearch,
- parse_version,
- wait_for_domain_status,
-)
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.policy import compare_policies
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+from ansible_collections.community.aws.plugins.module_utils.opensearch import compare_domain_versions
+from ansible_collections.community.aws.plugins.module_utils.opensearch import ensure_tags
+from ansible_collections.community.aws.plugins.module_utils.opensearch import get_domain_status
+from ansible_collections.community.aws.plugins.module_utils.opensearch import get_domain_config
+from ansible_collections.community.aws.plugins.module_utils.opensearch import get_target_increment_version
+from ansible_collections.community.aws.plugins.module_utils.opensearch import normalize_opensearch
+from ansible_collections.community.aws.plugins.module_utils.opensearch import parse_version
+from ansible_collections.community.aws.plugins.module_utils.opensearch import wait_for_domain_status
def ensure_domain_absent(client, module):
diff --git a/opensearch_info.py b/opensearch_info.py
index 9ef4a1eac37..2859c4854b5 100644
--- a/opensearch_info.py
+++ b/opensearch_info.py
@@ -1,20 +1,18 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = """
+DOCUMENTATION = r"""
---
module: opensearch_info
short_description: obtain information about one or more OpenSearch or ElasticSearch domain
description:
- Obtain information about one Amazon OpenSearch Service domain.
version_added: 4.0.0
-author: "Sebastien Rosset (@sebastien-rosset)"
+author:
+ - "Sebastien Rosset (@sebastien-rosset)"
options:
domain_name:
description:
@@ -31,12 +29,12 @@
requirements:
- botocore >= 1.21.38
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Get information about an OpenSearch domain instance
community.aws.opensearch_info:
domain-name: my-search-cluster
@@ -50,9 +48,9 @@
tags:
Applications: search
Environment: Development
-'''
+"""
-RETURN = '''
+RETURN = r"""
instances:
description: List of OpenSearch domain instances
returned: always
@@ -441,7 +439,7 @@
description: The name of the OpenSearch domain.
returned: always
type: str
-'''
+"""
try:
@@ -449,16 +447,14 @@
except ImportError:
pass # handled by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import (
- AWSRetry,
- boto3_tag_list_to_ansible_dict,
- camel_dict_to_snake_dict,
-)
-from ansible_collections.community.aws.plugins.module_utils.opensearch import (
- get_domain_config,
- get_domain_status,
-)
+from ansible_collections.community.aws.plugins.module_utils.opensearch import get_domain_config
+from ansible_collections.community.aws.plugins.module_utils.opensearch import get_domain_status
def domain_info(client, module):
diff --git a/redshift.py b/redshift.py
index f218e0a70c9..e0efbefa02a 100644
--- a/redshift.py
+++ b/redshift.py
@@ -1,14 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
# Copyright 2014 Jens Carl, Hothead Games Inc.
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
author:
- "Jens Carl (@j-carl), Hothead Games Inc."
@@ -170,13 +166,13 @@
notes:
- Support for I(tags) and I(purge_tags) was added in release 1.3.0.
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.tags
-'''
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: Basic cluster provisioning example
community.aws.redshift:
command: create
@@ -191,9 +187,9 @@
identifier: new_cluster
skip_final_cluster_snapshot: true
wait: true
-'''
+"""
-RETURN = r'''
+RETURN = r"""
cluster:
description: dictionary containing all the cluster information
returned: success
@@ -257,21 +253,23 @@
description: aws tags for cluster.
returned: success
type: dict
-'''
+"""
try:
import botocore
except ImportError:
pass # caught by AnsibleAWSModule
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_tag_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_aws_tags
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import snake_dict_to_camel_dict
+from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
from ansible_collections.amazon.aws.plugins.module_utils.iam import get_aws_account_id
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
def _ensure_tags(redshift, identifier, existing_tags, module):
diff --git a/redshift_cross_region_snapshots.py b/redshift_cross_region_snapshots.py
index be4a5cbb46d..f8e0970f65c 100644
--- a/redshift_cross_region_snapshots.py
+++ b/redshift_cross_region_snapshots.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
# Copyright: (c) 2018, JR Kerkstra
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: redshift_cross_region_snapshots
version_added: 1.0.0
@@ -15,7 +12,8 @@
description:
- Manage Redshift Cross Region Snapshots. Supports KMS-Encrypted Snapshots.
- For more information, see U(https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html#cross-region-snapshot-copy)
-author: JR Kerkstra (@captainkerk)
+author:
+ - JR Kerkstra (@captainkerk)
options:
cluster_name:
description:
@@ -54,13 +52,12 @@
aliases: [ "retention_period" ]
type: int
extends_documentation_fragment:
-- amazon.aws.ec2
-- amazon.aws.aws
-- amazon.aws.boto3
-
-'''
+ - amazon.aws.region.modules
+ - amazon.aws.common.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: configure cross-region snapshot on cluster `johniscool`
community.aws.redshift_cross_region_snapshots:
cluster_name: johniscool
@@ -84,9 +81,9 @@
state: absent
region: us-east-1
destination_region: us-west-2
-'''
+"""
-RETURN = ''' # '''
+RETURN = r""" # """
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
diff --git a/redshift_info.py b/redshift_info.py
index 2b94e313640..2093dd38ad5 100644
--- a/redshift_info.py
+++ b/redshift_info.py
@@ -1,17 +1,15 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: redshift_info
version_added: 1.0.0
-author: "Jens Carl (@j-carl)"
+author:
+ - "Jens Carl (@j-carl)"
short_description: Gather information about Redshift cluster(s)
description:
- Gather information about Redshift cluster(s).
@@ -30,13 +28,12 @@
required: false
type: dict
extends_documentation_fragment:
-- amazon.aws.ec2
-- amazon.aws.aws
-- amazon.aws.boto3
+ - amazon.aws.region.modules
+ - amazon.aws.common.modules
+ - amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do net set authentication details, see the AWS guide for details.
- name: Find all clusters
@@ -65,9 +62,9 @@
stack: db
register: redshift_user
failed_when: "{{ redshift_user.results | length == 0 }}"
-'''
+"""
-RETURN = '''
+RETURN = r"""
# For more information see U(http://boto3.readthedocs.io/en/latest/reference/services/redshift.html#Redshift.Client.describe_clusters)
---
cluster_identifier:
@@ -273,17 +270,19 @@
returned: success
type: list
sample: []
-'''
+"""
import re
try:
- from botocore.exceptions import BotoCoreError, ClientError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
def match_tags(tags_to_match, cluster):
diff --git a/redshift_subnet_group.py b/redshift_subnet_group.py
index 902cee75282..724c064cbe9 100644
--- a/redshift_subnet_group.py
+++ b/redshift_subnet_group.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
# Copyright 2014 Jens Carl, Hothead Games Inc.
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: redshift_subnet_group
version_added: 1.0.0
@@ -40,14 +37,14 @@
type: list
elements: str
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
author:
- "Jens Carl (@j-carl), Hothead Games Inc."
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: Create a Redshift subnet group
community.aws.redshift_subnet_group:
state: present
@@ -61,9 +58,9 @@
community.aws.redshift_subnet_group:
state: absent
group_name: redshift-subnet
-'''
+"""
-RETURN = r'''
+RETURN = r"""
cluster_subnet_group:
description: A dictionary containing information about the Redshift subnet group.
returned: success
@@ -92,7 +89,7 @@
sample:
- subnet-aaaaaaaa
- subnet-bbbbbbbb
-'''
+"""
try:
import botocore
@@ -101,10 +98,11 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
def get_subnet_group(name):
diff --git a/s3_bucket_info.py b/s3_bucket_info.py
index b4f72dd55a0..20995539c45 100644
--- a/s3_bucket_info.py
+++ b/s3_bucket_info.py
@@ -1,14 +1,10 @@
#!/usr/bin/python
-"""
-Copyright (c) 2017 Ansible Project
-GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-"""
+# -*- coding: utf-8 -*-
-from __future__ import absolute_import, division, print_function
-__metaclass__ = type
+# Copyright (c) 2017 Ansible Project
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: s3_bucket_info
version_added: 1.0.0
@@ -114,12 +110,12 @@
default: False
version_added: 1.4.0
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Note: Only AWS S3 is currently supported
@@ -157,9 +153,9 @@
- name: List buckets
ansible.builtin.debug:
msg: "{{ result['buckets'] }}"
-'''
+"""
-RETURN = '''
+RETURN = r"""
bucket_list:
description: "List of buckets"
returned: always
@@ -399,17 +395,19 @@
returned: always
type: str
sample: https
-'''
+"""
try:
import botocore
except ImportError:
pass # Handled by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
def get_bucket_list(module, connection, name="", name_filter=""):
diff --git a/s3_bucket_notification.py b/s3_bucket_notification.py
index fa0424b40c2..0a8109b2adb 100644
--- a/s3_bucket_notification.py
+++ b/s3_bucket_notification.py
@@ -1,15 +1,11 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
# Copyright: (c) 2021, Ansible Project
# (c) 2019, XLAB d.o.o
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: s3_bucket_notification
version_added: 1.0.0
@@ -104,12 +100,12 @@
type: str
default: ''
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
---
# Examples adding notification target configs to a S3 bucket
- name: Setup bucket event notification to a Lambda function
@@ -138,9 +134,9 @@
state: absent
event_name: on_file_add_or_remove
bucket_name: test-bucket
-'''
+"""
-RETURN = r'''
+RETURN = r"""
notification_configuration:
description: dictionary of currently applied notifications
returned: success
@@ -158,16 +154,18 @@
description:
- List of current SNS notification configurations applied to the bucket.
type: list
-'''
-
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
+"""
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # will be protected by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
class AmazonBucket:
def __init__(self, module, client):
diff --git a/s3_cors.py b/s3_cors.py
index e7dc16cbaa7..797c8cc5050 100644
--- a/s3_cors.py
+++ b/s3_cors.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: s3_cors
version_added: 1.0.0
@@ -36,12 +33,12 @@
choices: [ 'present', 'absent' ]
type: str
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Create a simple cors for s3 bucket
@@ -65,9 +62,9 @@
- community.aws.s3_cors:
name: mys3bucket
state: absent
-'''
+"""
-RETURN = r'''
+RETURN = r"""
changed:
description: check to see if a change was made to the rules
returned: always
@@ -96,15 +93,19 @@
"max_age_seconds": 30000
}
]
-'''
+"""
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # Handled by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.policy import compare_policies
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import snake_dict_to_camel_dict, compare_policies
def create_or_update_bucket_cors(connection, module):
diff --git a/s3_lifecycle.py b/s3_lifecycle.py
index 1bad5dbecf0..b01402ebdb5 100644
--- a/s3_lifecycle.py
+++ b/s3_lifecycle.py
@@ -1,19 +1,18 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: s3_lifecycle
version_added: 1.0.0
short_description: Manage S3 bucket lifecycle rules in AWS
description:
- - Manage S3 bucket lifecycle rules in AWS.
-author: "Rob White (@wimnat)"
+ - Manage S3 bucket lifecycle rules in AWS.
+author:
+ - "Rob White (@wimnat)"
notes:
- If specifying expiration time as days then transition time must also be specified in days.
- If specifying expiration time as a date then transition time must also be specified as a date.
@@ -149,13 +148,14 @@
type: bool
default: false
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-'''
+RETURN = r""" # """
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Configure a lifecycle rule on a bucket to expire (delete) items with a prefix of /logs/ after 30 days
@@ -219,7 +219,7 @@
storage_class: standard_ia
- transition_days: 90
storage_class: glacier
-'''
+"""
from copy import deepcopy
import datetime
@@ -227,6 +227,7 @@
try:
from dateutil import parser as date_parser
+
HAS_DATEUTIL = True
except ImportError:
HAS_DATEUTIL = False
@@ -236,11 +237,12 @@
except ImportError:
pass # handled by AnsibleAwsModule
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_message
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import normalize_boto3_result
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_message
-from ansible_collections.amazon.aws.plugins.module_utils.core import normalize_boto3_result
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
def parse_date(date):
diff --git a/s3_logging.py b/s3_logging.py
index 5e600582d9c..3db5fbf61e7 100644
--- a/s3_logging.py
+++ b/s3_logging.py
@@ -1,19 +1,18 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: s3_logging
version_added: 1.0.0
short_description: Manage logging facility of an s3 bucket in AWS
description:
- - Manage logging facility of an s3 bucket in AWS
-author: Rob White (@wimnat)
+ - Manage logging facility of an s3 bucket in AWS
+author:
+ - Rob White (@wimnat)
options:
name:
description:
@@ -36,13 +35,14 @@
default: ""
type: str
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-'''
+RETURN = r""" # """
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Enable logging of s3 bucket mywebsite.com to s3 bucket mylogs
@@ -57,18 +57,19 @@
name: mywebsite.com
state: absent
-'''
+"""
try:
import botocore
except ImportError:
pass # Handled by AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
def compare_bucket_logging(bucket_logging, target_bucket, target_prefix):
diff --git a/s3_metrics_configuration.py b/s3_metrics_configuration.py
index d4c73e55267..333bb98cb67 100644
--- a/s3_metrics_configuration.py
+++ b/s3_metrics_configuration.py
@@ -1,23 +1,22 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: s3_metrics_configuration
version_added: 1.3.0
short_description: Manage s3 bucket metrics configuration in AWS
description:
- - Manage s3 bucket metrics configuration in AWS which allows to get the CloudWatch request metrics for the objects in a bucket
-author: Dmytro Vorotyntsev (@vorotech)
+ - Manage s3 bucket metrics configuration in AWS which allows to get the CloudWatch request metrics for the objects in a bucket
+author:
+ - Dmytro Vorotyntsev (@vorotech)
notes:
- - This modules manages single metrics configuration, the s3 bucket might have up to 1,000 metrics configurations
- - To request metrics for the entire bucket, create a metrics configuration without a filter
- - Metrics configurations are necessary only to enable request metric, bucket-level daily storage metrics are always turned on
+ - This modules manages single metrics configuration, the s3 bucket might have up to 1,000 metrics configurations
+ - To request metrics for the entire bucket, create a metrics configuration without a filter
+ - Metrics configurations are necessary only to enable request metric, bucket-level daily storage metrics are always turned on
options:
bucket_name:
description:
@@ -48,13 +47,14 @@
choices: ['present', 'absent']
type: str
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-'''
+RETURN = r""" # """
-EXAMPLES = r'''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Create a metrics configuration that enables metrics for an entire bucket
@@ -94,17 +94,19 @@
id: EntireBucket
state: absent
-'''
+"""
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # Handled by AnsibleAWSModule
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_tag_list
def _create_metrics_configuration(mc_id, filter_prefix, filter_tags):
diff --git a/s3_sync.py b/s3_sync.py
index 19466f21f26..30a2e675f33 100644
--- a/s3_sync.py
+++ b/s3_sync.py
@@ -1,31 +1,17 @@
#!/usr/bin/python
-# This file is part of Ansible
-#
-# Ansible is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (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 .
-
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-
-DOCUMENTATION = '''
+# -*- coding: utf-8 -*-
+
+# Copyright: Contributors to the Ansible project
+# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
+
+DOCUMENTATION = r"""
---
module: s3_sync
version_added: 1.0.0
short_description: Efficiently upload multiple files to S3
description:
- - The S3 module is great, but it is very slow for a large volume of files- even a dozen will be noticeable. In addition to speed, it handles globbing,
- inclusions/exclusions, mime types, expiration mapping, recursion, cache control and smart directory mapping.
+- The S3 module is great, but it is very slow for a large volume of files- even a dozen will be noticeable. In addition to speed, it handles globbing,
+ inclusions/exclusions, mime types, expiration mapping, recursion, cache control and smart directory mapping.
options:
mode:
description:
@@ -127,15 +113,15 @@
default: false
type: bool
-author: Ted Timmons (@tedder)
+author:
+- Ted Timmons (@tedder)
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
+- amazon.aws.common.modules
+- amazon.aws.region.modules
- amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = '''
+EXAMPLES = r"""
- name: basic upload
community.aws.s3_sync:
bucket: tedder
@@ -166,9 +152,9 @@
storage_class: "GLACIER"
include: "*"
exclude: "*.txt,.*"
-'''
+"""
-RETURN = '''
+RETURN = r"""
filelist_initial:
description: file listing (dicts) from initial globbing
returned: always
@@ -241,7 +227,7 @@
"whytime": "1477931637 / 1477931489"
}]
-'''
+"""
import datetime
import fnmatch
@@ -251,6 +237,7 @@
try:
from dateutil import tz
+
HAS_DATEUTIL = True
except ImportError:
HAS_DATEUTIL = False
@@ -262,11 +249,10 @@
from ansible.module_utils._text import to_text
-# import module snippets
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
from ansible_collections.community.aws.plugins.module_utils.etag import calculate_multipart_etag
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
def gather_files(fileroot, include=None, exclude=None):
diff --git a/s3_website.py b/s3_website.py
index f5ba78bf746..b73da51a68c 100644
--- a/s3_website.py
+++ b/s3_website.py
@@ -1,19 +1,18 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: s3_website
version_added: 1.0.0
short_description: Configure an s3 bucket as a website
description:
- - Configure an s3 bucket as a website
-author: Rob White (@wimnat)
+ - Configure an s3 bucket as a website
+author:
+ - Rob White (@wimnat)
options:
name:
description:
@@ -44,13 +43,12 @@
type: str
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Configure an s3 bucket to redirect all requests to example.com
@@ -71,9 +69,9 @@
error_key: errors/404.htm
state: present
-'''
+"""
-RETURN = '''
+RETURN = r"""
index_document:
description: index document
type: complex
@@ -157,7 +155,7 @@
returned: when routing rule present
type: str
sample: documents/
-'''
+"""
import time
@@ -168,8 +166,9 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
def _create_redirect_dict(url):
diff --git a/secretsmanager_secret.py b/secretsmanager_secret.py
index 870ed89059e..4aea26ebfc2 100644
--- a/secretsmanager_secret.py
+++ b/secretsmanager_secret.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
# Copyright: (c) 2018, REY Remi
# 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
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: secretsmanager_secret
version_added: 1.0.0
@@ -107,16 +105,16 @@
- Specifies the number of days between automatic scheduled rotations of the secret.
default: 30
type: int
-extends_documentation_fragment:
- - amazon.aws.ec2
- - amazon.aws.aws
- - amazon.aws.boto3
- - amazon.aws.tags
notes:
- Support for I(purge_tags) was added in release 4.0.0.
-'''
+extends_documentation_fragment:
+ - amazon.aws.region.modules
+ - amazon.aws.common.modules
+ - amazon.aws.tags
+ - amazon.aws.boto3
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: Add string to AWS Secrets Manager
community.aws.secretsmanager_secret:
name: 'test_secret_string'
@@ -146,9 +144,9 @@
secret_type: 'string'
secret: "{{ lookup('community.general.random_string', length=16, special=false) }}"
overwrite: false
-'''
+"""
-RETURN = r'''
+RETURN = r"""
secret:
description: The secret information
returned: always
@@ -212,21 +210,28 @@
returned: when the secret has tags
example: {'MyTagName': 'Some Value'}
version_added: 4.0.0
-'''
+"""
-from ansible.module_utils._text import to_bytes
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import snake_dict_to_camel_dict, camel_dict_to_snake_dict
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import boto3_tag_list_to_ansible_dict, compare_aws_tags, ansible_dict_to_boto3_tag_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_policies
from traceback import format_exc
import json
try:
- from botocore.exceptions import BotoCoreError, ClientError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # handled by AnsibleAWSModule
+from ansible.module_utils._text import to_bytes
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+from ansible_collections.amazon.aws.plugins.module_utils.policy import compare_policies
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
class Secret(object):
"""An object representation of the Secret described by the self.module args"""
diff --git a/ses_identity.py b/ses_identity.py
index c68f3984c65..40ac0fc94a3 100644
--- a/ses_identity.py
+++ b/ses_identity.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: ses_identity
version_added: 1.0.0
@@ -88,12 +86,12 @@
type: 'bool'
default: True
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Ensure example@example.com email identity exists
@@ -147,9 +145,9 @@
state: present
delivery_notifications:
topic: "{{ topic_info.sns_arn }}"
-'''
+"""
-RETURN = '''
+RETURN = r"""
identity:
description: The identity being modified.
returned: success
@@ -217,19 +215,22 @@
headers_in_delivery_notifications_enabled:
description: Whether or not headers are included in messages delivered to the delivery topic.
type: bool
-'''
-
-from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
+"""
import time
try:
- from botocore.exceptions import BotoCoreError, ClientError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def get_verification_attributes(connection, module, identity, retries=0, retryDelay=10):
# Unpredictably get_identity_verification_attributes doesn't include the identity even when we've
diff --git a/ses_identity_policy.py b/ses_identity_policy.py
index 4aae1e933a9..ed558307df5 100644
--- a/ses_identity_policy.py
+++ b/ses_identity_policy.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: ses_identity_policy
version_added: 1.0.0
@@ -41,12 +39,12 @@
choices: [ 'present', 'absent' ]
type: str
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: add sending authorization policy to domain identity
@@ -75,26 +73,29 @@
identity: example.com
policy_name: ExamplePolicy
state: absent
-'''
+"""
-RETURN = '''
+RETURN = r"""
policies:
description: A list of all policies present on the identity after the operation.
returned: success
type: list
sample: [ExamplePolicy]
-'''
-
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_policies, AWSRetry
+"""
import json
try:
- from botocore.exceptions import BotoCoreError, ClientError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible_collections.amazon.aws.plugins.module_utils.policy import compare_policies
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def get_identity_policy(connection, module, identity, policy_name):
try:
diff --git a/ses_rule_set.py b/ses_rule_set.py
index 8dd85dfe35b..72730b1b28f 100644
--- a/ses_rule_set.py
+++ b/ses_rule_set.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017, Ben Tomasik
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: ses_rule_set
version_added: 1.0.0
@@ -46,12 +44,12 @@
required: False
default: False
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = """
+EXAMPLES = r"""
# Note: None of these examples set aws_access_key, aws_secret_key, or region.
# It is assumed that their matching environment variables are set.
---
@@ -84,7 +82,7 @@
force: true
"""
-RETURN = """
+RETURN = r"""
active:
description: if the SES rule set is active
returned: success if I(state) is C(present)
@@ -100,14 +98,18 @@
}]
"""
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict, AWSRetry
-
try:
- from botocore.exceptions import BotoCoreError, ClientError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # handled by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def list_rule_sets(client, module):
try:
diff --git a/sns.py b/sns.py
index 798bf555318..6f4338954f8 100644
--- a/sns.py
+++ b/sns.py
@@ -4,11 +4,7 @@
# Copyright: (c) 2014, Michael J. Schultz
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
module: sns
short_description: Send Amazon Simple Notification Service messages
version_added: 1.0.0
@@ -79,12 +75,12 @@
choices: ['json', 'string']
type: str
extends_documentation_fragment:
-- amazon.aws.ec2
-- amazon.aws.aws
-- amazon.aws.boto3
-'''
+ - amazon.aws.region.modules
+ - amazon.aws.common.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = """
+EXAMPLES = r"""
- name: Send default notification message via SNS
community.aws.sns:
msg: '{{ inventory_hostname }} has completed the play.'
@@ -114,7 +110,7 @@
delegate_to: localhost
"""
-RETURN = """
+RETURN = r"""
msg:
description: Human-readable diagnostic information
returned: always
@@ -130,13 +126,15 @@
import json
try:
- from botocore.exceptions import BotoCoreError, ClientError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # Handled by AnsibleAWSModule
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
from ansible_collections.community.aws.plugins.module_utils.sns import topic_arn_lookup
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def main():
protocols = [
diff --git a/sns_topic.py b/sns_topic.py
index bcaf44a8840..03b3338350c 100644
--- a/sns_topic.py
+++ b/sns_topic.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
module: sns_topic
short_description: Manages AWS SNS topics and subscriptions
version_added: 1.0.0
@@ -163,7 +160,7 @@
- amazon.aws.region.modules
- amazon.aws.tags.modules
- amazon.aws.boto3
-'''
+"""
EXAMPLES = r"""
@@ -216,7 +213,7 @@
state: absent
"""
-RETURN = r'''
+RETURN = r"""
sns_arn:
description: The ARN of the topic you are modifying
type: str
@@ -332,7 +329,7 @@
returned: always
type: bool
sample: false
-'''
+"""
import json
@@ -341,10 +338,11 @@
except ImportError:
pass # handled by AnsibleAWSModule
+from ansible_collections.amazon.aws.plugins.module_utils.transformation import scrub_none_parameters
+from ansible_collections.amazon.aws.plugins.module_utils.policy import compare_policies
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import scrub_none_parameters
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_policies
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_tag_list
from ansible_collections.community.aws.plugins.module_utils.sns import list_topics
from ansible_collections.community.aws.plugins.module_utils.sns import topic_arn_lookup
from ansible_collections.community.aws.plugins.module_utils.sns import compare_delivery_policies
diff --git a/sns_topic_info.py b/sns_topic_info.py
index 6ff85ddd247..2fcde33e94c 100644
--- a/sns_topic_info.py
+++ b/sns_topic_info.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
module: sns_topic_info
short_description: sns_topic_info module
version_added: 3.2.0
@@ -21,12 +18,12 @@
required: false
type: str
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
+- amazon.aws.common.modules
+- amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: list all the topics
community.aws.sns_topic_info:
register: sns_topic_list
@@ -35,9 +32,9 @@
community.aws.sns_topic_info:
topic_arn: "{{ sns_arn }}"
register: sns_topic_info
-'''
+"""
-RETURN = r'''
+RETURN = r"""
result:
description:
- The result contaning the details of one or all AWS SNS topics.
@@ -132,7 +129,7 @@
description: The type of topic.
type: str
sample: "standard"
-'''
+"""
try:
@@ -140,11 +137,12 @@
except ImportError:
pass # handled by AnsibleAWSModule
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
from ansible_collections.community.aws.plugins.module_utils.sns import list_topics
from ansible_collections.community.aws.plugins.module_utils.sns import get_info
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def main():
argument_spec = dict(
diff --git a/sqs_queue.py b/sqs_queue.py
index b9cb0fa0f80..4a23f18871b 100644
--- a/sqs_queue.py
+++ b/sqs_queue.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
---
module: sqs_queue
version_added: 1.0.0
@@ -104,13 +102,13 @@
- Enables content-based deduplication. Used for FIFOs only.
- Defaults to C(false).
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.tags
-'''
+ - amazon.aws.boto3
+"""
-RETURN = r'''
+RETURN = r"""
content_based_deduplication:
description: Enables content-based deduplication. Used for FIFOs only.
type: bool
@@ -186,9 +184,9 @@
type: dict
returned: always
sample: '{"Env": "prod"}'
-'''
+"""
-EXAMPLES = r'''
+EXAMPLES = r"""
- name: Create SQS queue with redrive policy
community.aws.sqs_queue:
name: my-queue
@@ -258,7 +256,7 @@
name: my-queue
region: ap-southeast-2
state: absent
-'''
+"""
import json
@@ -270,11 +268,12 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.policy import compare_policies
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_aws_tags
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_policies
def get_queue_name(module, is_fifo=False):
diff --git a/ssm_parameter.py b/ssm_parameter.py
index d654d45ecf5..493d2b294c4 100644
--- a/ssm_parameter.py
+++ b/ssm_parameter.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: (c) 2017, Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: ssm_parameter
version_added: 1.0.0
@@ -86,18 +84,17 @@
- "Bill Wang (@ozbillwang) "
- "Michael De La Rue (@mikedlr)"
-extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
- - amazon.aws.tags
-
notes:
- Support for I(tags) and I(purge_tags) was added in release 5.3.0.
-'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.tags
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Create or update key/value pair in AWS SSM parameter store
community.aws.ssm_parameter:
name: "Hello"
@@ -165,9 +162,9 @@
community.aws.ssm_parameter:
name: "Hello"
tags: {}
-'''
+"""
-RETURN = '''
+RETURN = r"""
parameter_metadata:
type: dict
description:
@@ -242,26 +239,28 @@
returned: when the parameter has tags
example: {'MyTagName': 'Some Value'}
version_added: 5.3.0
-'''
+"""
import time
try:
import botocore
- from botocore.exceptions import BotoCoreError, ClientError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # Handled by AnsibleAWSModule
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.community.aws.plugins.module_utils.base import BaseWaiterFactory
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+from ansible_collections.community.aws.plugins.module_utils.base import BaseWaiterFactory
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
class ParameterWaiterFactory(BaseWaiterFactory):
def __init__(self, module):
diff --git a/stepfunctions_state_machine.py b/stepfunctions_state_machine.py
index 8bab4f7fecd..0f4b3ec1397 100644
--- a/stepfunctions_state_machine.py
+++ b/stepfunctions_state_machine.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2019, Tom De Keyser (@tdekeyser)
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: stepfunctions_state_machine
version_added: 1.0.0
@@ -44,16 +41,17 @@
choices: [ present, absent ]
type: str
-extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
- - amazon.aws.tags
author:
- Tom De Keyser (@tdekeyser)
-'''
-EXAMPLES = '''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.tags
+ - amazon.aws.boto3
+"""
+
+EXAMPLES = r"""
# Create a new AWS Step Functions state machine
- name: Setup HelloWorld state machine
community.aws.stepfunctions_state_machine:
@@ -77,27 +75,28 @@
community.aws.stepfunctions_state_machine:
name: HelloWorldStateMachine
state: absent
-'''
+"""
-RETURN = '''
+RETURN = r"""
state_machine_arn:
description: ARN of the AWS Step Functions state machine
type: str
returned: always
-'''
-
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import (ansible_dict_to_boto3_tag_list,
- AWSRetry,
- compare_aws_tags,
- boto3_tag_list_to_ansible_dict,
- )
+"""
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import boto3_tag_list_to_ansible_dict
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import compare_aws_tags
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def manage_state_machine(state, sfn_client, module):
state_machine_arn = get_state_machine_arn(sfn_client, module)
diff --git a/stepfunctions_state_machine_execution.py b/stepfunctions_state_machine_execution.py
index 17273f8146c..0b6858fbf42 100644
--- a/stepfunctions_state_machine_execution.py
+++ b/stepfunctions_state_machine_execution.py
@@ -1,13 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2019, Prasad Katti (@prasadkatti)
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: stepfunctions_state_machine_execution
version_added: 1.0.0
@@ -47,16 +44,16 @@
type: str
default: ''
-extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
-
author:
- Prasad Katti (@prasadkatti)
-'''
-EXAMPLES = '''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
+
+EXAMPLES = r"""
- name: Start an execution of a state machine
community.aws.stepfunctions_state_machine_execution:
name: an_execution_name
@@ -69,9 +66,9 @@
execution_arn: "arn:aws:states:us-west-2:123456789012:execution:HelloWorldStateMachineCopy:a1e8e2b5-5dfe-d40e-d9e3-6201061047c8"
cause: "cause of task failure"
error: "error code of the failure"
-'''
+"""
-RETURN = '''
+RETURN = r"""
execution_arn:
description: ARN of the AWS Step Functions state machine execution.
type: str
@@ -87,7 +84,7 @@
type: str
returned: if action == stop
sample: "2019-11-02T22:39:49.071000-07:00"
-'''
+"""
try:
@@ -97,8 +94,9 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
def start_execution(module, sfn_client):
diff --git a/storagegateway_info.py b/storagegateway_info.py
index 252c13f87ca..854d1cbb0d8 100644
--- a/storagegateway_info.py
+++ b/storagegateway_info.py
@@ -1,14 +1,12 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: (c) 2018, Loic BLOT (@nerzhul)
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
# This module is sponsored by E.T.A.I. (www.etai.fr)
-from __future__ import (absolute_import, division, print_function)
-__metaclass__ = type
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: storagegateway_info
version_added: 1.0.0
@@ -45,12 +43,12 @@
required: false
default: true
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-RETURN = '''
+RETURN = r"""
gateways:
description: list of gateway objects
returned: always
@@ -161,9 +159,9 @@
returned: always
type: str
sample: "present"
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: "Get AWS storage gateway information"
@@ -172,16 +170,18 @@
- name: "Get AWS storage gateway information for region eu-west-3"
community.aws.aws_sgw_info:
region: eu-west-3
-'''
-
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
+"""
try:
- from botocore.exceptions import BotoCoreError, ClientError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
class SGWInformationManager(object):
def __init__(self, client, module):
diff --git a/sts_assume_role.py b/sts_assume_role.py
index fe29cd3c62a..c53bfa9c978 100644
--- a/sts_assume_role.py
+++ b/sts_assume_role.py
@@ -1,21 +1,19 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: sts_assume_role
version_added: 1.0.0
short_description: Assume a role using AWS Security Token Service and obtain temporary credentials
description:
- - Assume a role using AWS Security Token Service and obtain temporary credentials.
+ - Assume a role using AWS Security Token Service and obtain temporary credentials.
author:
- - Boris Ekelchik (@bekelchik)
- - Marek Piatek (@piontas)
+ - Boris Ekelchik (@bekelchik)
+ - Marek Piatek (@piontas)
options:
role_arn:
description:
@@ -53,12 +51,12 @@
notes:
- In order to use the assumed role in a following playbook task you must pass the access_key, access_secret and access_token.
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-RETURN = '''
+RETURN = r"""
sts_creds:
description: The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token
returned: always
@@ -79,9 +77,9 @@
description: True if obtaining the credentials succeeds
type: bool
returned: always
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# Assume an existing role (more details: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)
@@ -100,16 +98,18 @@
tags:
MyNewTag: value
-'''
-
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
+"""
try:
- from botocore.exceptions import ClientError, ParamValidationError
+ from botocore.exceptions import ClientError
+ from botocore.exceptions import ParamValidationError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
def _parse_response(response):
credentials = response.get('Credentials', {})
diff --git a/sts_session_token.py b/sts_session_token.py
index 77e89f79687..c780097be61 100644
--- a/sts_session_token.py
+++ b/sts_session_token.py
@@ -1,19 +1,18 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: sts_session_token
version_added: 1.0.0
short_description: Obtain a session token from the AWS Security Token Service
description:
- - Obtain a session token from the AWS Security Token Service.
-author: Victor Costan (@pwnall)
+ - Obtain a session token from the AWS Security Token Service.
+author:
+ - Victor Costan (@pwnall)
options:
duration_seconds:
description:
@@ -32,12 +31,12 @@
notes:
- In order to use the session token in a following playbook task you must pass the I(access_key), I(access_secret) and I(access_token).
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-RETURN = """
+RETURN = r"""
sts_creds:
description: The Credentials object returned by the AWS Security Token Service
returned: always
@@ -54,7 +53,7 @@
"""
-EXAMPLES = '''
+EXAMPLES = r"""
# Note: These examples do not set authentication details, see the AWS Guide for details.
# (more details: https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html)
@@ -73,7 +72,7 @@
tags:
MyNewTag: value
-'''
+"""
try:
import botocore
diff --git a/waf_condition.py b/waf_condition.py
index 2f9f16d116a..6e1911323c9 100644
--- a/waf_condition.py
+++ b/waf_condition.py
@@ -1,13 +1,11 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Will Thames
# Copyright (c) 2015 Mike Mochan
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
module: waf_condition
short_description: Create and delete WAF Conditions
version_added: 1.0.0
@@ -20,10 +18,6 @@
author:
- Will Thames (@willthames)
- Mike Mochan (@mmochan)
-extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
options:
name:
@@ -137,9 +131,14 @@
- absent
default: present
type: str
-'''
-EXAMPLES = r'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
+
+EXAMPLES = r"""
- name: create WAF byte condition
community.aws.waf_condition:
name: my_byte_condition
@@ -205,9 +204,9 @@
transformation: url_decode
type: xss
-'''
+"""
-RETURN = r'''
+RETURN = r"""
condition:
description: Condition returned by operation.
returned: always
@@ -397,7 +396,7 @@
description: transformation applied to the text before matching.
type: str
sample: URL_DECODE
-'''
+"""
try:
import botocore
@@ -406,16 +405,17 @@
from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.core import is_boto3_error_code
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import AWSRetry
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import compare_policies
+from ansible_collections.amazon.aws.plugins.module_utils.botocore import is_boto3_error_code
+from ansible_collections.amazon.aws.plugins.module_utils.policy import compare_policies
+from ansible_collections.amazon.aws.plugins.module_utils.retries import AWSRetry
from ansible_collections.amazon.aws.plugins.module_utils.waf import MATCH_LOOKUP
from ansible_collections.amazon.aws.plugins.module_utils.waf import run_func_with_change_token_backoff
from ansible_collections.amazon.aws.plugins.module_utils.waf import get_rule_with_backoff
from ansible_collections.amazon.aws.plugins.module_utils.waf import list_regional_rules_with_backoff
from ansible_collections.amazon.aws.plugins.module_utils.waf import list_rules_with_backoff
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+
class Condition(object):
diff --git a/waf_info.py b/waf_info.py
index a69d9793348..37a8c2bd025 100644
--- a/waf_info.py
+++ b/waf_info.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
module: waf_info
short_description: Retrieve information for WAF ACLs, Rules, Conditions and Filters
version_added: 1.0.0
@@ -29,12 +27,12 @@
- Mike Mochan (@mmochan)
- Will Thames (@willthames)
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
-'''
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: obtain all WAF information
community.aws.waf_info:
@@ -46,9 +44,9 @@
community.aws.waf_info:
name: test_waf
waf_regional: true
-'''
+"""
-RETURN = '''
+RETURN = r"""
wafs:
description: The WAFs that match the passed arguments.
returned: success
@@ -114,10 +112,12 @@
"type": "ByteMatch"
}
]
-'''
+"""
+
+from ansible_collections.amazon.aws.plugins.module_utils.waf import get_web_acl
+from ansible_collections.amazon.aws.plugins.module_utils.waf import list_web_acls
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.waf import list_web_acls, get_web_acl
def main():
diff --git a/waf_rule.py b/waf_rule.py
index 116ba87ceb9..54129dafc12 100644
--- a/waf_rule.py
+++ b/waf_rule.py
@@ -1,13 +1,11 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Will Thames
# Copyright (c) 2015 Mike Mochan
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
module: waf_rule
short_description: Create and delete WAF Rules
version_added: 1.0.0
@@ -20,10 +18,6 @@
author:
- Mike Mochan (@mmochan)
- Will Thames (@willthames)
-extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
options:
name:
@@ -71,9 +65,14 @@
default: false
required: false
type: bool
-'''
-EXAMPLES = r'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
+
+EXAMPLES = r"""
- name: create WAF rule
community.aws.waf_rule:
name: my_waf_rule
@@ -92,9 +91,9 @@
community.aws.waf_rule:
name: "my_waf_rule"
state: absent
-'''
+"""
-RETURN = r'''
+RETURN = r"""
rule:
description: WAF rule contents
returned: always
@@ -135,7 +134,7 @@
returned: always
type: str
sample: 15de0cbc-9204-4e1f-90e6-69b2f415c261
-'''
+"""
import re
@@ -144,17 +143,17 @@
except ImportError:
pass # handled by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.waf import MATCH_LOOKUP
+from ansible_collections.amazon.aws.plugins.module_utils.waf import list_regional_rules_with_backoff
+from ansible_collections.amazon.aws.plugins.module_utils.waf import list_rules_with_backoff
+from ansible_collections.amazon.aws.plugins.module_utils.waf import run_func_with_change_token_backoff
+from ansible_collections.amazon.aws.plugins.module_utils.waf import get_web_acl_with_backoff
+from ansible_collections.amazon.aws.plugins.module_utils.waf import list_web_acls_with_backoff
+from ansible_collections.amazon.aws.plugins.module_utils.waf import list_regional_web_acls_with_backoff
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
-from ansible_collections.amazon.aws.plugins.module_utils.waf import (
- MATCH_LOOKUP,
- list_regional_rules_with_backoff,
- list_rules_with_backoff,
- run_func_with_change_token_backoff,
- get_web_acl_with_backoff,
- list_web_acls_with_backoff,
- list_regional_web_acls_with_backoff,
-)
def get_rule_by_name(client, module, name):
diff --git a/waf_web_acl.py b/waf_web_acl.py
index a6f84aa23db..dc35308e833 100644
--- a/waf_web_acl.py
+++ b/waf_web_acl.py
@@ -1,12 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright (c) 2017 Ansible Project
# 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
-
-
-DOCUMENTATION = r'''
+DOCUMENTATION = r"""
module: waf_web_acl
short_description: Create and delete WAF Web ACLs
version_added: 1.0.0
@@ -19,10 +17,6 @@
author:
- Mike Mochan (@mmochan)
- Will Thames (@willthames)
-extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
options:
name:
@@ -85,9 +79,14 @@
default: false
required: false
type: bool
-'''
-EXAMPLES = r'''
+extends_documentation_fragment:
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
+
+EXAMPLES = r"""
- name: create web ACL
community.aws.waf_web_acl:
name: my_web_acl
@@ -103,9 +102,9 @@
community.aws.waf_web_acl:
name: my_web_acl
state: absent
-'''
+"""
-RETURN = r'''
+RETURN = r"""
web_acl:
description: contents of the Web ACL.
returned: always
@@ -158,25 +157,25 @@
returned: always
type: str
sample: 10fff965-4b6b-46e2-9d78-24f6d2e2d21c
-'''
+"""
+
+import re
try:
import botocore
except ImportError:
pass # handled by AnsibleAWSModule
-import re
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
-from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
from ansible_collections.amazon.aws.plugins.module_utils.waiters import get_waiter
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
-from ansible_collections.amazon.aws.plugins.module_utils.waf import (
- list_regional_rules_with_backoff,
- list_regional_web_acls_with_backoff,
- list_rules_with_backoff,
- list_web_acls_with_backoff,
- run_func_with_change_token_backoff,
-)
+
+from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
+from ansible_collections.amazon.aws.plugins.module_utils.waf import list_regional_rules_with_backoff
+from ansible_collections.amazon.aws.plugins.module_utils.waf import list_regional_web_acls_with_backoff
+from ansible_collections.amazon.aws.plugins.module_utils.waf import list_rules_with_backoff
+from ansible_collections.amazon.aws.plugins.module_utils.waf import list_web_acls_with_backoff
+from ansible_collections.amazon.aws.plugins.module_utils.waf import run_func_with_change_token_backoff
def get_web_acl_by_name(client, module, name):
diff --git a/wafv2_ip_set.py b/wafv2_ip_set.py
index 83375c89002..961c9325b31 100644
--- a/wafv2_ip_set.py
+++ b/wafv2_ip_set.py
@@ -1,11 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: wafv2_ip_set
version_added: 1.5.0
@@ -63,14 +62,13 @@
- Support for I(purge_tags) was added in release 4.0.0.
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
- - amazon.aws.boto3
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.tags
+ - amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = '''
+EXAMPLES = r"""
- name: test ip set
wafv2_ip_set:
name: test02
@@ -84,9 +82,9 @@
tags:
A: B
C: D
-'''
+"""
-RETURN = """
+RETURN = r"""
addresses:
description: Current addresses of the ip set
sample:
@@ -117,13 +115,16 @@
"""
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_tag_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
from ansible_collections.community.aws.plugins.module_utils.wafv2 import describe_wafv2_tags
from ansible_collections.community.aws.plugins.module_utils.wafv2 import ensure_wafv2_tags
diff --git a/wafv2_ip_set_info.py b/wafv2_ip_set_info.py
index e800ed0b499..4e0d4feb538 100644
--- a/wafv2_ip_set_info.py
+++ b/wafv2_ip_set_info.py
@@ -1,11 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: wafv2_ip_set_info
version_added: 1.5.0
@@ -28,20 +27,19 @@
type: str
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: test ip set
wafv2_ip_set_info:
name: test02
scope: REGIONAL
-'''
+"""
-RETURN = """
+RETURN = r"""
addresses:
description: Current addresses of the ip set
sample:
@@ -72,12 +70,14 @@
"""
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
from ansible_collections.community.aws.plugins.module_utils.wafv2 import describe_wafv2_tags
diff --git a/wafv2_resources.py b/wafv2_resources.py
index db59b91197b..552a2de03bd 100644
--- a/wafv2_resources.py
+++ b/wafv2_resources.py
@@ -1,11 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: wafv2_resources
version_added: 1.5.0
@@ -37,22 +36,21 @@
required: true
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: add test alb to waf string03
community.aws.wafv2_resources:
name: string03
scope: REGIONAL
state: present
arn: "arn:aws:elasticloadbalancing:eu-central-1:111111111:loadbalancer/app/test03/dd83ea041ba6f933"
-'''
+"""
-RETURN = """
+RETURN = r"""
resource_arns:
description: Current resources where the wafv2 is applied on
sample:
@@ -62,12 +60,14 @@
"""
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
from ansible_collections.community.aws.plugins.module_utils.wafv2 import wafv2_list_web_acls
diff --git a/wafv2_resources_info.py b/wafv2_resources_info.py
index 4833d7657f1..f9c5c3c08c2 100644
--- a/wafv2_resources_info.py
+++ b/wafv2_resources_info.py
@@ -1,11 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: wafv2_resources_info
version_added: 1.5.0
@@ -28,20 +27,19 @@
type: str
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.boto3
-
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: get web acl
community.aws.wafv2_resources_info:
name: string03
scope: REGIONAL
-'''
+"""
-RETURN = """
+RETURN = r"""
resource_arns:
description: Current resources where the wafv2 is applied on
sample:
@@ -51,12 +49,14 @@
"""
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
from ansible_collections.community.aws.plugins.module_utils.wafv2 import wafv2_list_web_acls
diff --git a/wafv2_rule_group.py b/wafv2_rule_group.py
index e2751b9b438..60cc60a131f 100644
--- a/wafv2_rule_group.py
+++ b/wafv2_rule_group.py
@@ -1,11 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: wafv2_rule_group
version_added: 1.5.0
@@ -67,14 +66,13 @@
type: bool
extends_documentation_fragment:
-- amazon.aws.aws
-- amazon.aws.ec2
-- amazon.aws.tags
-- amazon.aws.boto3
-
-'''
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
+ - amazon.aws.tags
+ - amazon.aws.boto3
+"""
-EXAMPLES = '''
+EXAMPLES = r"""
- name: change description
community.aws.wafv2_rule_group:
name: test02
@@ -150,9 +148,9 @@
A: B
C: D
register: out
-'''
+"""
-RETURN = """
+RETURN = r"""
arn:
description: Rule group arn
sample: arn:aws:wafv2:eu-central-1:11111111:regional/rulegroup/test02/6e90c01a-e4eb-43e5-b6aa-b1604cedf7d7
@@ -200,19 +198,22 @@
"""
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_tag_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import snake_dict_to_camel_dict
from ansible_collections.community.aws.plugins.module_utils.wafv2 import compare_priority_rules
-from ansible_collections.community.aws.plugins.module_utils.wafv2 import wafv2_list_rule_groups
-from ansible_collections.community.aws.plugins.module_utils.wafv2 import wafv2_snake_dict_to_camel_dict
from ansible_collections.community.aws.plugins.module_utils.wafv2 import describe_wafv2_tags
from ansible_collections.community.aws.plugins.module_utils.wafv2 import ensure_wafv2_tags
+from ansible_collections.community.aws.plugins.module_utils.wafv2 import wafv2_list_rule_groups
+from ansible_collections.community.aws.plugins.module_utils.wafv2 import wafv2_snake_dict_to_camel_dict
class RuleGroup:
diff --git a/wafv2_rule_group_info.py b/wafv2_rule_group_info.py
index b59d4d613f4..c95b74f81c7 100644
--- a/wafv2_rule_group_info.py
+++ b/wafv2_rule_group_info.py
@@ -1,11 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: wafv2_rule_group_info
version_added: 1.5.0
@@ -28,20 +27,19 @@
type: str
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = '''
+EXAMPLES = r"""
- name: rule group info
community.aws.wafv2_rule_group_info:
name: test02
scope: REGIONAL
-'''
+"""
-RETURN = """
+RETURN = r"""
arn:
description: Rule group arn
sample: arn:aws:wafv2:eu-central-1:11111111:regional/rulegroup/test02/6e90c01a-e4eb-43e5-b6aa-b1604cedf7d7
@@ -89,14 +87,16 @@
"""
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
-from ansible_collections.community.aws.plugins.module_utils.wafv2 import wafv2_list_rule_groups
from ansible_collections.community.aws.plugins.module_utils.wafv2 import describe_wafv2_tags
+from ansible_collections.community.aws.plugins.module_utils.wafv2 import wafv2_list_rule_groups
def get_rule_group(wafv2, name, scope, id, fail_json_aws):
diff --git a/wafv2_web_acl.py b/wafv2_web_acl.py
index e5770cd7439..3b7fd8daa16 100644
--- a/wafv2_web_acl.py
+++ b/wafv2_web_acl.py
@@ -1,11 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: wafv2_web_acl
version_added: 1.5.0
@@ -102,14 +101,13 @@
- Support for the I(purge_tags) parameter was added in release 4.0.0.
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.tags
- amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = '''
+EXAMPLES = r"""
- name: Create test web acl
community.aws.wafv2_web_acl:
name: test05
@@ -250,9 +248,9 @@
region: us-east-1
state: present
-'''
+"""
-RETURN = """
+RETURN = r"""
arn:
description: web acl arn
sample: arn:aws:wafv2:eu-central-1:123456789012:regional/webacl/test05/318c1ab9-fa74-4b3b-a974-f92e25106f61
@@ -315,14 +313,17 @@
"""
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+from ansible.module_utils.common.dict_transformations import snake_dict_to_camel_dict
+
+from ansible_collections.amazon.aws.plugins.module_utils.tagging import ansible_dict_to_boto3_tag_list
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import ansible_dict_to_boto3_tag_list
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import snake_dict_to_camel_dict
from ansible_collections.community.aws.plugins.module_utils.wafv2 import compare_priority_rules
from ansible_collections.community.aws.plugins.module_utils.wafv2 import describe_wafv2_tags
from ansible_collections.community.aws.plugins.module_utils.wafv2 import ensure_wafv2_tags
diff --git a/wafv2_web_acl_info.py b/wafv2_web_acl_info.py
index 649cf10b884..8fe00f66a1a 100644
--- a/wafv2_web_acl_info.py
+++ b/wafv2_web_acl_info.py
@@ -1,11 +1,10 @@
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
# Copyright: Ansible Project
# 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
-
-DOCUMENTATION = '''
+DOCUMENTATION = r"""
---
module: wafv2_web_acl_info
version_added: 1.5.0
@@ -28,21 +27,20 @@
type: str
extends_documentation_fragment:
- - amazon.aws.aws
- - amazon.aws.ec2
+ - amazon.aws.common.modules
+ - amazon.aws.region.modules
- amazon.aws.boto3
+"""
-'''
-
-EXAMPLES = '''
+EXAMPLES = r"""
- name: get web acl
community.aws.wafv2_web_acl_info:
name: test05
scope: REGIONAL
register: out
-'''
+"""
-RETURN = """
+RETURN = r"""
arn:
description: web acl arn
sample: arn:aws:wafv2:eu-central-1:11111111:regional/webacl/test05/318c1ab9-fa74-4b3b-a974-f92e25106f61
@@ -91,12 +89,14 @@
"""
try:
- from botocore.exceptions import ClientError, BotoCoreError
+ from botocore.exceptions import BotoCoreError
+ from botocore.exceptions import ClientError
except ImportError:
pass # caught by AnsibleAWSModule
+from ansible.module_utils.common.dict_transformations import camel_dict_to_snake_dict
+
from ansible_collections.community.aws.plugins.module_utils.modules import AnsibleCommunityAWSModule as AnsibleAWSModule
-from ansible_collections.amazon.aws.plugins.module_utils.ec2 import camel_dict_to_snake_dict
from ansible_collections.community.aws.plugins.module_utils.wafv2 import describe_wafv2_tags
from ansible_collections.community.aws.plugins.module_utils.wafv2 import wafv2_list_web_acls