Note
This plugin is part of the community.general collection.
To install it use: ansible-galaxy collection install community.general.
To use it in a playbook, specify: community.general.packet_ip_subnet.
New in version 0.2.0: of community.general
The below requirements are needed on the host that executes this module.
| Parameter | Choices/Defaults | Comments |
|---|---|---|
| auth_token string | Packet API token. You can also supply it in env var PACKET_API_TOKEN. | |
| cidr string | IPv4 or IPv6 subnet which you want to manage. It must come from a reserved block for your project in the Packet Host. aliases: name | |
| device_count integer | Default: 100 | The number of devices to retrieve from the project. The max allowed value is 1000. See https://www.packet.com/developers/api/#retrieve-all-devices-of-a-project for more info. |
| device_id string | UUID of a device to/from which to assign/remove a subnet. | |
| hostname string | A hostname of a device to/from which to assign/remove a subnet. | |
| project_id string / required | UUID of a project of the device to/from which to assign/remove a subnet. | |
| state string |
| Desired state of the IP subnet on the specified device. With state == present, you must specify either hostname or device_id. Subnet with given CIDR will then be assigned to the specified device.With state == absent, you can specify either hostname or device_id. The subnet will be removed from specified devices.If you leave both hostname and device_id empty, the subnet will be removed from any device it's assigned to. |
# 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
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description |
|---|---|---|
| changed boolean | success | True if an IP address assignments were altered in any way (created or removed). Sample: True |
| device_id string | success | UUID of the device associated with the specified IP address. |
| subnet dictionary | success | Dict with data about the handled IP subnet. Sample: {'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} |
© 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