Spec-Zone.ru › Ansible 2.11

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
строка
    Варианты:
  • present ←
  • absent
Желаемое состояние подсети 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API