
VirtualMachine
CertifiedEnterprise EditionTask runner that executes a task natively on an Azure Virtual Machine
VirtualMachine
Certified
Enterprise Edition
Task runner that executes a task natively on an Azure Virtual Machine
yaml
type: io.kestra.plugin.ee.azure.runner.VirtualMachineExamples
yaml
id: azure_vm_python_task
namespace: company.team
tasks:
- id: run_python
type: io.kestra.plugin.scripts.python.Script
taskRunner:
type: io.kestra.plugin.ee.azure.runner.VirtualMachine
tenantId: "{{ secret('AZURE_TENANT_ID') }}"
clientId: "{{ secret('AZURE_CLIENT_ID') }}"
clientSecret: "{{ secret('AZURE_CLIENT_SECRET') }}"
subscriptionId: "{{ secret('AZURE_SUBSCRIPTION_ID') }}"
resourceGroupName: kestra-runners
region: eastus
vmSize: Standard_DS2_v2
subnetId: "/subscriptions/{{ secret('AZURE_SUBSCRIPTION_ID') }}/resourceGroups/kestra-runners/providers/Microsoft.Network/virtualNetworks/kestra-vnet/subnets/kestra-subnet"
script: |
print("Hello from Azure VM!")yaml
id: azure_vm_reuse
namespace: company.team
tasks:
- id: process
type: io.kestra.plugin.scripts.shell.Commands
taskRunner:
type: io.kestra.plugin.ee.azure.runner.VirtualMachine
tenantId: "{{ secret('AZURE_TENANT_ID') }}"
clientId: "{{ secret('AZURE_CLIENT_ID') }}"
clientSecret: "{{ secret('AZURE_CLIENT_SECRET') }}"
subscriptionId: "{{ secret('AZURE_SUBSCRIPTION_ID') }}"
resourceGroupName: kestra-runners
vmName: my-existing-vm
stopVm: false
deleteVm: false
commands:
- echo "Processing on reused VM"yaml
id: azure_vm_with_input_files
namespace: company.team
inputs:
- id: file
type: FILE
tasks:
- id: shell
type: io.kestra.plugin.scripts.shell.Commands
inputFiles:
data.txt: "{{ inputs.file }}"
outputFiles:
- out.txt
taskRunner:
type: io.kestra.plugin.ee.azure.runner.VirtualMachine
tenantId: "{{ secret('AZURE_TENANT_ID') }}"
clientId: "{{ secret('AZURE_CLIENT_ID') }}"
clientSecret: "{{ secret('AZURE_CLIENT_SECRET') }}"
subscriptionId: "{{ secret('AZURE_SUBSCRIPTION_ID') }}"
resourceGroupName: kestra-runners
region: eastus
vmSize: Standard_DS1_v2
subnetId: "/subscriptions/{{ secret('AZURE_SUBSCRIPTION_ID') }}/resourceGroups/kestra-runners/providers/Microsoft.Network/virtualNetworks/kestra-vnet/subnets/kestra-subnet"
blobStorage:
connectionString: "{{ secret('AZURE_CONNECTION_STRING') }}"
containerName: kestra-vm-staging
commands:
- cp {{ workingDir }}/data.txt {{ workingDir }}/out.txtProperties
resourceGroupName *Requiredstring
subscriptionId *Requiredstring
blobStorage Non-dynamic
Definitions
clientId string
clientSecret string
completionCheckInterval string
Default
PT5SdeleteVm booleanstring
Default
trueimage string
Default
Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2instanceReadyTimeout string
Default
PT5MpluginDefaultsRef Non-dynamicstring
region string
resume booleanstring
Default
truestopVm booleanstring
Default
truesubnetId string
syncWorkingDirectory booleanstring
Default
falsetenantId string
version Non-dynamicstring
vmName string
vmSize string
waitUntilCompletion string
Default
PT1H