community.network.avi_gslb – Модуль для настройки объекта Gslb Avi RESTful
Примечание
Этот плагин входит в коллекцию community.network (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.network.
Для использования в книге задач укажите: community.network.avi_gslb.
Обзор
- Этот модуль используется для настройки объекта Gslb.
- Дополнительные примеры находятся по адресу https://github.com/avinetworks/devops
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- avisdk
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| api_context словарь | Контекст API Avi, включающий текущий идентификатор сеанса и токен CSRF. Это позволяет пользователю выполнить однократный вход и повторно использовать сеанс. | ||
| api_version строка | Значение по умолчанию: "16.4.4" | Версия API Avi для использования с API Avi и объектами. | |
| async_interval строка | Частота, с которой сообщения распространяются на vs mgr. Значение 0 отключает асинхронное поведение, и rpc отправляются в строке. Допустимые значения: 0-5. Поле введено в 18.2.3. Значение по умолчанию, если оно не указано в API или модуле, интерпретируется контроллером Avi как 0. | ||
| avi_api_patch_op строка |
| Операция обновления для использования при использовании avi_api_update_method как patch. | |
| avi_api_update_method строка |
| Метод по умолчанию для обновления объекта — HTTP PUT. Установка в patch переопределит это поведение на использование HTTP PATCH. | |
| avi_credentials словарь | Словарь учетных данных Avi, который можно использовать вместо перечисления данных входа в контроллер Avi. | ||
| api_version строка | Значение по умолчанию: "16.4.4" | Версия контроллера Avi | |
| controller строка | IP-адрес или SQDN контроллера | ||
| csrftoken строка | Токен csrf API контроллера Avi для повторного использования существующего сеанса с идентификатором сеанса | ||
| password строка | Пароль контроллера Avi | ||
| port строка | Порт контроллера Avi | ||
| session_id строка | Идентификатор сеанса API контроллера Avi для повторного использования существующего сеанса с csrftoken | ||
| tenant строка | Значение по умолчанию: "admin" | Тенент контроллера Avi | |
| tenant_uuid строка | UUID клиента контроллера Avi | ||
| timeout строка | Значение по умолчанию: 300 | Таймаут запроса контроллера Avi | |
| token строка | Токен API контроллера Avi | ||
| username строка | Имя пользователя контроллера Avi | ||
| avi_disable_session_cache_as_fact логическое значение |
| Отключает кэширование информации о сеансе Avi в качестве факта. | |
| clear_on_max_retries строка | Максимальное количество попыток, после которых удаленный сайт рассматривается как новый старт. При новом старте загружаются все конфигурации. Допустимые значения: 1-1024. Значение по умолчанию, если оно не указано в API или модуле, интерпретируется контроллером Avi как 20. | ||
| client_ip_addr_group строка | Группа, указывающая, являются ли IP-адреса клиентов общедоступными или частными. Поле введено в 17.1.2. | ||
| controller строка | Значение по умолчанию: "" | IP-адрес или имя хоста контроллера. Значение по умолчанию — переменная окружения AVI_CONTROLLER. | |
| description строка | Определяемое пользователем описание объекта. | ||
| dns_configs строка | Конфигурация доменных имен для gslb. FQDN службы gslb должен совпадать с одним из этих поддоменов. | ||
| is_federated логическое значение |
| Это поле указывает, что этот объект дублируется по всей федерации gslb. Поле введено в 17.1.3. Значение по умолчанию, если оно не указано в API или модуле, интерпретируется контроллером Avi как True. | |
| leader_cluster_uuid строка / обязательно | Отметить этот сайт как лидера конфигурации gslb. Этот сайт — один из сайтов avi. | ||
| maintenance_mode логическое значение |
| Это поле отключает операции конфигурации на лидере для всех федеративных объектов. Операции cud на gslb, gslbservice, gslbgeodbprofile и других федеративных объектах будут отклонены. Отключение rest-api помогает в сценариях обновления, когда мы не хотим синхронизации конфигурации с gslb-членом, когда член находится в процессе обновления. Эта конфигурация программно блокирует лидера от принятия новых конфигураций gslb, когда сайты-члены проходят обновление. Поле введено в 17.2.1. Значение по умолчанию, если оно не указано в API или модуле, интерпретируется контроллером Avi как False. | |
| name строка / обязательно | Имя объекта gslb. | ||
| password строка | Значение по умолчанию: "" | Пароль пользователя Avi в контроллере Avi. Значение по умолчанию — переменная окружения AVI_PASSWORD. | |
| send_interval строка | Частота, с которой члены группы общаются. Допустимые значения: 1-3600. Значение по умолчанию, если оно не указано в API или модуле, интерпретируется контроллером Avi как 15. | ||
| send_interval_prior_to_maintenance_mode строка | Пользователь может указать интервал отправки при входе в режим технического обслуживания. Действительность этого «интервала отправки в режиме технического обслуживания» действует только в режиме технического обслуживания. Когда пользователь выходит из режима технического обслуживания, восстанавливается исходный интервал отправки. Эта внутренняя переменная используется для хранения исходного интервала отправки. Поле введено в 18.2.3. | ||
| sites строка | Выберите члена сайта avi, принадлежащего этому gslb. | ||
| state строка |
| Состояние, которое должно быть применено к сущности. | |
| tenant строка | Значение по умолчанию: "admin" | Имя клиента, используемого для всех вызовов API Avi и контекста объекта. | |
| tenant_ref строка | Ссылка на объект типа tenant. | ||
| tenant_uuid строка | Значение по умолчанию: "" | UUID клиента, используемого для всех вызовов API Avi и контекста объекта. | |
| third_party_sites строка | Сайт стороннего члена, принадлежащий этому gslb. Поле введено в 17.1.1. | ||
| url строка | URL контроллера Avi объекта. | ||
| username строка | Значение по умолчанию: "" | Имя пользователя, используемое для доступа к контроллеру Avi. Значение по умолчанию — переменная окружения AVI_USERNAME. | |
| uuid строка | Uuid объекта gslb. | ||
| view_id строка | Идентификатор представления используется в режиме изменения лидера для различения разграниченных групп, у которых есть одинаковое имя пространства gslb. Каждая разграниченная группа сможет работать независимо, используя идентификатор представления. Значение по умолчанию, если оно не указано в API или модуле, интерпретируется контроллером Avi как 0. | ||
Примечания
Примечание
- Дополнительную информацию об использовании Ansible для управления устройствами сети Avi см. на сайте https://www.ansible.com/ansible-avi-networks.
Примеры
- name: Example to create Gslb object
community.network.avi_gslb:
name: "test-gslb"
avi_credentials:
username: '{{ username }}'
password: '{{ password }}'
controller: '{{ controller }}'
sites:
- name: "test-site1"
username: "gslb_username"
password: "gslb_password"
ip_addresses:
- type: "V4"
addr: "10.10.28.83"
enabled: True
member_type: "GSLB_ACTIVE_MEMBER"
port: 443
cluster_uuid: "cluster-d4ee5fcc-3e0a-4d4f-9ae6-4182bc605829"
- name: "test-site2"
username: "gslb_username"
password: "gslb_password"
ip_addresses:
- type: "V4"
addr: "10.10.28.86"
enabled: True
member_type: "GSLB_ACTIVE_MEMBER"
port: 443
cluster_uuid: "cluster-0c37ae8d-ab62-410c-ad3e-06fa831950b1"
dns_configs:
- domain_name: "test1.com"
- domain_name: "test2.com"
leader_cluster_uuid: "cluster-d4ee5fcc-3e0a-4d4f-9ae6-4182bc605829"
- name: Update Gslb site's configurations (Patch Add Operation)
community.network.avi_gslb:
avi_credentials:
username: '{{ username }}'
password: '{{ password }}'
controller: '{{ controller }}'
avi_api_update_method: patch
avi_api_patch_op: add
leader_cluster_uuid: "cluster-d4ee5fcc-3e0a-4d4f-9ae6-4182bc605829"
name: "test-gslb"
dns_configs:
- domain_name: "temp1.com"
- domain_name: "temp2.com"
gslb_sites_config:
- ip_addr: "10.10.28.83"
dns_vses:
- dns_vs_uuid: "virtualservice-f2a711cd-5e78-473f-8f47-d12de660fd62"
domain_names:
- "test1.com"
- "test2.com"
- ip_addr: "10.10.28.86"
dns_vses:
- dns_vs_uuid: "virtualservice-c1a63a16-f2a1-4f41-aab4-1e90f92a5e49"
domain_names:
- "temp1.com"
- "temp2.com"
- name: Update Gslb site's configurations (Patch Replace Operation)
community.network.avi_gslb:
avi_credentials:
username: "{{ username }}"
password: "{{ password }}"
controller: "{{ controller }}"
# On basis of cluster leader uuid dns_configs is set for that particular leader cluster
leader_cluster_uuid: "cluster-84aa795f-8f09-42bb-97a4-5103f4a53da9"
name: "test-gslb"
avi_api_update_method: patch
avi_api_patch_op: replace
dns_configs:
- domain_name: "test3.com"
- domain_name: "temp3.com"
gslb_sites_config:
# Ip address is mapping key for dns_vses field update. For the given IP address,
# dns_vses is updated.
- ip_addr: "10.10.28.83"
dns_vses:
- dns_vs_uuid: "virtualservice-7c947ed4-77f3-4a52-909c-4f12afaf5bb0"
domain_names:
- "test3.com"
- ip_addr: "10.10.28.86"
dns_vses:
- dns_vs_uuid: "virtualservice-799b2c6d-7f2d-4c3f-94c6-6e813b20b674"
domain_names:
- "temp3.com"
- name: Update Gslb site's configurations (Patch Delete Operation)
community.network.avi_gslb:
avi_credentials:
username: "{{ username }}"
password: "{{ password }}"
controller: "{{ controller }}"
# On basis of cluster leader uuid dns_configs is set for that particular leader cluster
leader_cluster_uuid: "cluster-84aa795f-8f09-42bb-97a4-5103f4a53da9"
name: "test-gslb"
avi_api_update_method: patch
avi_api_patch_op: delete
dns_configs:
gslb_sites_config:
- ip_addr: "10.10.28.83"
- ip_addr: "10.10.28.86"
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| obj словарь | успех, изменение | Объект Gslb (api/gslb) |
Авторы
- Gaurav Rastogi (@grastogi23) <grastogi@avinetworks.com>
© 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/community/network/avi_gslb_module.html