
Canonical DeployMachine
CertifiedEnterprise EditionDeploy OS to MAAS machine
Canonical DeployMachine
Deploy OS to MAAS machine
Trigger the MAAS deploy operation on an existing machine. Runs asynchronously by default; set waitForDeployment to poll until Deployed (default 45m timeout). User data is base64-encoded before submission.
type: io.kestra.plugin.ee.canonical.maas.DeployMachineExamples
Deploy Ubuntu and wait for completion
id: deploy_ubuntu_server
namespace: company.team
tasks:
- id: deploy_ubuntu_server
type: io.kestra.plugin.ee.canonical.maas.DeployMachine
url: "{{ secret('MAAS_URL') }}"
apiKey: "{{ secret('MAAS_API_KEY') }}"
systemId: "{{ outputs.commission_server.systemId }}"
osystem: "ubuntu"
distroSeries: "jammy"
kernel: "ga-22.04"
installKvm: false
storageLayout: "lvm"
userData: |
#cloud-config
packages:
- docker.io
- kubectl
runcmd:
- systemctl enable docker
- systemctl start docker
userTags:
- "kubernetes-node"
- "production"
waitForDeployment: true
timeout: PT45M
Properties
apiKey *string
MAAS API key
MAAS API key in the consumer: token: secret format.
systemId *string
System ID
MAAS system identifier of the machine to deploy; the machine must already be Commissioned/Ready.
url *string
MAAS URL
Base URL of the MAAS server, including the MAAS context path.
Example: https://maas.example.com/MAAS
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
{}1150distroSeries string
Distribution series
MAAS distribution series (for example jammy); optional.
installKvm booleanstring
Install KVM
Whether to install KVM packages during deployment; leave unset to use the MAAS default.
kernel string
Kernel
Kernel to deploy, mapped to the MAAS hwe_kernel parameter; optional.
osystem string
Operating system
MAAS operating system identifier (for example ubuntu); uses the machine’s default image when omitted.
storageLayout string
Storage layout
MAAS storage layout name (for example lvm).
timeout string
PT45MTimeout
Maximum time to wait for deployment to complete when waiting; defaults to 45 minutes.
userData string
User data
Cloud-init user data; automatically base64-encoded before submission.
userTags array
User tags
Tags to apply to the machine at deployment time.
waitForDeployment booleanstring
falseWait for deployment
Whether to poll MAAS until the machine reaches the Deployed state; defaults to false and increases run time when enabled.
Outputs
machine object
Machine details
Sanitized machine details returned after deployment or wait.
systemId string
System ID
MAAS system identifier for the deployed machine.