-
Bug
-
Resolution: Done
-
Undefined
-
Unspecified
-
False
-
-
False
-
-
https://github.com/ansible-collections/amazon.aws/issues/1952
-
-
- Summary
-
The `backup_plan` module is not idempotent on botocore >= 1.31.36. This is because timezone customization support was added for rules (https://github.com/boto/boto3/blob/86426e872033d2d03e083fa53848e53d099ebcde/CHANGELOG.rst#L1112). The `ScheduleExpressionTimezone` field is always returned when describing a backup plan and defaults to `Etc/UTC`.
-
-
- Issue Type
-
Bug Report
-
-
- Component Name
-
backup_plan
-
-
- Ansible Version
-
```console (paste below)
$ ansible --version
ansible [core 2.17.0.dev0] (milestone 5812cabaf5) last updated 2023/11/29 15:10:13 (GMT -400)
config file = None
configured module search path = ['/home/mgraves/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /home/mgraves/git/ansible/lib/ansible
ansible collection location = /home/mgraves/git:/home/mgraves/.ansible/collections
executable location = /home/mgraves/git/ansible/bin/ansible
python version = 3.10.2 (main, Feb 22 2022, 13:57:33) [GCC 10.2.1 20210110] (/home/mgraves/git/ansible/venv-3.10/bin/python)
jinja version = 3.1.2
libyaml = True
```
-
-
- Collection Versions
-
```console (paste below)
$ ansible-galaxy collection list
amazon.aws 8.0.0-dev0
```
-
-
- AWS SDK versions
-
```console (paste below)
$ pip show boto boto3 botocore
Name: boto3
Version: 1.28.35
Summary: The AWS SDK for Python
Home-page: https://github.com/boto/boto3
Author: Amazon Web Services
Author-email:
License: Apache License 2.0
Location: /home/mgraves/git/ansible/venv-3.10/lib/python3.10/site-packages
Requires: botocore, jmespath, s3transfer
Required-by:
—
Name: botocore
Version: 1.31.36
Summary: Low-level, data-driven core of boto 3.
Home-page: https://github.com/boto/botocore
Author: Amazon Web Services
Author-email:
License: Apache License 2.0
Location: /home/mgraves/git/ansible/venv-3.10/lib/python3.10/site-packages
Requires: jmespath, python-dateutil, urllib3
Required-by: boto3, s3transfer
```
-
-
- Configuration
-
No response
-
-
- OS / Environment
-
No response
-
-
- Steps to Reproduce
-
<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
- hosts: localhost
gather_facts: false
vars:
backup_vault_name: "mgraves-test-backup-vault"
backup_plan_name: "mgraves-test-backup-plan"
tasks: - name: Create a backup vault for the plan to target
amazon.aws.backup_vault:
backup_vault_name: "{{ backup_vault_name }}"
- name: Create a backup plan
amazon.aws.backup_plan:
backup_plan_name: "{{ backup_plan_name }}"
rules: - rule_name: daily
target_backup_vault_name: "{{ backup_vault_name }}"
tags:
Environment: Test
- name: Create the same backup plan
amazon.aws.backup_plan:
backup_plan_name: "{{ backup_plan_name }}"
rules: - rule_name: daily
target_backup_vault_name: "{{ backup_vault_name }}"
tags:
Environment: Test
```
-
-
- Expected Results
-
The second task creating a backup plan should not show changed.
-
-
- Actual Results
-
The second task creating a backup plan shows that it changed.
-
-
- Code of Conduct
-
- [X] I agree to follow the Ansible Code of Conduct