--- - name: setup instance cs_instance: name: "{{ cs_resource_prefix }}-vm-snapshot-policy" template: "{{ cs_common_template }}" service_offering: "{{ cs_common_service_offering }}" zone: "{{ cs_common_zone_adv }}" register: instance - name: verify setup instance assert: that: - instance|success - name: setup snapshot policy absent cs_snapshot_policy: vm: "{{ cs_resource_prefix }}-vm-snapshot-policy" interval_type: hourly state: absent register: snapshot - name: verify setup snapshot policy absent assert: that: - snapshot|success - name: create snapshot policy in check mode cs_snapshot_policy: vm: "{{ cs_resource_prefix }}-vm-snapshot-policy" interval_type: hourly schedule: 5 check_mode: true register: snapshot - name: verify create snapshot policy in check mode assert: that: - snapshot|changed - name: create snapshot policy cs_snapshot_policy: vm: "{{ cs_resource_prefix }}-vm-snapshot-policy" interval_type: hourly schedule: 5 register: snapshot - name: verify create snapshot policy assert: that: - snapshot|changed - snapshot.schedule == "5" - snapshot.interval_type == "hourly" - snapshot.volume != "" - name: create snapshot policy idempotence cs_snapshot_policy: vm: "{{ cs_resource_prefix }}-vm-snapshot-policy" interval_type: hourly schedule: 5 register: snapshot - name: verify create snapshot policy idempotence assert: that: - not snapshot|changed - snapshot.schedule == "5" - snapshot.interval_type == "hourly" - snapshot.volume != "" - name: update snapshot policy cs_snapshot_policy: vm: "{{ cs_resource_prefix }}-vm-snapshot-policy" interval_type: hourly schedule: 6 check_mode: true register: snapshot - name: verify update snapshot policy assert: that: - snapshot|changed - snapshot.schedule == "5" - snapshot.interval_type == "hourly" - snapshot.volume != "" - name: update snapshot policy in check mode cs_snapshot_policy: vm: "{{ cs_resource_prefix }}-vm-snapshot-policy" interval_type: hourly schedule: 6 max_snaps: 3 time_zone: "Europe/Zurich" check_mode: true register: snapshot - name: verify update snapshot policy in check mode assert: that: - snapshot|changed - snapshot.schedule == "5" - snapshot.interval_type == "hourly" - snapshot.volume != "" - snapshot.max_snaps == 8 - snapshot.time_zone == "UTC" - name: update snapshot policy cs_snapshot_policy: vm: "{{ cs_resource_prefix }}-vm-snapshot-policy" interval_type: hourly schedule: 6 max_snaps: 3 time_zone: "Europe/Zurich" register: snapshot - name: verify update snapshot policy assert: that: - snapshot|changed - snapshot.schedule == "6" - snapshot.interval_type == "hourly" - snapshot.volume != "" - snapshot.max_snaps == 3 - snapshot.time_zone == "Europe/Zurich" - name: update snapshot policy idempotence cs_snapshot_policy: vm: "{{ cs_resource_prefix }}-vm-snapshot-policy" interval_type: hourly schedule: 6 max_snaps: 3 time_zone: "Europe/Zurich" register: snapshot - name: verify update snapshot policy idempotence assert: that: - not snapshot|changed - snapshot.schedule == "6" - snapshot.interval_type == "hourly" - snapshot.volume != "" - snapshot.max_snaps == 3 - snapshot.time_zone == "Europe/Zurich" - name: remove snapshot policy in check mode cs_snapshot_policy: vm: "{{ cs_resource_prefix }}-vm-snapshot-policy" interval_type: hourly state: absent check_mode: true register: snapshot - name: verify remove snapshot policy in check mode assert: that: - snapshot|changed - snapshot.schedule == "6" - snapshot.interval_type == "hourly" - snapshot.volume != "" - snapshot.max_snaps == 3 - snapshot.time_zone == "Europe/Zurich" - name: remove snapshot policy cs_snapshot_policy: vm: "{{ cs_resource_prefix }}-vm-snapshot-policy" interval_type: hourly state: absent register: snapshot - name: verify remove snapshot policy assert: that: - snapshot|changed - snapshot.schedule == "6" - snapshot.interval_type == "hourly" - snapshot.volume != "" - snapshot.max_snaps == 3 - snapshot.time_zone == "Europe/Zurich" - name: remove snapshot policy idempotence cs_snapshot_policy: vm: "{{ cs_resource_prefix }}-vm-snapshot-policy" interval_type: hourly state: absent register: snapshot - name: verify remove snapshot policy idempotence assert: that: - not snapshot|changed