azure.azcollection.azure_rm_networkinterface – Управление сетевыми интерфейсами Azure
Примечание
Этот плагин входит в коллекцию azure.azcollection (версия 1.3.1).
Для его установки используйте: ansible-galaxy collection install azure.azcollection.
Для использования в playbook, укажите: 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-адреса. Отсутствует для отключения 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. Также возможно добавление дополнительных профилей. Укажите профиль, передав параметр 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 / 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–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_networkinterface_module.html