Spec-Zone.ru › Ansible 2.9

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
строка
    Варианты:
  • sas ←
  • certificate_authority
  • self_signed
Тип авторизации, с которым будет создаваться сущность.
auth_source
строка
добавлено в 2.5
    Варианты:
  • auto
  • cli
  • credential_file
  • env
  • msi
Управляет источником учетных данных для аутентификации.
Если не указано, будет использована переменная среды 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
    Варианты:
  • ignore
  • validate
Управляет поведением проверки сертификатов для 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
строка
    Варианты:
  • absent
  • present ←
Состояние 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API