openstack.cloud.port – Добавление/обновление/удаление портов из облака OpenStack.
Примечание
Этот плагин входит в состав коллекции openstack.cloud (версия 1.2.1).
Для его установки используйте: ansible-galaxy collection install openstack.cloud.
Чтобы использовать его в книге задач, укажите: openstack.cloud.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. Если это значение опущено, ничего не будет передано библиотеке requests. | ||
| 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 |
| Подтверждать ли запросы API SSL. До 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/openstack/cloud/port_module.html