community.general.packet_ip_subnet – Назначение подсети IP для виртуального сервера.
Примечание
Этот плагин входит в коллекцию community.general (версия 1.3.2).
Для его установки используйте: ansible-galaxy collection install community.general.
Чтобы использовать его в playbook, укажите: community.general.packet_ip_subnet.
Новое в версии 0.2.0: of community.general
Обзор
- Назначить или отменить назначение подсетей IPv4 или IPv6 для устройства в хосте Packet.
- Подсети IPv4 должны быть из уже зарезервированного блока.
- Подсети IPv6 должны быть из публично маршрутируемого блока /56 вашего проекта.
- См. https://support.packet.com/kb/articles/elastic-ips для получения дополнительной информации о резервировании блоков IP.
Требования
Ниже перечислены требования, необходимые на хосте, который выполняет этот модуль.
- packet-python >= 1.35
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| auth_token строка | Токен API Packet. Также можно передать его в переменной среды PACKET_API_TOKEN. | |
| cidr строка / обязательно | Подсеть IPv4 или IPv6, которую нужно управлять. Она должна быть из зарезервированного блока для вашего проекта в хосте Packet. псевдонимы: имя | |
| device_count целое число | Значение по умолчанию: 100 | Количество устройств для извлечения из проекта. Максимальное допустимое значение равно 1000. См. https://www.packet.com/developers/api/#retrieve-all-devices-of-a-project для получения дополнительной информации. |
| device_id строка | UUID устройства, которому/из которого нужно назначить/удалить подсеть. | |
| hostname строка | Имя хоста устройства, которому/из которого нужно назначить/удалить подсеть. | |
| project_id строка | UUID проекта устройства, которому/из которого нужно назначить/удалить подсеть. | |
| state строка |
| Требуемое состояние подсети IP на указанном устройстве. При state == present, необходимо указать либо hostname, либо device_id. Подсеть с заданным CIDR будет затем назначена указанному устройству.При state == absent, можно указать либо hostname, либо device_id. Подсеть будет удалена с указанных устройств.Если оставить оба hostname и device_id пустыми, подсеть будет удалена со всех устройств, к которым она назначена. |
Примеры
# All the examples assume that you have your Packet API token in env var PACKET_API_TOKEN.
# You can also pass it to the auth_token parameter of the module instead.
- name: Create 1 device and assign an arbitrary public IPv4 subnet to it
hosts: localhost
tasks:
- packet_device:
project_id: 89b497ee-5afc-420a-8fb5-56984898f4df
hostnames: myserver
operating_system: ubuntu_16_04
plan: baremetal_0
facility: sjc1
state: active
# Pick an IPv4 address from a block allocated to your project.
- community.general.packet_ip_subnet:
project_id: 89b497ee-5afc-420a-8fb5-56984898f4df
hostname: myserver
cidr: "147.75.201.78/32"
# Release IP address 147.75.201.78
- name: Unassign IP address from any device in your project
hosts: localhost
tasks:
- community.general.packet_ip_subnet:
project_id: 89b497ee-5afc-420a-8fb5-56984898f4df
cidr: "147.75.201.78/32"
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| changed булево | успех | True, если какие-либо назначения IP-адресов были изменены (созданы или удалены). Пример: True |
| device_id строка | успех | UUID устройства, связанного с указанным IP-адресом. |
| subnet словарь | успех | Словарь с данными об обработанной подсети IP. Пример: {'address': '147.75.90.241', 'address_family': 4, 'assigned_to': {'href': '/devices/61f9aa5e-0530-47f5-97c2-113828e61ed0'}, 'cidr': 31, 'created_at': '2017-08-07T15:15:30Z', 'enabled': True, 'gateway': '147.75.90.240', 'href': '/ips/31eda960-0a16-4c0f-b196-f3dc4928529f', 'id': '1eda960-0a16-4c0f-b196-f3dc4928529f', 'manageable': True, 'management': True, 'netmask': '255.255.255.254', 'network': '147.75.90.240', 'public': True} |
Авторы
- Томас Карасек (@t0mk) <tom.to.the.k@gmail.com>
- Нурфет Бечиревич (@nurfet-becirevic) <nurfet.becirevic@gmail.com>
© 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/community/general/packet_ip_subnet_module.html