-
Notifications
You must be signed in to change notification settings - Fork 398
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'dev-eks_fargate_profile' of https://github.com/tjarra/c…
…ommunity.aws into dev-eks_fargate_profile
- Loading branch information
Showing
136 changed files
with
5,656 additions
and
5,524 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
minor_changes: | ||
- wafv2_web_acl - Extended the wafv2_web_acl module to also take the ``custom_response_bodies`` argument (https://github.com/ansible-collections/community.aws/pull/721). | ||
- wafv2_web_acl - Documentation updates wafv2_web_acl and aws_waf_web_acl (https://github.com/ansible-collections/community.aws/pull/721). |
2 changes: 2 additions & 0 deletions
2
changelogs/fragments/790-ec2_lc-add-throughput-param-support.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
minor_changes: | ||
- ec2_lc - add support for throughput parameter (https://github.com/ansible-collections/community.aws/pull/790). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
minor_changes: | ||
- elb_instance - `wait` parameter is no longer ignored (https://github.com/ansible-collections/community.aws/pull/826) |
2 changes: 2 additions & 0 deletions
2
changelogs/fragments/843-add_aws_secret_resource_policy_support.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
minor_changes: | ||
- aws_secret - Add ``resource_policy`` parameter (https://github.com/ansible-collections/community.aws/pull/843). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
bugfixes: | ||
- execute_lambda - Wait for Lambda function State = Active before executing (https://github.com/ansible-collections/community.aws/pull/857) | ||
- lambda - Wait for Lambda function State = Active & LastUpdateStatus = Successful before updating (https://github.com/ansible-collections/community.aws/pull/857) |
3 changes: 3 additions & 0 deletions
3
changelogs/fragments/865-add-backoff-retry-logic-route53_zone.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
bugfixes: | ||
- Add backoff retry logic to route53_zone (https://github.com/ansible-collections/community.aws/pull/865). | ||
- Add backoff retry logic to route53_info (https://github.com/ansible-collections/community.aws/pull/865). |
2 changes: 2 additions & 0 deletions
2
changelogs/fragments/872-ec2_placement_group_partition_strategy.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
minor_changes: | ||
- ec2_placement_group - add support for partition strategy and partition count (https://github.com/ansible-collections/community.aws/pull/872). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
bugfixes: | ||
- rds_instance - Fix updates of ``iops`` or ``allocated_storage`` for ``io1`` DB instances when only one value is changing (https://github.com/ansible-collections/community.aws/pull/878). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
minor_changes: | ||
- dynamodb_table - the ``table_class`` parameter has been added (https://github.com/ansible-collections/community.aws/pull/880). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
bugfixes: | ||
- cloudfront_distribution - Dont pass ``s3_origin_access_identity_enabled`` to API request (https://github.com/ansible-collections/community.aws/pull/881). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
minor_changes: | ||
- iam_managed_policy - refactor module adding ``check_mode`` and better AWSRetry backoff logic (https://github.com/ansible-collections/community.aws/pull/893). |
3 changes: 3 additions & 0 deletions
3
changelogs/fragments/894-add-check_mode-elb_application_lb.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
minor_changes: | ||
- elb_application_lb - add check_mode support and refactor integration tests (https://github.com/ansible-collections/community.aws/pull/894) | ||
- elb_application_lb_info - update documentation and refactor integration tests (https://github.com/ansible-collections/community.aws/pull/894) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
breaking_changes: | ||
- script_inventory_ec2 - The ec2.py inventory script has been moved to a new repository. | ||
The script can now be downloaded from https://github.com/ansible-community/contrib-scripts/blob/main/inventory/ec2.py and has been removed from this collection. | ||
We recommend migrating from the script to the amazon.aws.ec2 inventory plugin. (https://github.com/ansible-collections/community.aws/pull/898) | ||
- community.aws collection - The ``community.aws`` collection has now dropped support for and any requirements upon the original ``boto`` AWS SDK, and now uses the ``boto3``/``botocore`` AWS SDK | ||
(https://github.com/ansible-collections/community.aws/pull/898). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
minor_changes: | ||
- elb_target_group - add support for parameter ``deregistration_connection_termination`` (https://github.com/ansible-collections/community.aws/pull/913). |
2 changes: 2 additions & 0 deletions
2
changelogs/fragments/917-add-launch-template-metadata-parameters.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
minor_changes: | ||
- ec2_launch_template - Add metadata options parameter ``http_protocol_ipv6`` and ``instance_metadata_tags`` (https://github.com/ansible-collections/community.aws/pull/917). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
minor_changes: | ||
- ec2_eip - refactor module by fixing check_mode and more clear return obj. added integration tests (https://github.com/ansible-collections/community.aws/pull/936) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
from __future__ import (absolute_import, division, print_function) | ||
__metaclass__ = type | ||
|
||
import re | ||
import copy | ||
|
||
try: | ||
import botocore | ||
except ImportError: | ||
pass # handled by 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 camel_dict_to_snake_dict | ||
|
||
|
||
@AWSRetry.jittered_backoff() | ||
def _list_topics_with_backoff(client): | ||
paginator = client.get_paginator('list_topics') | ||
return paginator.paginate().build_full_result()['Topics'] | ||
|
||
|
||
@AWSRetry.jittered_backoff(catch_extra_error_codes=['NotFound']) | ||
def _list_topic_subscriptions_with_backoff(client, topic_arn): | ||
paginator = client.get_paginator('list_subscriptions_by_topic') | ||
return paginator.paginate(TopicArn=topic_arn).build_full_result()['Subscriptions'] | ||
|
||
|
||
@AWSRetry.jittered_backoff(catch_extra_error_codes=['NotFound']) | ||
def _list_subscriptions_with_backoff(client): | ||
paginator = client.get_paginator('list_subscriptions') | ||
return paginator.paginate().build_full_result()['Subscriptions'] | ||
|
||
|
||
def list_topic_subscriptions(client, module, topic_arn): | ||
try: | ||
return _list_topic_subscriptions_with_backoff(client, topic_arn) | ||
except is_boto3_error_code('AuthorizationError'): | ||
try: | ||
# potentially AuthorizationError when listing subscriptions for third party topic | ||
return [sub for sub in _list_subscriptions_with_backoff(client) | ||
if sub['TopicArn'] == topic_arn] | ||
except (botocore.exceptions.ClientError, botocore.exceptions.BotoCoreError) as e: | ||
module.fail_json_aws(e, msg="Couldn't get subscriptions list for topic %s" % topic_arn) | ||
except (botocore.exceptions.ClientError, botocore.exceptions.BotoCoreError) as e: # pylint: disable=duplicate-except | ||
module.fail_json_aws(e, msg="Couldn't get subscriptions list for topic %s" % topic_arn) | ||
|
||
|
||
def list_topics(client, module): | ||
try: | ||
topics = _list_topics_with_backoff(client) | ||
except (botocore.exceptions.ClientError, botocore.exceptions.BotoCoreError) as e: | ||
module.fail_json_aws(e, msg="Couldn't get topic list") | ||
return [t['TopicArn'] for t in topics] | ||
|
||
|
||
def topic_arn_lookup(client, module, name): | ||
# topic names cannot have colons, so this captures the full topic name | ||
all_topics = list_topics(client, module) | ||
lookup_topic = ':%s' % name | ||
for topic in all_topics: | ||
if topic.endswith(lookup_topic): | ||
return topic | ||
|
||
|
||
def compare_delivery_policies(policy_a, policy_b): | ||
_policy_a = copy.deepcopy(policy_a) | ||
_policy_b = copy.deepcopy(policy_b) | ||
# AWS automatically injects disableSubscriptionOverrides if you set an | ||
# http policy | ||
if 'http' in policy_a: | ||
if 'disableSubscriptionOverrides' not in policy_a['http']: | ||
_policy_a['http']['disableSubscriptionOverrides'] = False | ||
if 'http' in policy_b: | ||
if 'disableSubscriptionOverrides' not in policy_b['http']: | ||
_policy_b['http']['disableSubscriptionOverrides'] = False | ||
comparison = (_policy_a != _policy_b) | ||
return comparison | ||
|
||
|
||
def canonicalize_endpoint(protocol, endpoint): | ||
# AWS SNS expects phone numbers in | ||
# and canonicalizes to E.164 format | ||
# See <https://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html> | ||
if protocol == 'sms': | ||
return re.sub('[^0-9+]*', '', endpoint) | ||
return endpoint | ||
|
||
|
||
def get_info(connection, module, topic_arn): | ||
name = module.params.get('name') | ||
topic_type = module.params.get('topic_type') | ||
state = module.params.get('state') | ||
subscriptions = module.params.get('subscriptions') | ||
purge_subscriptions = module.params.get('purge_subscriptions') | ||
subscriptions_existing = module.params.get('subscriptions_existing', []) | ||
subscriptions_deleted = module.params.get('subscriptions_deleted', []) | ||
subscriptions_added = module.params.get('subscriptions_added', []) | ||
subscriptions_added = module.params.get('subscriptions_added', []) | ||
topic_created = module.params.get('topic_created', False) | ||
topic_deleted = module.params.get('topic_deleted', False) | ||
attributes_set = module.params.get('attributes_set', []) | ||
check_mode = module.check_mode | ||
|
||
info = { | ||
'name': name, | ||
'topic_type': topic_type, | ||
'state': state, | ||
'subscriptions_new': subscriptions, | ||
'subscriptions_existing': subscriptions_existing, | ||
'subscriptions_deleted': subscriptions_deleted, | ||
'subscriptions_added': subscriptions_added, | ||
'subscriptions_purge': purge_subscriptions, | ||
'check_mode': check_mode, | ||
'topic_created': topic_created, | ||
'topic_deleted': topic_deleted, | ||
'attributes_set': attributes_set, | ||
} | ||
if state != 'absent': | ||
if topic_arn in list_topics(connection, module): | ||
info.update(camel_dict_to_snake_dict(connection.get_topic_attributes(TopicArn=topic_arn)['Attributes'])) | ||
info['delivery_policy'] = info.pop('effective_delivery_policy') | ||
info['subscriptions'] = [camel_dict_to_snake_dict(sub) for sub in list_topic_subscriptions(connection, module, topic_arn)] | ||
|
||
return info |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.