azure_rm_networkinterface – Управление сетевыми адаптерами Azure
Описание
- Создание, обновление или удаление сетевого адаптера.
- При создании сетевого адаптера необходимо указать имя существующей виртуальной сети и имя существующей подсети в рамках этой виртуальной сети.
- Группа безопасности по умолчанию и общедоступный IP-адрес будут созданы автоматически.
- Или можно указать имя существующей группы безопасности и общедоступного IP-адреса.
- См. примеры ниже для получения более подробной информации.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- 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_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. | |
| create_with_security_group логическое значение добавлен в 2.6 |
| Определяет, следует ли создавать группу безопасности с сетевым адаптером. Если этот флаг равен True и не указана группа security_group, будет создана группа безопасности по умолчанию. | |
| dns_servers список добавлен в 2.7 | Какие DNS-серверы должен использовать сетевой адаптер. Список IP-адресов. | ||
| enable_accelerated_networking логическое значение добавлен в 2.7 |
| Указывает, следует ли создавать сетевой адаптер с функцией ускоренной сети. | |
| enable_ip_forwarding логическое значение добавлен в 2.7 |
| Включить или отключить пересылку IP. псевдонимы: ip_forwarding | |
| ip_configurations - добавлен в 2.5 | Список конфигураций IP. Каждый объект конфигурации должен включать поле private_ip_address, private_ip_allocation_method, public_ip_address_name, public_ip, public_ip_allocation_method, name. | ||
| application_security_groups - добавлен в 2.8 | Список групп безопасности приложений, в которые включена конфигурация IP. Элементом списка может быть идентификатор ресурса группы безопасности приложений или словарь с полями resource_group и name. | ||
| load_balancer_backend_address_pools - добавлен в 2.6 | Список существующих пулов адресов обратной связи балансировщика нагрузки, которые необходимо связать с сетевым адаптером. Можно указать идентификатор ресурса. Также можно указать словарь с полями name и load_balancer. | ||
| name - / обязательно | Имя конфигурации IP. | ||
| primary логическое значение |
| Указывает, является ли конфигурация IP основной в списке. | |
| private_ip_address - | Приватный IP-адрес для конфигурации IP. | ||
| private_ip_allocation_method - |
| Метод распределения приватного IP-адреса. | |
| public_ip_address_name - | Имя публичного IP-адреса. Отсутствует для отключения 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. | |
| пароль строка | Пароль пользователя 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. | |
| профиль строка | Профиль безопасности, найденный в файле ~/.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-адрес. Метод распределения определяет, является ли назначенный публичный IP-адрес сетевого интерфейса постоянным. Этот параметр будет устаревать в версии 2.9, используйте вместо него ip_configurations. | |
| группа_ресурсов - / обязательно | Имя группы ресурсов, где существует или будет создан сетевой интерфейс. | ||
| секрет строка | Секрет клиента Azure. Используется при аутентификации с принципалом службы. | ||
| группа_безопасности - | Существующая группа безопасности, с которой нужно связать сетевой интерфейс. Если не указано, по умолчанию будет создана группа безопасности при create_with_security_group=true. Может быть именем группы безопасности. Убедитесь, что группа безопасности находится в той же группе ресурсов, если вы указываете только ее имя. Может быть идентификатором ресурса. Может быть словарем, содержащим name и resource_group группы безопасности. псевдонимы: security_group_name | ||
| состояние - |
| Утвердить состояние сетевого интерфейса. Используйте present для создания или обновления интерфейса и absent для удаления интерфейса. | |
| имя_подсети - / обязательно | Имя существующей подсети в указанной виртуальной сети. Требуется при создании сетевого интерфейса. Используйте группу ресурсов virtual_network. псевдонимы: subnet | ||
| идентификатор_подписки строка | Ваш идентификатор подписки Azure. | ||
| метки словарь | Словарь пар строка:строка для назначения метаданных объекту. Метаданные метки объекта будут обновлены любыми предоставленными значениями. Для удаления меток установите параметр append_tags в значение false. | ||
| аренда строка | Идентификатор аренды Azure. Используется при аутентификации с принципалом службы. | ||
| виртуальная_сеть - / обязательно | Существующая виртуальная сеть, с которой будет связан сетевой интерфейс. Требуется при создании сетевого интерфейса. Может быть именем виртуальной сети. Убедитесь, что ваша виртуальная сеть находится в той же группе ресурсов, что и сетевой адаптер, когда вы предоставляете только имя. Может быть идентификатором ресурса виртуальной сети. Может быть словарем, содержащим 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. Также можно добавить дополнительные профили. Укажите профиль, передав profile или установив 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 | 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 | Список существующих пулов адресов обратного балансировщика, которые следует связать с сетевым интерфейсом. | |||
| 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 | |||
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Chris Houseknecht (@chouseknecht)
- Matt Davis (@nitzmahone)
- 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_networkinterface_module.html