codeaffen.phpipam.subnet module – Manage subnets

Note

This module is part of the codeaffen.phpipam collection (version 1.6.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install codeaffen.phpipam.

To use it in a playbook, specify: codeaffen.phpipam.subnet.

New in version 0.0.1: of codeaffen.phpipam

Synopsis

  • create, update and delete subnets

Requirements

The below requirements are needed on the host that executes this module.

  • inflection

  • ipaddress

  • phpypam>=1.0.0

Parameters

Parameter

Comments

allow_requests

boolean

Controls if IP requests are allowed for subnet

Choices:

  • no ← (default)

  • yes

app_id

string

API app name

Default: “ansible”

cidr

string

Network in CIDR format.

Mutually exclusive with subnet and mask.

description

string

Text which is shown in side bar if ‘show as name’ is selected

discover_subnet

boolean

Controls if new hosts should be discovered for new host scans

Choices:

  • no ← (default)

  • yes

dns_records

boolean

Controls whether hostname DNS records are displayed

Choices:

  • no ← (default)

  • yes

dns_recursive

boolean

Controls if PTR records should be created for subnet

Choices:

  • no ← (default)

  • yes

is_folder

boolean

Controls if we are adding subnet or folder

can’t be changed after subnet was created

Choices:

  • no ← (default)

  • yes

is_full

boolean

Marks subnet as used

Choices:

  • no ← (default)

  • yes

linked_subnet

string

Linked ipv6 subnet in CIDR format

location

string

Subnet location

mask

string

Prefix length (bits) for ipv4 and ipv6 subnets.

Mutually exclusive with cidr.

If set. subnet is required.

nameserver

string

Name of the DNS server which should attach to subnet

parent

aliases: master_subnet_cidr

string

CIDR of parent subnet

password

string / required

Password of the user to access phpIPAM server

permissions

json

JSON object that represent the permissions for each user

Default: “None”

ping_subnet

boolean

Controls if subnet should be included in status checks

Choices:

  • no ← (default)

  • yes

routing_domain

string

added in 1.6.0 of codeaffen.phpipam

Layer-2 routing domain the vlan belongs to

If you have vlan with same number in different routing domains it need to be set on desired value

Default: “default”

scan_agent

string

Name of scanagent which should be used for subnet

section

integer / required

Name of the section under which the subnet is located

server_url

string / required

URL of the phpIPAM server

show_as_name

boolean

If this is set to ‘true’ description is shown in side bar instead of CIDR

Choices:

  • no ← (default)

  • yes

state

string

State of the entity

Choices:

  • present ← (default)

  • absent

subnet

string

Network address

Mutually exclusive with cidr.

If set, mask is required.

subnet_state

string

Assigned tag of the subnet.

threshold

integer

Subnet threshold

username

string / required

Username to access phpIPAM server

validate_certs

boolean

Is the TLS certificate of the phpIPAM server verified or not.

Choices:

  • no

  • yes ← (default)

vlan

string

VLAN which the subnet should belongs to

vrf

string

VRF which the sunet should belongs to

Examples

- name: "Create a subnet"
  codeaffen.phpipam.subnet:
    username: "admin"
    password: "s3cr3t"
    server_url: "https://ipam.example.com"
    cidr: "192.0.2.128/26"
    section: "EXAMPLE INC"
    state: present

- name: "Create a subnet with parent"
  codeaffen.phpipam.subnet:
    username: "admin"
    password: "s3cr3t"
    server_url: "https://ipam.example.com"
    cidr: "192.0.2.128/28"
    parent: "192.0.2.128/25"
    section: "DEVOPS department"
    state: present

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

entity

dictionary

Final state of the affected entities grouped by their type.

Returned: success

subnets

list / elements=dictionary

List of subnets.

Returned: success

Authors

  • Christian Meißner (@cmeissner)