diff --git a/changelogs/fragments/1823-cloudfront_distribution_always_created_enabled.yml b/changelogs/fragments/1823-cloudfront_distribution_always_created_enabled.yml new file mode 100644 index 00000000000..473245dacca --- /dev/null +++ b/changelogs/fragments/1823-cloudfront_distribution_always_created_enabled.yml @@ -0,0 +1,2 @@ +bugfixes: + - cloudfront_distribution - now honours the ``enabled`` setting (https://github.com/ansible-collections/community.aws/issues/1823). diff --git a/plugins/modules/cloudfront_distribution.py b/plugins/modules/cloudfront_distribution.py index 40bc15dac35..26cdc02336d 100644 --- a/plugins/modules/cloudfront_distribution.py +++ b/plugins/modules/cloudfront_distribution.py @@ -2218,7 +2218,7 @@ def validate_common_distribution_parameters( config["aliases"] = ansible_list_to_cloudfront_list(aliases) if logging is not None: config["logging"] = self.validate_logging(logging) - config["enabled"] = enabled or config.get("enabled", self.__default_distribution_enabled) + config["enabled"] = enabled if enabled is not None else config.get("enabled", self.__default_distribution_enabled) if price_class is not None: self.validate_attribute_with_allowed_values(price_class, "price_class", self.__valid_price_classes) config["price_class"] = price_class diff --git a/tests/integration/targets/cloudfront_distribution/tasks/main.yml b/tests/integration/targets/cloudfront_distribution/tasks/main.yml index 729e5a7a0a8..b03bac73120 100644 --- a/tests/integration/targets/cloudfront_distribution/tasks/main.yml +++ b/tests/integration/targets/cloudfront_distribution/tasks/main.yml @@ -25,6 +25,12 @@ - set_fact: distribution_id: '{{ cf_distribution.id }}' + - name: ensure that default value of 'enabled' is 'true' + assert: + that: + - cf_distribution.changed + - cf_distribution.enabled + - name: ensure that default value of 'ipv6_enabled' is 'false' assert: that: @@ -359,8 +365,9 @@ wait: true state: absent - - name: create cloudfront distribution with tags + - name: create cloudfront distribution with tags and as disabled cloudfront_distribution: + enabled: false origins: - domain_name: "{{ resource_prefix }}2.example.com" id: "{{ resource_prefix }}2.example.com" @@ -373,6 +380,12 @@ - set_fact: distribution_id: '{{ cf_second_distribution.id }}' + - name: ensure that the value of 'enabled' is 'false' + assert: + that: + - cf_second_distribution.changed + - not cf_second_distribution.enabled + - name: ensure tags were set on creation assert: that: