
Canonical EnlistMachine
CertifiedEnterprise EditionEnlist machine into MAAS inventory
Canonical EnlistMachine
Enlist machine into MAAS inventory
Register a new machine via MAAS POST /machines/. Accepts either a MAC address or power driver parameters plus type. Falls back to reusing an existing machine on duplicate validation errors; commissioning is not triggered here.
type: io.kestra.plugin.ee.canonical.maas.EnlistMachineExamples
Enlist a new server
id: enlist_new_server
namespace: company.team
tasks:
- id: enlist_new_server
type: io.kestra.plugin.ee.canonical.maas.EnlistMachine
url: "{{ secret('MAAS_URL') }}"
apiKey: "{{ secret('MAAS_API_KEY') }}"
macAddress: "52:54:00:12:34:56"
hostname: "prod-web-01"
domain: "datacenter.local"
resourcePool: "production"
zone: "zone-a"
architecture: "amd64/generic"
powerType: "ipmi"
powerParameters:
power_address: "192.168.1.100"
power_user: "{{ secret('IPMI_USER') }}"
power_pass: "{{ secret('IPMI_PASSWORD') }}"
Properties
apiKey *string
MAAS API key
MAAS API key in the consumer: token: secret format.
url *string
MAAS URL
Base URL of the MAAS server, including the MAAS context path.
Example: https://maas.example.com/MAAS
architecture string
Architecture
Machine architecture (for example amd64/generic); optional.
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
{}1150domain string
Domain
MAAS domain for the machine; optional.
hostname string
Hostname
Hostname to set on the enlisted machine; optional.
macAddress string
MAC address
MAC address to enlist; required unless power parameters are provided.
powerParameters object
Power parameters
Power driver parameters as a JSON object; each entry is sent as power_parameters_<key>.
powerType string
Power type
Power driver type used by MAAS (for example ipmi, redfish, virsh); required when powerParameters are provided.
resourcePool string
Resource pool
MAAS resource pool name; optional.
zone string
Zone
MAAS availability zone; optional.
Outputs
machine object
Machine details
Raw MAAS machine response payload, sanitized for secrets.
systemId string
System ID
MAAS system identifier for the enlisted machine.