
PhpIPAM FirstFree
CertifiedGet the first free IP address in a subnet
PhpIPAM FirstFree
Get the first free IP address in a subnet
Returns the first unallocated IP address within the given subnet.
Raises an error if the subnet is full.
Combine with Create to atomically reserve the next available address.
type: io.kestra.plugin.phpipam.ipam.address.FirstFreeExamples
Get first free address
id: phpipam_address_first_free
namespace: company.team
tasks:
- id: first_free
type: io.kestra.plugin.phpipam.ipam.address.FirstFree
baseUrl: "https://ipam.example.com"
appId: myapp
auth:
appToken: "{{ secret('PHPIPAM_APP_TOKEN') }}"
subnetId: "10"
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.
subnetId *string
Subnet ID
Numeric ID of the subnet from which the first free IP address 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
ip string
First free IP
The first unallocated IP address in the subnet.