Spec-Zone.ru › Ansible 2.10

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
    Варианты:
  • авто ←
  • cli
  • credential_file
  • env
  • msi
Управление источником используемых учетных данных для аутентификации.
Также может быть задано через переменную среды 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
    Варианты:
  • ignore
  • validate
Управление поведением проверки сертификатов для 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
строка
    Варианты:
  • Windows
  • Linux ←
Определяет добавляемые правила в группу безопасности по умолчанию.
При создании сетевого интерфейса, если имя группы безопасности не указано, будет создана группа безопасности по умолчанию.
Если 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
строка
    Варианты:
  • absent
  • present ←
Установите состояние сетевого интерфейса. Используйте 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

Spec-Zone.ru

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