--- - 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: Create minimal aurora cluster in default VPC and default subnet group rds_cluster: state: present engine: aurora cluster_id: "{{ cluster_id }}" username: "{{ username }}" password: "{{ password }}" <<: *aws_connection_info - name: Create an Aurora instance rds_instance: id: "{{ instance_id }}" cluster_id: "{{ cluster_id }}" engine: aurora state: present db_instance_class: "{{ aurora_db_instance_class }}" tags: CreatedBy: rds_instance integration tests <<: *aws_connection_info register: result - assert: that: - result.changed - "result.db_instance_identifier == '{{ instance_id }}'" - "result.tags | length == 1" - name: Modify tags rds_instance: id: "{{ instance_id }}" state: present tags: Test: rds_instance <<: *aws_connection_info register: result - assert: that: - result.changed - result.tags | length == 1 - "result.tags.Test == 'rds_instance'" - name: Test idempotence rds_instance: id: "{{ instance_id }}" state: present <<: *aws_connection_info register: result - assert: that: - not result.changed - name: Attempt to modify password (a cluster-managed attribute) rds_instance: id: "{{ instance_id }}" state: present password: "{{ password }}" force_update_password: True apply_immediately: True <<: *aws_connection_info register: result ignore_errors: yes - assert: that: - result.failed - "'Modify master user password for the DB Cluster using the ModifyDbCluster API' in result.msg" - "'Please see rds_cluster' in result.msg" - name: Modify aurora instance port (a cluster-managed attribute) rds_instance: id: "{{ instance_id }}" state: present port: 1150 <<: *aws_connection_info register: result ignore_errors: yes - assert: that: - not result.changed - "'Modify database endpoint port number for the DB Cluster using the ModifyDbCluster API' in result.msg" - "'Please see rds_cluster' in result.msg" - name: Modify Aurora instance identifier rds_instance: id: "{{ instance_id }}" state: present purge_tags: False new_id: "{{ modified_instance_id }}" apply_immediately: True <<: *aws_connection_info register: result - assert: that: - result.changed - "result.db_instance_identifier == '{{ modified_instance_id }}'" always: - name: Delete the instance rds_instance: id: "{{ item }}" state: absent skip_final_snapshot: True <<: *aws_connection_info loop: - "{{ instance_id }}" - "{{ modified_instance_id }}" ignore_errors: yes - name: Delete the cluster rds_cluster: cluster_id: "{{ cluster_id }}" state: absent skip_final_snapshot: True <<: *aws_connection_info ignore_errors: yes