community.general.packet_ip_subnet – Назначение подсети IP для сервера bare metal.
Примечание
Этот плагин является частью коллекции community.general (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.general.
Для использования в книге задач укажите: community.general.packet_ip_subnet.
Новое в версии 0.2.0: из 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, необходимо указать либо имя хоста, либо device_id. Затем подсеть с заданным CIDR будет назначена указанному устройству.При state == absent, можно указать либо имя хоста, либо 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 булево | успех | Истинно, если назначения 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} |
Авторы
- Tomas Karasek (@t0mk) <tom.to.the.k@gmail.com>
- Nurfet Becirevic (@nurfet-becirevic) <nurfet.becirevic@gmail.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/general/packet_ip_subnet_module.html