--- - name: Create identity role openstack.cloud.identity_role: cloud: "{{ cloud }}" state: present name: ansible_role description: "ansible role" register: role - name: Assert return values of identity_role module assert: that: - role.role.name == 'ansible_role' - role.role.description == "ansible role" # allow new fields to be introduced but prevent fields from being removed - expected_fields|difference(role.role.keys())|length == 0 - name: Try to get role openstack.cloud.identity_role_info: cloud: "{{ cloud }}" name: ansible_role register: roles - name: Assert role found assert: that: - roles.roles | length == 1 - roles.roles.0.name == 'ansible_role' - name: Fetch all roles openstack.cloud.identity_role_info: cloud: "{{ cloud }}" register: roles - name: Assert return values of identity_role_info module assert: that: - roles.roles | length > 0 # allow new fields to be introduced but prevent fields from being removed - expected_fields|difference(roles.roles.0.keys())|length == 0 - name: Create identity role again openstack.cloud.identity_role: cloud: "{{ cloud }}" state: present name: ansible_role description: "ansible role" register: role - name: Assert role did not change assert: that: - role is not changed - name: Delete identity role openstack.cloud.identity_role: cloud: "{{ cloud }}" state: absent name: ansible_role register: role - name: Assert role changed assert: that: - role is changed - name: Try to get role openstack.cloud.identity_role_info: cloud: "{{ cloud }}" name: ansible_role register: roles - name: Assert no role found assert: that: - roles.roles | length == 0 - name: Delete role again openstack.cloud.identity_role: cloud: "{{ cloud }}" state: absent name: ansible_role register: role - name: Assert role did not change assert: that: - role is not changed