Note
This plugin is part of the community.general collection (version 2.0.1).
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 / required | 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 | 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–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