azure.azcollection.azure_rm_iotdevice – Управление устройством Azure IoT Hub
Примечание
Этот плагин является частью коллекции azure.azcollection (версия 1.3.1).
Для его установки используйте: ansible-galaxy collection install azure.azcollection.
Чтобы использовать его в плейбуке, укажите: azure.azcollection.azure_rm_iotdevice.
Введено в версии 0.1.2: of azure.azcollection
Описание
- Создание и удаление устройства Azure IoT Hub.
Требования
Ниже перечислены требования, которые должны быть выполнены на хосте, на котором выполняется этот модуль.
- python >= 2.7
- azure >= 2.0.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| ad_user строка | Имя пользователя Active Directory. Используется при аутентификации с пользователем Active Directory, а не с сервисным принципалом. | |
| adfs_authority_url строка добавлен в 0.0.1 of azure.azcollection | URL авторизации Azure AD. Используется при аутентификации с именем пользователя/паролем и собственной авторизацией ADFS. | |
| api_profile строка добавлен в 0.0.1 of azure.azcollection | По умолчанию: "latest" | Выбирает профиль API для взаимодействия с Azure-сервисами. Значение по умолчанию latest подходит для общедоступных облаков; будущие значения позволят использовать Azure Stack. |
| append_tags логическое |
| Управляет тем, является ли поле тегов каноническим или оно просто добавляется к существующим тегам. При каноническом значении теги, отсутствующие в параметре тегов, будут удалены из метаданных объекта. |
| auth_method строка |
| Тип авторизации, с которой будет создаваться сущность. |
| auth_source строка добавлен в 0.0.1 of azure.azcollection |
| Управляет источником учетных данных для аутентификации. Также может быть задан через переменную среды ANSIBLE_AZURE_AUTH_SOURCE.При значении auto (по умолчанию) приоритет имеет: параметры модуля -> env -> credential_file -> cli.При значении env, учетные данные будут читаться из переменных среды.При значении credential_file, профиль будет читаться из ~/.azure/credentials.При значении cli, учетные данные будут взяты из профиля Azure CLI. subscription_id или переменная среды AZURE_SUBSCRIPTION_ID могут использоваться для определения идентификатора подписки, если их несколько; в противном случае используется подписка по умолчанию Azure CLI.При значении msi, хост-машина должна быть Azure-ресурсом с включенным расширением MSI. subscription_id или переменная среды AZURE_SUBSCRIPTION_ID могут использоваться для определения идентификатора подписки, если ресурсу предоставлен доступ к нескольким подпискам, иначе выбирается первая подписка.Параметр msi был добавлен в Ansible 2.6. |
| cert_validation_mode строка добавлен в 0.0.1 of azure.azcollection |
| Управляет поведением проверки сертификатов для Azure-эндпоинтов. По умолчанию все модули проверяют сертификат сервера, но при использовании HTTPS-прокси или с Azure Stack может потребоваться отключить эту функцию, передав ignore. Также может быть задано через профиль файла учетных данных или переменную среды AZURE_CERT_VALIDATION. |
| client_id строка | Идентификатор клиента Azure. Используется при аутентификации с сервисным принципалом. | |
| cloud_environment строка добавлен в 0.0.1 of azure.azcollection | По умолчанию: "AzureCloud" | Для облачных сред, отличных от общедоступного облака США, используется имя среды (как определено в Azure Python SDK, например, AzureChinaCloud, AzureUSGovernment) или URL-адрес конечной точки обнаружения метаданных (требуется для Azure Stack). Также может быть задано через профиль файла учетных данных или переменную среды AZURE_CLOUD_ENVIRONMENT. |
| desired словарь | Используется вместе с отчётными свойствами для синхронизации конфигурации или состояния устройства. Тег может быть вложенным словарем, '.', '$', '#', ' ' не допускаются в ключе. Список не поддерживается. Не поддерживается в IoT Hub с базовым тарифом. | |
| edge_enabled логическое |
| Флаг, указывающий на включение функции edge. Не поддерживается в IoT Hub с базовым тарифом. |
| hub строка / обязательно | Имя IoT Hub. | |
| hub_policy_key строка / обязательно | Ключ политики hub_policy_name. | |
| hub_policy_name строка / обязательно | Имя политики IoT Hub, которая будет использоваться для запроса из IoT Hub. Эта политика должна иметь права «RegistryWrite, ServiceConnect, DeviceConnect». При отсутствии любых из этих прав может возникнуть ошибка 401. | |
| name строка / обязательно | Имя идентификатора устройства IoT hub. | |
| password строка | Пароль пользователя Active Directory. Используется при аутентификации с пользователем Active Directory, а не с сервисным принципалом. | |
| primary_key строка | Явный отпечаток самозаверяющегося сертификата для использования с первичным ключом. Явный общий закрытый ключ для использования с первичным ключом. псевдонимы: primary_thumbprint | |
| profile строка | Профиль безопасности, найденный в файле ~/.azure/credentials. | |
| secondary_key строка | Явный отпечаток самозаверяющегося сертификата для использования со вторичным ключом. Явный общий закрытый ключ для использования со вторичным ключом. псевдонимы: secondary_thumbprint | |
| secret строка | Секрет клиента Azure. Используется при аутентификации с сервисным принципалом. | |
| state строка |
| Состояние IoT hub. Используйте present для создания или обновления устройства IoT hub и absent для удаления устройства IoT hub. |
| status логическое |
| Установите состояние устройства при создании. |
| subscription_id строка | Ваш идентификатор подписки Azure. | |
| tags словарь | Словарь пар «строка:строка» для назначения метаданных объекту. Метаданные теги объекта будут обновлены любыми предоставленными значениями. Для удаления тегов установите опцию append_tags в значение false. | |
| tenant строка | Идентификатор Azure-аренды. Используется при аутентификации с сервисным принципалом. | |
| twin_tags словарь | Секция, которую бэкенд решения может читать и записывать. Теги не видны приложениям устройств. Тег может быть вложенным словарем, '.', '$', '#', ' ' не допускаются в ключе. Список не поддерживается. Не поддерживается в IoT Hub с базовым тарифом. |
Примечания
Примечание
- Для аутентификации с Azure вы можете передать параметры, установить переменные среды, использовать профиль, хранящийся в ~/.azure/credentials, или войти в систему перед запуском задач или плейбука с помощью
az login. - Аутентификация также возможна с использованием сервисного принципала или пользователя Active Directory.
- Для аутентификации через сервисный принцип передайте subscription_id, client_id, secret и tenant или установите переменные среды AZURE_SUBSCRIPTION_ID, AZURE_CLIENT_ID, AZURE_SECRET и AZURE_TENANT.
- Для аутентификации через пользователя Active Directory передайте ad_user и password или установите AZURE_AD_USER и AZURE_PASSWORD в среде.
- В качестве альтернативы учетные данные можно сохранить в ~/.azure/credentials. Это ini-файл, содержащий раздел [default] и следующие ключи: subscription_id, client_id, secret и tenant или subscription_id, ad_user и password. Также можно добавить дополнительные профили. Укажите профиль, передав profile или установив AZURE_PROFILE в среде.
См. также
См. также
- Вход с помощью Azure CLI
-
Как войти в систему с помощью команды
az login.
Примеры
- name: Create simplest Azure IoT Hub device
azure_rm_iotdevice:
hub: myHub
name: Testing
hub_policy_name: iothubowner
hub_policy_key: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
- name: Create Azure IoT Edge device
azure_rm_iotdevice:
hub: myHub
name: Testing
hub_policy_name: iothubowner
hub_policy_key: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
edge_enabled: yes
- name: Create Azure IoT Hub device with device twin properties and tag
azure_rm_iotdevice:
hub: myHub
name: Testing
hub_policy_name: iothubowner
hub_policy_key: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
twin_tags:
location:
country: US
city: Redmond
sensor: humidity
desired:
period: 100
Значения возврата
Общие значения возврата документированы здесь, ниже приведены поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| device словарь | всегда | Устройство IoT Hub. Пример: {'authentication': {'symmetricKey': {'primaryKey': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'secondaryKey': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'}, 'type': 'sas', 'x509Thumbprint': {'primaryThumbprint': None, 'secondaryThumbprint': None}}, 'capabilities': {'iotEdge': False}, 'changed': True, 'cloudToDeviceMessageCount': 0, 'connectionState': 'Отключено', 'connectionStateUpdatedTime': '0001-01-01T00:00:00', 'deviceId': 'Тестирование', 'etag': 'NzA2NjU2ODc=', 'failed': False, 'generationId': '636903014505613307', 'lastActivityTime': '0001-01-01T00:00:00', 'modules': [{'authentication': {'symmetricKey': {'primaryKey': 'XXXXXXXXXXXXXXXXXXX', 'secondaryKey': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'}, 'type': 'sas', 'x509Thumbprint': {'primaryThumbprint': None, 'secondaryThumbprint': None}}, 'cloudToDeviceMessageCount': 0, 'connectionState': 'Отключено', 'connectionStateUpdatedTime': '0001-01-01T00:00:00', 'deviceId': 'testdevice', 'etag': 'MjgxOTE5ODE4', 'generationId': '636903840872788074', 'lastActivityTime': '0001-01-01T00:00:00', 'managedBy': None, 'moduleId': 'test'}], 'properties': {'desired': {'$metadata': {'$lastUpdated': '2019-04-10T05:00:46.2702079Z', '$lastUpdatedVersion': 8, 'period': {'$lastUpdated': '2019-04-10T05:00:46.2702079Z', '$lastUpdatedVersion': 8}}, '$version': 1, 'period': 100}, 'reported': {'$metadata': {'$lastUpdated': '2019-04-08T06:24:10.5613307Z'}, '$version': 1}}, 'status': 'активировано', 'statusReason': null, 'statusUpdatedTime': '0001-01-01T00:00:00', 'tags': {'location': {'city': 'Редмонд', 'country': 'us'}, 'sensor': 'влажность'}} |
Авторы
- Yuwei Zhou (@yuwzho)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/azure/azcollection/azure_rm_iotdevice_module.html