
PhpIPAM NewAddressTrigger
CertifiedTrigger on new IP addresses assigned in a phpIPAM subnet
PhpIPAM NewAddressTrigger
Trigger on new IP addresses assigned in a phpIPAM subnet
Polls a phpIPAM subnet at a configurable interval and fires one execution
per newly detected IP address that was not seen during the previous poll.
Deduplication is achieved via the address id field stored in the namespace KV store.
All new addresses discovered in the same poll cycle each produce their own execution.
type: io.kestra.plugin.phpipam.ipam.address.NewAddressTriggerExamples
Trigger when a new address is assigned
id: phpipam_new_address_trigger
namespace: company.team
triggers:
- id: watch_subnet
type: io.kestra.plugin.phpipam.ipam.address.NewAddressTrigger
baseUrl: "https://ipam.example.com"
appId: myapp
auth:
appToken: "{{ secret('PHPIPAM_APP_TOKEN') }}"
subnetId: "10"
interval: PT5M
tasks:
- id: log_new_address
type: io.kestra.core.tasks.log.Log
message: "New address assigned: {{ trigger.ip }} (id={{ trigger.addressId }})"
Properties
appId *Requiredstring
Application ID
The API application identifier configured in phpIPAM.
auth *RequiredNon-dynamic
Authentication
App token or username+password authentication.
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 *Requiredstring
Base URL of the phpIPAM instance
Root URL of the phpIPAM instance, e.g. https://ipam.example.com.
subnetId *Requiredstring
Subnet ID
Numeric ID of the subnet to watch for new addresses.
allowConcurrent Non-dynamicboolean
falseSpecifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.
insecureTls booleanstring
falseDisable TLS certificate validation
Trust all TLS certificates.
interval Non-dynamicstring
PT5MdurationPolling interval
How often to poll the subnet for new addresses.
stopAfter Non-dynamicarray
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDList of execution states after which a trigger should be stopped (a.k.a. disabled).
when string
trueA condition that determines whether the trigger should run.
A Pebble expression evaluated at trigger time. The trigger fires only when the expression evaluates to a truthy value (true, a non-empty string, a non-zero number). Use this to gate trigger execution on dynamic runtime values such as execution labels, flow variables, or environment conditions.
Outputs
addressId string
Address ID
Numeric ID of the newly detected address.
hostname string
Hostname
Hostname associated with the address, if any.
ip string
IP address
The newly assigned IP address.
subnetId string
Subnet ID
ID of the subnet where the address was detected.