
PhpIPAM FirstFree
CertifiedGet the first free subnet within a master subnet
PhpIPAM FirstFree
Get the first free subnet within a master subnet
Returns the CIDR of the first available child-subnet slot within the given master subnet. Useful for automatically provisioning the next available prefix from a supernet. Raises an error if no free subnet slot exists.
type: io.kestra.plugin.phpipam.ipam.subnet.FirstFreeExamples
Get first free subnet
id: phpipam_subnet_first_free
namespace: company.team
tasks:
- id: first_free_subnet
type: io.kestra.plugin.phpipam.ipam.subnet.FirstFree
baseUrl: "https://ipam.example.com"
appId: myapp
auth:
appToken: "{{ secret('PHPIPAM_APP_TOKEN') }}"
subnetId: "5"
mask: "25"
Properties
appId *string
Application ID
The API application identifier configured in phpIPAM under Administration → API.
It appears in the path segment /api/{appId}/.
auth *
Authentication
Provide either appToken for static App-token authentication,
or username + password to obtain a per-run session token.
Supplying both, or neither, raises a validation error.
io.kestra.plugin.phpipam.PhpipamAuthentication
Static App token
A token generated in the phpIPAM administration panel under Administration → API.
Sent to phpIPAM via the token request header.
Mutually exclusive with username / password.
Password
Password for the phpIPAM user. Must be provided together with username.
Username
phpIPAM username used to obtain a per-session token via POST /api/{appId}/user/.
Must be provided together with password.
Mutually exclusive with appToken.
baseUrl *string
Base URL of the phpIPAM instance
Root URL of the phpIPAM instance, e.g. https://ipam.example.com. No trailing slash needed.
mask *string
Child subnet mask
CIDR prefix length (e.g. 25) of the free child subnet to find within the master subnet. phpIPAM requires this to locate the first free slot of the requested size.
subnetId *string
Master subnet ID
Numeric ID of the master subnet from which the first free child subnet is requested.
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150insecureTls booleanstring
falseDisable TLS certificate validation
Set to true to trust all TLS certificates, including self-signed ones.
Intended for development or internal deployments only.
Outputs
cidr string
First free subnet CIDR
CIDR notation of the first available child subnet slot.