You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/azure_rm_iothub/tasks/main.yml

173 lines
4.0 KiB
YAML

- set_fact:
rpfx: "{{ resource_group | hash('md5') | truncate(8, True, '') }}"
- name: Create IoT Hub (check mode)
azure_rm_iothub:
name: "hub{{ rpfx }}"
resource_group: "{{ resource_group }}"
ip_filters:
- name: filter1
action: reject
ip_mask: 40.60.80.10
check_mode: yes
register: iothub
- assert:
that:
- iothub.changed
- name: Query IoT Hub
azure_rm_iothub_info:
name: "hub{{ rpfx }}"
resource_group: "{{ resource_group }}"
register: iothub
ignore_errors: yes
- name: Create IoT Hub
azure_rm_iothub:
name: "hub{{ rpfx }}"
resource_group: "{{ resource_group }}"
ip_filters:
- name: filter1
action: reject
ip_mask: 40.60.80.10
register: iothub
- assert:
that:
- iothub.changed
- name: Create IoT Hub (idempontent)
azure_rm_iothub:
name: "hub{{ rpfx }}"
resource_group: "{{ resource_group }}"
ip_filters:
- name: filter1
action: reject
ip_mask: 40.60.80.10
register: iothub
- assert:
that:
- not iothub.changed
- name: Query IoT Hub
azure_rm_iothub_info:
name: "hub{{ rpfx }}"
resource_group: "{{ resource_group }}"
list_keys: yes
register: iothub
- assert:
that:
- iothub.iothubs | length == 1
- set_fact:
registry_write_name: "{{ item.key_name }}"
registry_write_key: "{{ item.primary_key }}"
with_items: "{{ iothub.iothubs[0]['keys'] }}"
when: item.rights == 'RegistryWrite, ServiceConnect, DeviceConnect'
- name: Create devices
azure_rm_iotdevice:
hub: "hub{{ rpfx }}"
hub_policy_name: "{{ registry_write_name }}"
hub_policy_key: "{{ registry_write_key }}"
name: "mydevice{{ item }}"
twin_tags:
location:
country: US
city: Redmond
sensor: humidity
with_items:
- 1
- 2
- name: Query devices
azure_rm_iotdevice_info:
hub: "hub{{ rpfx }}"
hub_policy_name: "{{ registry_write_name }}"
hub_policy_key: "{{ registry_write_key }}"
register: devices
- assert:
that:
- devices.iot_devices | length == 2
- name: Query devices
azure_rm_iotdevice_info:
hub: "hub{{ rpfx }}"
name: "mydevice1"
hub_policy_name: "{{ registry_write_name }}"
hub_policy_key: "{{ registry_write_key }}"
register: devices
- assert:
that:
- devices.iot_devices | length == 1
- devices.iot_devices[0].deviceId == 'mydevice1'
- name: Query devices twin
azure_rm_iotdevice_info:
hub: "hub{{ rpfx }}"
query: "SELECT * FROM devices WHERE tags.location.country = 'US'"
hub_policy_name: "{{ registry_write_name }}"
hub_policy_key: "{{ registry_write_key }}"
register: devices
- assert:
that:
- devices.iot_devices | length == 2
- name: Update devices
azure_rm_iotdevice:
hub: "hub{{ rpfx }}"
hub_policy_name: "{{ registry_write_name }}"
hub_policy_key: "{{ registry_write_key }}"
name: "mydevice{{ item }}"
edge_enabled: yes
twin_tags:
location:
country: China
city: Shanghai
sensor: humidity
with_items:
- 1
- 3
- name: Query devices twin
azure_rm_iotdevice_info:
hub: "hub{{ rpfx }}"
query: "SELECT * FROM devices WHERE tags.location.country = 'US'"
hub_policy_name: "{{ registry_write_name }}"
hub_policy_key: "{{ registry_write_key }}"
register: devices
- assert:
that:
- devices.iot_devices | length == 1
- devices.iot_devices[0].deviceId == 'mydevice2'
- name: Delete IoT Hub (check mode)
azure_rm_iothub:
name: "hub{{ rpfx }}"
resource_group: "{{ resource_group }}"
state: absent
check_mode: yes
register: iothub
- assert:
that:
- iothub.changed
- name: Delete IoT Hub
azure_rm_iothub:
name: "hub{{ rpfx }}"
resource_group: "{{ resource_group }}"
state: absent
register: iothub
- assert:
that:
- iothub.changed