azure.azcollection.azure_rm_networkinterface – Управление сетевыми интерфейсами Azure
Примечание
Этот плагин является частью коллекции azure.azcollection (версия 1.4.0).
Для его установки используйте: ansible-galaxy collection install azure.azcollection.
Чтобы использовать его в книге задач, укажите: azure.azcollection.azure_rm_networkinterface.
Новое в версии 0.1.0: из azure.azcollection
Описание
- Создание, обновление или удаление сетевого интерфейса.
- При создании сетевого интерфейса необходимо указать имя существующей виртуальной сети и имя существующей подсети в рамках этой виртуальной сети.
- Группа безопасности по умолчанию и общедоступный IP-адрес будут созданы автоматически.
- Или вы можете указать имя существующей группы безопасности и общедоступного IP-адреса.
- Более подробная информация приведена в примерах ниже.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.7
- azure >= 2.0.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| ad_user строка | Имя пользователя Active Directory. Используйте при аутентификации пользователем Active Directory, а не служебным принципалом. | ||
| adfs_authority_url строка добавлено в 0.0.1 модуля azure.azcollection | URL авторизации Azure AD. Используйте при аутентификации с помощью имени пользователя/пароля и собственной службой ADFS. | ||
| api_profile строка добавлено в 0.0.1 модуля azure.azcollection | По умолчанию: "latest" | Выбирает профиль API для взаимодействия с Azure-сервисами. Значение по умолчанию latest подходит для общедоступных облаков; будущие значения позволят использовать Azure Stack. | |
| append_tags логическое |
| Управляет тем, является ли поле тегов каноническим или оно добавляется к существующим тегам. При каноническом значении, любые теги, отсутствующие в параметре тегов, будут удалены из метаданных объекта. | |
| auth_source строка добавлено в 0.0.1 модуля 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 модуля azure.azcollection |
| Управляет поведением проверки сертификата для Azure-точек входа. По умолчанию все модули проверяют сертификат сервера, но при использовании прокси HTTPS или работе с Azure Stack может потребоваться отключить это поведение, передав ignore. Также может быть задано через профиль файла учетных данных или переменную окружения AZURE_CERT_VALIDATION. | |
| client_id строка | Идентификатор клиента Azure. Используйте при аутентификации служебным принципалом. | ||
| cloud_environment строка добавлено в 0.0.1 модуля azure.azcollection | По умолчанию: "AzureCloud" | Для облачных сред, отличных от общедоступного облака США, имя среды (как определено в Azure Python SDK, например, AzureChinaCloud, AzureUSGovernment), или URL-адрес точки входа для обнаружения метаданных (требуется для Azure Stack). Также может быть задан через профиль файла учетных данных или переменную окружения AZURE_CLOUD_ENVIRONMENT. | |
| create_with_security_group логическое |
| Создавать ли группу безопасности вместе с сетевым интерфейсом. Если этот флаг установлен в значение True, а security_group не задан, будет создана группа безопасности по умолчанию. | |
| dns_servers список / элементы=строка | К каким DNS-серверам должен обращаться сетевой интерфейс. Список IP-адресов. | ||
| enable_accelerated_networking логическое |
| Создавать ли сетевой интерфейс с функцией ускоренного сетевого взаимодействия. | |
| enable_ip_forwarding логическое |
| Включить ли IP-переадресацию. Псевдонимы: ip_forwarding | |
| ip_configurations строка | Список IP-конфигураций. Каждый объект конфигурации должен содержать поле private_ip_address, private_ip_allocation_method, public_ip_address_name, public_ip, public_ip_allocation_method, name. | ||
| application_security_groups строка | Список групп безопасности приложений, в которые включена IP-конфигурация. Элементом списка может быть идентификатор ресурса группы безопасности приложений или словарь с полями resource_group и name. | ||
| load_balancer_backend_address_pools строка | Список существующих пулов адресов обратной связи балансировщика нагрузки, которые нужно связать с сетевым интерфейсом. Может быть записан как идентификатор ресурса. Также может быть словарь с полями name и load_balancer. | ||
| name строка / обязательно | Имя IP-конфигурации. | ||
| primary логическое |
| Является ли IP-конфигурация основной в списке. Первая IP-конфигурация по умолчанию устанавливается с primary=True. | |
| private_ip_address строка | Приватный IP-адрес для IP-конфигурации. | ||
| private_ip_allocation_method строка |
| Метод распределения приватного IP-адреса. | |
| public_ip_address_name строка | Имя публичного IP-адреса. None для отключения IP-адреса. Псевдонимы: public_ip_address, public_ip_name | ||
| public_ip_allocation_method строка |
| Метод распределения публичного IP-адреса. | |
| location строка | Действительное расположение Azure. По умолчанию — расположение группы ресурсов. | ||
| name строка / обязательно | Имя сетевого интерфейса. | ||
| open_ports строка | При создании группы безопасности по умолчанию для хоста Linux будет добавлено правило, разрешающее входящие TCP-соединения на стандартный SSH-порт 22, а для хоста Windows — правила, разрешающие входящий доступ к портам RDP 3389 и 5986. Переопределите порты по умолчанию, указав список открытых портов. | ||
| os_type строка |
| Определяет правила, которые будут добавлены в группу безопасности по умолчанию. При создании сетевого интерфейса, если имя группы безопасности не указано, будет создана группа безопасности по умолчанию. Если os_type=Windows, будет добавлено правило, разрешающее доступ RDP. Если os_type=Linux, будет добавлено правило, разрешающее доступ SSH. | |
| password строка | Пароль пользователя Active Directory. Используйте при аутентификации пользователем Active Directory, а не служебным принципалом. | ||
| private_ip_address строка | (Устаревший) Действительный IPv4-адрес, который входит в указанный подсеть. Этот параметр устареет в версии 2.9, используйте вместо него ip_configurations. | ||
| private_ip_allocation_method строка |
| (Устаревший) Указывает, является ли назначенный IP-адрес постоянным. При создании сетевого интерфейса, если вы указываете private_ip_address=Static, вы должны указать значение для private_ip_address. Вы можете обновить метод распределения на Static после того, как динамический приватный IP-адрес был назначен.Этот параметр устареет в версии 2.9, используйте вместо него ip_configurations. | |
| profile строка | Профиль безопасности, находящийся в файле ~/.azure/credentials. | ||
| public_ip логическое |
| (Устаревший) При создании сетевого интерфейса, если не указано имя публичного IP-адреса, будет создан публичный IP-адрес по умолчанию. Установите значение false, если вы не хотите, чтобы публичный IP-адрес создавался автоматически.Этот параметр устареет в версии 2.9, используйте вместо него ip_configurations. | |
| public_ip_address_name строка | (Устаревший) Имя существующего объекта публичного IP-адреса, который нужно связать с группой безопасности. Этот параметр устареет в версии 2.9, используйте вместо него ip_configurations. Псевдонимы: public_ip_address, public_ip_name | ||
| public_ip_allocation_method строка |
| (Устаревает) Если не указан параметр public_ip_address_name, будет создан адрес по умолчанию. Метод выделения определяет, является ли назначенный публичный IP-адрес постоянным. Этот параметр будет устаревать в версии 2.9, используйте вместо него ip_configurations. | |
| resource_group строка / обязательно | Имя группы ресурсов, в которой существует или будет создан сетевой интерфейс. | ||
| secret строка | Секрет Azure клиента. Используется при аутентификации с помощью сервисного принципала. | ||
| security_group строка | Существующая группа безопасности, с которой необходимо связать сетевой интерфейс. Если не указана, будет создана группа по умолчанию, когда create_with_security_group=true. Может быть именем группы безопасности. Убедитесь, что группа безопасности находится в той же группе ресурсов, когда вы указываете только её имя. Может быть идентификатором ресурса. Может быть словарем, содержащим name и resource_group группы безопасности. алиасы: security_group_name | ||
| state строка |
| Устанавливает состояние сетевого интерфейса. Используйте present для создания или обновления интерфейса и absent для удаления интерфейса. | |
| subnet_name строка / обязательно | Имя существующей подсети в указанной виртуальной сети. Требуется при создании сетевого интерфейса. Используйте группу ресурсов virtual_network. алиасы: subnet | ||
| subscription_id строка | Ваш идентификатор подписки Azure. | ||
| tags словарь | Словарь пар "строка:строка" для назначения метаданных объекту. Метаданные объекта будут обновлены любыми предоставленными значениями. Чтобы удалить теги, установите параметр append_tags в значение false. | ||
| tenant строка | Идентификатор Azure-аренды. Используется при аутентификации с помощью сервисного принципала. | ||
| virtual_network строка / обязательно | Существующая виртуальная сеть, с которой будет связан сетевой интерфейс. Требуется при создании сетевого интерфейса. Может быть именем виртуальной сети. Убедитесь, что ваша виртуальная сеть находится в той же группе ресурсов, что и сетевой интерфейс, если вы указываете только имя. Может быть идентификатором ресурса виртуальной сети. Может быть словарем, содержащим name и resource_group виртуальной сети. алиасы: virtual_network_name | ||
Примечания
Примечание
- Для аутентификации с 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. Также можно добавить дополнительные профили. Укажите профиль, передав профиль или установив AZURE_PROFILE в среде.
См. также
См. также
- Вход с помощью Azure CLI
-
Как войти в систему с помощью команды
az login.
Примеры
- name: Create a network interface with minimal parameters
azure_rm_networkinterface:
name: nic001
resource_group: myResourceGroup
virtual_network: vnet001
subnet_name: subnet001
ip_configurations:
- name: ipconfig1
public_ip_address_name: publicip001
primary: True
- name: Create a network interface with private IP address only (no Public IP)
azure_rm_networkinterface:
name: nic001
resource_group: myResourceGroup
virtual_network: vnet001
subnet_name: subnet001
create_with_security_group: False
ip_configurations:
- name: ipconfig1
primary: True
- name: Create a network interface for use in a Windows host (opens RDP port) with custom RDP port
azure_rm_networkinterface:
name: nic002
resource_group: myResourceGroup
virtual_network: vnet001
subnet_name: subnet001
os_type: Windows
rdp_port: 3399
security_group: "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkSecurit
yGroups/nsg001"
ip_configurations:
- name: ipconfig1
public_ip_address_name: publicip001
primary: True
- name: Create a network interface using existing security group and public IP
azure_rm_networkinterface:
name: nic003
resource_group: myResourceGroup
virtual_network: vnet001
subnet_name: subnet001
security_group: secgroup001
ip_configurations:
- name: ipconfig1
public_ip_address_name: publicip001
primary: True
- name: Create a network with multiple ip configurations
azure_rm_networkinterface:
name: nic004
resource_group: myResourceGroup
subnet_name: subnet001
virtual_network: vnet001
security_group:
name: testnic002
resource_group: Testing1
ip_configurations:
- name: ipconfig1
public_ip_address_name: publicip001
primary: True
- name: ipconfig2
load_balancer_backend_address_pools:
- "{{ loadbalancer001.state.backend_address_pools[0].id }}"
- name: backendaddrpool1
load_balancer: loadbalancer001
- name: Create a network interface in accelerated networking mode
azure_rm_networkinterface:
name: nic005
resource_group: myResourceGroup
virtual_network_name: vnet001
subnet_name: subnet001
enable_accelerated_networking: True
- name: Create a network interface with IP forwarding
azure_rm_networkinterface:
name: nic001
resource_group: myResourceGroup
virtual_network: vnet001
subnet_name: subnet001
ip_forwarding: True
ip_configurations:
- name: ipconfig1
public_ip_address_name: publicip001
primary: True
- name: Create a network interface with dns servers
azure_rm_networkinterface:
name: nic009
resource_group: myResourceGroup
virtual_network: vnet001
subnet_name: subnet001
dns_servers:
- 8.8.8.8
- name: Delete network interface
azure_rm_networkinterface:
resource_group: myResourceGroup
name: nic003
state: absent
Значения возврата
Общие значения возврата описаны здесь, следующие являются полями, уникальными для этого модуля:
| Ключ | Возвращено | Описание | ||
|---|---|---|---|---|
| state complex | всегда | Текущее состояние сетевого интерфейса. | ||
| dns_server list / elements=string | успех | DNS-серверы, которые должен использовать сетевой адаптер. Список IP-адресов. Пример: ['8.9.10.11', '7.8.9.10'] | ||
| dns_setting dictionary | успех | Настройки DNS в сетевом интерфейсе. Пример: {'applied_dns_servers': [], 'dns_servers': ['8.9.10.11', '7.8.9.10'], 'internal_dns_name_label': None, 'internal_fqdn': None} | ||
| enable_accelerated_networking boolean | успех | Включить или выключить функцию ускоренного сетевого взаимодействия для сетевого интерфейса. Пример: True | ||
| enable_ip_forwarding boolean | успех | Включить или выключить переадресацию IP. Пример: True | ||
| etag string | успех | Уникальная неизменяемая строка, которая меняется при каждом обновлении ресурса. Пример: W/"be115a43-2148-4545-a324-f33ad444c926" | ||
| id string | успех | Идентификатор сетевого интерфейса. Пример: /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nic003 | ||
| ip_configurations complex | успех | Список IP-конфигураций. | ||
| load_balancer_backend_address_pools list / elements=string | успех | Список существующих пулов адресов обратного балансировщика для ассоциации с сетевым интерфейсом. | ||
| name string | успех | Имя IP-конфигурации. Пример: default | ||
| private_ip_address string | успех | Приватный IP-адрес для IP-конфигурации. Пример: 10.1.0.10 | ||
| private_ip_allocation_method string | успех | Метод выделения приватного IP-адреса. Пример: Static | ||
| public_ip_address dictionary | успех | Имя публичного IP-адреса. None для отключения IP-адреса. Пример: {'id': '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/providers/Microsoft.Network/publicIPAddresse s/publicip001', 'name': 'publicip001'} | ||
| subnet dictionary | успех | Ссылка на ресурс подсети. Пример: {'id': '/subscriptions/xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/ myresourcegroup/providers/Microsoft.Network/virtualNetworks/tnb57dc95318/subnets/tnb57dc95318', 'name': 'tnb57dc95318', 'resource_group': 'myresourcegroup', 'virtual_network_name': 'tnb57dc95318'} | ||
| location string | успех | Расположение ресурса сетевого интерфейса. Пример: eastus | ||
| mac_address string | успех | MAC-адрес сетевого интерфейса. | ||
| name string | успех | Имя сетевого интерфейса. Пример: nic003 | ||
| network_security_group dictionary | успех | Ссылка на ресурс группы безопасности сети. Пример: {'id': '/subscriptions//xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/ myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/nsg001', 'name': 'nsg001'} | ||
| primary boolean | успех | Узнать, является ли этот сетевой интерфейс основным интерфейсом на виртуальной машине. Пример: True | ||
| provisioning_state string | успех | Состояние подготовки публичного IP-ресурса. Пример: Успешно | ||
| tags dictionary | успех | -Теги сетевого интерфейса. Пример: {'key': 'value'} | ||
| type string | успех | Тип ресурса. Пример: Microsoft.Network/networkInterfaces | ||
Авторы
- Chris Houseknecht (@chouseknecht)
- Matt Davis (@nitzmahone)
- Yuwei Zhou (@yuwzho)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/azure/azcollection/azure_rm_networkinterface_module.html