openstack.cloud.os_port – Добавление/обновление/удаление портов из облака OpenStack.
Примечание
Этот плагин является частью коллекции openstack.cloud (версия 1.2.1).
Для его установки используйте: ansible-galaxy collection install openstack.cloud.
Чтобы использовать его в плейбуке, укажите: openstack.cloud.os_port.
Обзор
- Добавление, обновление или удаление портов из облака OpenStack. Состояние «present» гарантирует создание или обновление порта при необходимости.
Требования
Ниже перечислены требования, необходимые на хосте, который выполняет этот модуль.
- openstacksdk
- openstacksdk >= 0.12.0
- python >= 3.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| admin_state_up boolean |
| Устанавливает административное состояние. | |
| allowed_address_pairs список / элементы=словарь | Список разрешенных пар адресов. Разрешенные пары адресов поддерживаются со структурой словаря. Например, allowed_address_pairs: - ip_address: 10.1.0.12 mac_address: ab:cd:ef:12:34:56 - ip_address: ... | ||
| ip_address строка | IP-адрес. | ||
| mac_address строка | MAC-адрес. | ||
| api_timeout целое число | Сколько времени должна ждать система сокетов, прежде чем произойдет таймаут для API-вызовов. Если это опущено, в библиотеку запросов ничего не будет передано. | ||
| auth словарь | Словарь, содержащий информацию об авторизации, как требуется стратегией подключаемых модулей авторизации облака. Для стандартного плагина «password» это будет содержать auth_url, username, password, project_name и любые сведения о доменах (например, user_domain_name или project_domain_name), если облако их поддерживает. Для других плагинов этот параметр должен содержать любые параметры, необходимые плагину авторизации. Этот параметр не требуется, если указано имя облака или присутствуют переменные среды OpenStack OS_*. | ||
| auth_type строка | Имя плагина авторизации для использования. Если облако использует что-то отличное от парольной аутентификации, имя плагина должно быть указано здесь, а содержимое параметра auth должно быть соответствующим образом обновлено. | ||
| availability_zone строка | Игнорируется. Присутствует для обратной совместимости | ||
| ca_cert строка | Путь к пакету сертификатов CA, который может использоваться в рамках проверки SSL-API-запросов. алиасы: cacert | ||
| client_cert строка | Путь к клиенту сертификату для использования в рамках SSL-транзакции. алиасы: cert | ||
| client_key строка | Путь к ключу клиента для использования в рамках SSL-транзакции. алиасы: key | ||
| cloud сырые данные | Именованное облако или конфигурация облака для работы. Если cloud — строка, она ссылается на именованную конфигурацию облака, определенную в файле OpenStack clouds.yaml. Обеспечивает значения по умолчанию для auth и auth_type. Этот параметр не нужен, если указан auth или присутствуют переменные среды OpenStack OS_*. Если cloud — словарь, он содержит полную конфигурацию облака, как в разделе clouds.yaml. | ||
| device_id строка | Идентификатор устройства, использующего этот порт. | ||
| device_owner строка | Идентификатор сущности, которая использует этот порт. | ||
| extra_dhcp_opts список / элементы=словарь | Дополнительные параметры DHCP, которые должны быть назначены этому порту. Дополнительные параметры поддерживаются со структурой словаря. Обратите внимание, что параметры нельзя удалить, только обновить. Пример: extra_dhcp_opts: - opt_name: opt name1 opt_value: value1 ip_version: 4 - opt_name: ... | ||
| ip_version целое число / обязательно | Версия IP этого параметра DHCP. | ||
| opt_name строка / обязательно | Имя параметра DHCP для установки. | ||
| opt_value строка / обязательно | Значение параметра DHCP для установки. | ||
| fixed_ips список / элементы=словарь | Желаемый IP и/или подсеть для этого порта. Подсеть указывается по subnet_id, а IP — по ip_address. | ||
| ip_address строка / обязательно | Фиксированный IP-адрес, который необходимо попробовать выделить. | ||
| subnet_id строка | Подсеть, к которой следует подключить IP-адрес. | ||
| interface строка |
| Тип URL конечной точки для извлечения из каталога сервисов. алиасы: endpoint_type | |
| mac_address строка | MAC-адрес этого порта. | ||
| name строка | Имя, которое нужно присвоить порту. | ||
| network строка | Идентификатор или имя сети, к которой принадлежит этот порт. Требуется при создании нового порта. | ||
| no_security_groups boolean |
| Не связывать с этим портом группу безопасности. | |
| port_security_enabled boolean |
| Включить или отключить безопасность порта в сети. | |
| region_name строка | Имя региона. | ||
| security_groups список / элементы=строка | Идентификатор(ы) или имя(а) группы(руп) безопасности, связанной(ых) с портом (строка с разделителями запятых или список YAML). | ||
| state строка |
| Ресурс должен быть присутствующим или отсутствующим. | |
| timeout целое число | По умолчанию: 180 | Сколько времени Ansible будет ждать запрошенного ресурса. | |
| validate_certs boolean |
| Подтверждать ли SSL-API-запросы. До Ansible 2.3 это по умолчанию было yes. алиасы: verify | |
| vnic_type строка |
| Тип порта, который должен быть создан. | |
| wait boolean |
| Должен ли Ansible ждать завершения запрошенного ресурса. | |
Примечания
Примечание
- Можно использовать стандартные переменные среды OpenStack, такие как
OS_USERNAME, вместо явного указания значений. - Информация об авторизации управляется openstacksdk, что означает, что значения могут быть взяты из файла конфигурации yaml в /etc/ansible/openstack.yaml, /etc/openstack/clouds.yaml или ~/.config/openstack/clouds.yaml, а затем из стандартных переменных среды, и, наконец, из явных параметров в плейбуках. Дополнительную информацию можно найти на https://docs.openstack.org/openstacksdk/
Примеры
# Create a port
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
network: foo
# Create a port with a static IP
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
network: foo
fixed_ips:
- ip_address: 10.1.0.21
# Create a port with No security groups
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
network: foo
no_security_groups: True
# Update the existing 'port1' port with multiple security groups (version 1)
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
security_groups: 1496e8c7-4918-482a-9172-f4f00fc4a3a5,057d4bdf-6d4d-472...
# Update the existing 'port1' port with multiple security groups (version 2)
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
security_groups:
- 1496e8c7-4918-482a-9172-f4f00fc4a3a5
- 057d4bdf-6d4d-472...
# Create port of type 'direct'
- openstack.cloud.port:
state: present
auth:
auth_url: https://identity.example.com
username: admin
password: admin
project_name: admin
name: port1
network: foo
vnic_type: direct
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| admin_state_up boolean | успех | Флаг активности административного состояния для этого порта. |
| allowed_address_pairs список / элементы=строка | успех | Разрешённые пары адресов с этим портом. |
| fixed_ips список / элементы=строка | успех | Фиксированный(ые) IP-адрес(ы), связанные с этим портом. |
| id строка | успех | Уникальный UUID. |
| name строка | успех | Имя, присвоенное порту. |
| network_id строка | успех | ID сети, к которой принадлежит этот порт. |
| port_security_enabled boolean | успех | Состояние защиты порта в сети. |
| security_groups список / элементы=строка | успех | Группа(ы) безопасности, связанные с этим портом. |
| status строка | успех | Состояние порта. |
| tenant_id строка | успех | ID арендатора, связанный с этим портом. |
| vnic_type строка | успех | Тип созданного порта |
Авторы
- OpenStack Ansible SIG
© 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/openstack/cloud/os_port_module.html