Deploy an Azure Resource Manager template

Octopus.AzureResourceGroup exported 2026-07-22 by Octopus Deploy belongs to ‘Azure’ category.

Deploy an Azure Resource Manager (ARM) template to a resource group.

Parameters

When this step is included in a project’s deployment process, the parameters below can be set.

Account

Octopus.Action.Azure.AccountId (required)

Select the account to use for the connection.

Example: azure-account-1

Resource Group

Octopus.Action.Azure.ResourceGroupName (required)

The name of the Azure resource group to deploy the template to.

Example: my-resource-group

Deployment Mode

Octopus.Action.Azure.ResourceGroupDeploymentMode (required)

The deployment mode to use when deploying the ARM template.

Allowed values: Incremental, Complete

Default: Incremental

Template Source

Octopus.Action.Azure.TemplateSource (required)

Select the source of the template. Templates can be entered as source code, contained in a package or a Git repository.

Allowed values: Inline, Package, GitRepository

Default: Inline

Template

Octopus.Action.Azure.ResourceGroupTemplate

The ARM template JSON when using inline source, or the relative path to the JSON template file in the package or Git repository.

Example: template.json

Template Parameters

Octopus.Action.Azure.ResourceGroupTemplateParameters

The ARM template parameters JSON when using inline source, or the relative path to the JSON parameters file in the package or Git repository.

Example: parameters.json

Optional features

Enable features by adding their IDs to Octopus.Action.EnabledFeatures (a comma-separated list).

Custom Deployment Scripts Octopus.Features.CustomScripts

Execute scripts during the deployment (pre-deploy, deploy, post-deploy) without embedding them in your package.

Octopus.Action.CustomScripts.PreDeploy.

Octopus.Action.CustomScripts.PreDeploy.<ext>

Pre-deploy script body. The key’s is the script language extension: ps1 (PowerShell), sh (Bash), csx (C#), or py (Python).

Octopus.Action.CustomScripts.Deploy.

Octopus.Action.CustomScripts.Deploy.<ext>

Deploy-phase script body. The key’s is the script language extension: ps1 (PowerShell), sh (Bash), csx (C#), or py (Python).

Octopus.Action.CustomScripts.PostDeploy.

Octopus.Action.CustomScripts.PostDeploy.<ext>

Post-deploy script body. The key’s is the script language extension: ps1 (PowerShell), sh (Bash), csx (C#), or py (Python).

PowerShell Edition Octopus.Features.SelectPowerShellEditionForWindows

Specify the edition of PowerShell used during deployments on Windows.

Octopus.Action.PowerShell.Edition

Octopus.Action.PowerShell.Edition

PowerShell edition on Windows (Desktop or Core).

Allowed values: Desktop, Core

Step configuration using OCL

Example in Octopus Configuration Language (OCL):

step "deploy-azure-resource-group" {
    name = "Deploy Azure Resource Group"

    action {
        action_type = "Octopus.AzureResourceGroup"
        properties = {
            Octopus.Action.Azure.AccountId = "azure-account"
            Octopus.Action.Azure.ResourceGroupDeploymentMode = "Incremental"
            Octopus.Action.Azure.ResourceGroupName = "my-rg"
            Octopus.Action.Azure.ResourceGroupTemplate = "{\"$schema\":\"https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#\",\"contentVersion\":\"1.0.0.0\",\"resources\":[]}"
            Octopus.Action.Azure.ResourceGroupTemplateParameters = "{}"
            Octopus.Action.Azure.TemplateSource = "Inline"
            Octopus.Action.RunOnServer = "false"
            OctopusUseBundledTooling = "False"
        }
    }
}

Page updated on Wednesday, July 22, 2026