aos_ip_pool - Управление пулом IP-адресов AOS
Новое в версии 2.3.
Обзор
- Модуль Apstra AOS Ip Pool позволяет легко управлять пулом IP-адресов. Вы можете создавать, создавать и удалять пулы IP-адресов по имени, идентификатору или с помощью файла JSON. Этот модуль идемпотентен и поддерживает режим check. Он использует API AOS REST.
Требования (к хосту, на котором выполняется модуль)
- aos-pyez >= 0.6.0
Параметры
| параметр | обязательно | по умолчанию | значения | примечания |
|---|---|---|---|---|
| content | нет | Структура данных пула IP-адресов для управления. Данные могут быть в формате YAML/JSON или напрямую в переменной. Это та же структура данных, которая возвращается при успешном выполнении в value. | ||
| id | нет | Идентификатор AOS пула IP-адресов для управления (нельзя использовать для создания нового пула), Только один из name, id или content может быть установлен. | ||
| name | нет | Имя пула IP-адресов для управления. Только один из name, id или content может быть установлен. | ||
| session | да | Существующая сессия AOS, полученная с помощью модуля aos_login. | ||
| state | нет | present |
| Указывает ожидаемое состояние пула IP-адресов (существующий или нет). |
| subnets | нет | Список подсетей, которые должны быть частью пула IP-адресов. |
Примеры
- name: "Create an IP Pool with one subnet"
aos_ip_pool:
session: "{{ aos_session }}"
name: "my-ip-pool"
subnets: [ 172.10.0.0/16 ]
state: present
- name: "Create an IP Pool with multiple subnets"
aos_ip_pool:
session: "{{ aos_session }}"
name: "my-other-ip-pool"
subnets: [ 172.10.0.0/16, 192.168.0.0./24 ]
state: present
- name: "Check if an IP Pool exist with same subnets by ID"
aos_ip_pool:
session: "{{ aos_session }}"
name: "45ab26fc-c2ed-4307-b330-0870488fa13e"
subnets: [ 172.10.0.0/16, 192.168.0.0./24 ]
state: present
- name: "Delete an IP Pool by name"
aos_ip_pool:
session: "{{ aos_session }}"
name: "my-ip-pool"
state: absent
- name: "Delete an IP pool by id"
aos_ip_pool:
session: "{{ aos_session }}"
id: "45ab26fc-c2ed-4307-b330-0870488fa13e"
state: absent
# Save an IP Pool to a file
- name: "Access IP Pool 1/3"
aos_ip_pool:
session: "{{ aos_session }}"
name: "my-ip-pool"
subnets: [ 172.10.0.0/16, 172.12.0.0/16 ]
state: present
register: ip_pool
- name: "Save Ip Pool into a file in JSON 2/3"
copy:
content: "{{ ip_pool.value | to_nice_json }}"
dest: ip_pool_saved.json
- name: "Save Ip Pool into a file in YAML 3/3"
copy:
content: "{{ ip_pool.value | to_nice_yaml }}"
dest: ip_pool_saved.yaml
- name: "Load IP Pool from a JSON file"
aos_ip_pool:
session: "{{ aos_session }}"
content: "{{ lookup('file', 'resources/ip_pool_saved.json') }}"
state: present
- name: "Load IP Pool from a YAML file"
aos_ip_pool:
session: "{{ aos_session }}"
content: "{{ lookup('file', 'resources/ip_pool_saved.yaml') }}"
state: present
- name: "Load IP Pool from a Variable"
aos_ip_pool:
session: "{{ aos_session }}"
content:
display_name: my-ip-pool
id: 4276738d-6f86-4034-9656-4bff94a34ea7
subnets:
- network: 172.10.0.0/16
- network: 172.12.0.0/16
state: present
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратной совместимости.
Для помощи в разработке модулей, если вас это интересует, ознакомьтесь с Справочной информацией по сообществу и участию в разработке, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/aos_ip_pool_module.html