azure_rm_iotdevice – Управление устройствами Azure IoT hub
Новая версия с 2.9.
Обзор
- Создание и удаление устройства Azure IoT hub.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.7
- azure >= 2.0.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| ad_user строка | Имя пользователя Active Directory. Используется при аутентификации с пользователем Active Directory, а не с принципалом службы. | |
| adfs_authority_url строка добавлено в 2.6 | URL-адрес полномочий Azure AD. Используется при аутентификации с именем пользователя/паролем и собственной службой ADFS. | |
| api_profile строка добавлено в 2.5 | По умолчанию: "latest" | Выбирает профиль API для взаимодействия с Azure-службами. Значение по умолчанию latest подходит для общедоступных облаков; будущие значения позволят использовать Azure Stack. |
| append_tags логическое значение |
| Управляет тем, является ли поле тегов каноническим или просто добавляется к существующим тегам. В случае канонического тега любые теги, отсутствующие в параметре тегов, будут удалены из метаданных объекта. |
| auth_method строка |
| Тип авторизации, с которым будет создаваться сущность. |
| auth_source строка добавлено в 2.5 |
| Управляет источником учетных данных для аутентификации. Если не указано, будет использована переменная среды ANSIBLE_AZURE_AUTH_SOURCE и по умолчанию auto если переменная не определена.auto будет следовать стандартному приоритету параметров модуля -> переменные среды -> профиль по умолчанию в файле учетных данных ~/.azure/credentials.При установке в cli, учетные данные будут взяты из профиля Azure CLI по умолчанию.Также можно установить через переменную среды ANSIBLE_AZURE_AUTH_SOURCE.При установке в msi, хост-машина должна быть Azure-ресурсом с включенным расширением MSI. subscription_id или переменная среды AZURE_SUBSCRIPTION_ID могут использоваться для определения идентификатора подписки, если ресурсу предоставлен доступ к нескольким подпискам; в противном случае выбирается первая подписка.msi было добавлено в Ansible 2.6. |
| cert_validation_mode строка добавлено в 2.5 |
| Управляет поведением проверки сертификатов для Azure-точек входа. По умолчанию все модули проверяют серверный сертификат, но при использовании прокси-сервера HTTPS или работе с Azure Stack, может потребоваться отключить это поведение, передав ignore. Также может быть установлено через профиль файла учетных данных или переменную среды AZURE_CERT_VALIDATION. |
| client_id строка | Идентификатор клиента Azure. Используется при аутентификации с принципалом службы. | |
| cloud_environment строка добавлено в 2.4 | По умолчанию: "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, или войти в систему перед запуском задач или playbook с помощью
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. Также возможно добавление дополнительных профилей. Укажите профиль, передав профиль или установив 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': 'Testing', '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': 'Disconnected', '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': 'enabled', 'statusReason': None, 'statusUpdatedTime': '0001-01-01T00:00:00', 'tags': {'location': {'country': 'us', 'city': 'Redmond'}, 'sensor': 'humidity'}} |
Статус
- Данный модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.9/modules/azure_rm_iotdevice_module.html