--- - block: - name: set up aws connection info set_fact: aws_connection_info: &aws_connection_info aws_access_key: "{{ aws_access_key }}" aws_secret_key: "{{ aws_secret_key }}" security_token: "{{ security_token }}" region: "{{ aws_region }}" no_log: yes - name: Ensure the resource doesn't exist rds_instance: id: "{{ instance_id }}" state: absent skip_final_snapshot: True <<: *aws_connection_info register: result - assert: that: - not result.changed ignore_errors: yes - name: Check Mode - Create a mariadb instance rds_instance: id: "{{ instance_id }}" state: present engine: mariadb username: "{{ username }}" password: "{{ password }}" db_instance_class: "{{ db_instance_class }}" allocated_storage: "{{ allocated_storage }}" <<: *aws_connection_info register: result check_mode: yes - assert: that: - result.changed - name: Create a mariadb instance rds_instance: id: "{{ instance_id }}" state: present engine: mariadb username: "{{ username }}" password: "{{ password }}" db_instance_class: "{{ db_instance_class }}" allocated_storage: "{{ allocated_storage }}" <<: *aws_connection_info register: result - assert: that: - result.changed - "result.db_instance_identifier == '{{ instance_id }}'" - name: Idempotence rds_instance: id: '{{ instance_id }}' state: present engine: mariadb username: "{{ username }}" password: "{{ password }}" db_instance_class: "{{ db_instance_class }}" allocated_storage: "{{ allocated_storage }}" <<: *aws_connection_info register: result - assert: that: - not result.changed - result.db_instance_identifier - name: Idempotence with minimal options rds_instance: id: '{{ instance_id }}' state: present <<: *aws_connection_info register: result - assert: that: - not result.changed - result.db_instance_identifier - name: Check Mode - stop the instance rds_instance: id: '{{ instance_id }}' state: stopped <<: *aws_connection_info register: result check_mode: yes - assert: that: - result.changed - name: Stop the instance rds_instance: id: '{{ instance_id }}' state: stopped <<: *aws_connection_info register: result - assert: that: - result.changed - name: Check Mode - idempotence rds_instance: id: '{{ instance_id }}' state: stopped <<: *aws_connection_info register: result check_mode: yes - assert: that: - not result.changed - name: Idempotence rds_instance: id: '{{ instance_id }}' state: stopped <<: *aws_connection_info register: result - assert: that: - not result.changed - name: Check mode - reboot a stopped instance rds_instance: id: '{{ instance_id }}' state: rebooted <<: *aws_connection_info register: result check_mode: yes - assert: that: - result.changed - name: Reboot a stopped instance rds_instance: id: '{{ instance_id }}' state: rebooted <<: *aws_connection_info register: result - assert: that: - result.changed - name: Check Mode - start the instance rds_instance: id: '{{ instance_id }}' state: started <<: *aws_connection_info register: result check_mode: yes - assert: that: - not result.changed - name: Stop the instance rds_instance: id: '{{ instance_id }}' state: stopped <<: *aws_connection_info - name: Start the instance rds_instance: id: '{{ instance_id }}' state: started <<: *aws_connection_info register: result - assert: that: - result.changed always: - name: Remove DB instance rds_instance: id: '{{ instance_id }}' state: absent skip_final_snapshot: True <<: *aws_connection_info register: result - assert: that: - result.changed