DeploymentArgs

data class DeploymentArgs(val deploymentName: Output<String>? = null, val location: Output<String>? = null, val properties: Output<DeploymentPropertiesArgs>? = null, val resourceGroupName: Output<String>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<DeploymentArgs>

Deployment information. Uses Azure REST API version 2024-03-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01. Other available API versions: 2020-10-01, 2021-01-01, 2021-04-01, 2022-09-01, 2023-07-01, 2024-07-01, 2024-11-01, 2025-03-01, 2025-04-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native resources [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

Example Usage

Create a deployment that will deploy a template with a uri and queryString

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var deployment = new AzureNative.Resources.Deployment("deployment", new()
{
DeploymentName = "my-deployment",
Properties = new AzureNative.Resources.Inputs.DeploymentPropertiesArgs
{
Mode = AzureNative.Resources.DeploymentMode.Incremental,
Parameters = null,
TemplateLink = new AzureNative.Resources.Inputs.TemplateLinkArgs
{
QueryString = "sv=2019-02-02&st=2019-04-29T22%3A18%3A26Z&se=2019-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=xxxxxxxx0xxxxxxxxxxxxx%2bxxxxxxxxxxxxxxxxxxxx%3d",
Uri = "https://example.com/exampleTemplate.json",
},
},
ResourceGroupName = "my-resource-group",
});
});
package main
import (
resources "github.com/pulumi/pulumi-azure-native-sdk/resources/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := resources.NewDeployment(ctx, "deployment", &resources.DeploymentArgs{
DeploymentName: pulumi.String("my-deployment"),
Properties: &resources.DeploymentPropertiesArgs{
Mode: resources.DeploymentModeIncremental,
Parameters: resources.DeploymentParameterMap{},
TemplateLink: &resources.TemplateLinkArgs{
QueryString: pulumi.String("sv=2019-02-02&st=2019-04-29T22%3A18%3A26Z&se=2019-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=xxxxxxxx0xxxxxxxxxxxxx%2bxxxxxxxxxxxxxxxxxxxx%3d"),
Uri: pulumi.String("https://example.com/exampleTemplate.json"),
},
},
ResourceGroupName: pulumi.String("my-resource-group"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.resources.Deployment;
import com.pulumi.azurenative.resources.DeploymentArgs;
import com.pulumi.azurenative.resources.inputs.DeploymentPropertiesArgs;
import com.pulumi.azurenative.resources.inputs.TemplateLinkArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var deployment = new Deployment("deployment", DeploymentArgs.builder()
.deploymentName("my-deployment")
.properties(DeploymentPropertiesArgs.builder()
.mode("Incremental")
.parameters(Map.ofEntries(
))
.templateLink(TemplateLinkArgs.builder()
.queryString("sv=2019-02-02&st=2019-04-29T22%3A18%3A26Z&se=2019-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=xxxxxxxx0xxxxxxxxxxxxx%2bxxxxxxxxxxxxxxxxxxxx%3d")
.uri("https://example.com/exampleTemplate.json")
.build())
.build())
.resourceGroupName("my-resource-group")
.build());
}
}

Create a deployment that will deploy a templateSpec with the given resourceId

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var deployment = new AzureNative.Resources.Deployment("deployment", new()
{
DeploymentName = "my-deployment",
Properties = new AzureNative.Resources.Inputs.DeploymentPropertiesArgs
{
Mode = AzureNative.Resources.DeploymentMode.Incremental,
Parameters = null,
TemplateLink = new AzureNative.Resources.Inputs.TemplateLinkArgs
{
Id = "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.Resources/TemplateSpecs/TemplateSpec-Name/versions/v1",
},
},
ResourceGroupName = "my-resource-group",
});
});
package main
import (
resources "github.com/pulumi/pulumi-azure-native-sdk/resources/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := resources.NewDeployment(ctx, "deployment", &resources.DeploymentArgs{
DeploymentName: pulumi.String("my-deployment"),
Properties: &resources.DeploymentPropertiesArgs{
Mode: resources.DeploymentModeIncremental,
Parameters: resources.DeploymentParameterMap{},
TemplateLink: &resources.TemplateLinkArgs{
Id: pulumi.String("/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.Resources/TemplateSpecs/TemplateSpec-Name/versions/v1"),
},
},
ResourceGroupName: pulumi.String("my-resource-group"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.resources.Deployment;
import com.pulumi.azurenative.resources.DeploymentArgs;
import com.pulumi.azurenative.resources.inputs.DeploymentPropertiesArgs;
import com.pulumi.azurenative.resources.inputs.TemplateLinkArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var deployment = new Deployment("deployment", DeploymentArgs.builder()
.deploymentName("my-deployment")
.properties(DeploymentPropertiesArgs.builder()
.mode("Incremental")
.parameters(Map.ofEntries(
))
.templateLink(TemplateLinkArgs.builder()
.id("/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/my-resource-group/providers/Microsoft.Resources/TemplateSpecs/TemplateSpec-Name/versions/v1")
.build())
.build())
.resourceGroupName("my-resource-group")
.build());
}
}

Create a deployment that will redeploy another deployment on failure

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var deployment = new AzureNative.Resources.Deployment("deployment", new()
{
DeploymentName = "my-deployment",
Properties = new AzureNative.Resources.Inputs.DeploymentPropertiesArgs
{
Mode = AzureNative.Resources.DeploymentMode.Complete,
OnErrorDeployment = new AzureNative.Resources.Inputs.OnErrorDeploymentArgs
{
DeploymentName = "name-of-deployment-to-use",
Type = AzureNative.Resources.OnErrorDeploymentType.SpecificDeployment,
},
Parameters = null,
TemplateLink = new AzureNative.Resources.Inputs.TemplateLinkArgs
{
Uri = "https://example.com/exampleTemplate.json",
},
},
ResourceGroupName = "my-resource-group",
});
});
package main
import (
resources "github.com/pulumi/pulumi-azure-native-sdk/resources/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := resources.NewDeployment(ctx, "deployment", &resources.DeploymentArgs{
DeploymentName: pulumi.String("my-deployment"),
Properties: &resources.DeploymentPropertiesArgs{
Mode: resources.DeploymentModeComplete,
OnErrorDeployment: &resources.OnErrorDeploymentArgs{
DeploymentName: pulumi.String("name-of-deployment-to-use"),
Type: resources.OnErrorDeploymentTypeSpecificDeployment,
},
Parameters: resources.DeploymentParameterMap{},
TemplateLink: &resources.TemplateLinkArgs{
Uri: pulumi.String("https://example.com/exampleTemplate.json"),
},
},
ResourceGroupName: pulumi.String("my-resource-group"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.resources.Deployment;
import com.pulumi.azurenative.resources.DeploymentArgs;
import com.pulumi.azurenative.resources.inputs.DeploymentPropertiesArgs;
import com.pulumi.azurenative.resources.inputs.OnErrorDeploymentArgs;
import com.pulumi.azurenative.resources.inputs.TemplateLinkArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var deployment = new Deployment("deployment", DeploymentArgs.builder()
.deploymentName("my-deployment")
.properties(DeploymentPropertiesArgs.builder()
.mode("Complete")
.onErrorDeployment(OnErrorDeploymentArgs.builder()
.deploymentName("name-of-deployment-to-use")
.type("SpecificDeployment")
.build())
.parameters(Map.ofEntries(
))
.templateLink(TemplateLinkArgs.builder()
.uri("https://example.com/exampleTemplate.json")
.build())
.build())
.resourceGroupName("my-resource-group")
.build());
}
}

Create a deployment that will redeploy the last successful deployment on failure

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var deployment = new AzureNative.Resources.Deployment("deployment", new()
{
DeploymentName = "my-deployment",
Properties = new AzureNative.Resources.Inputs.DeploymentPropertiesArgs
{
Mode = AzureNative.Resources.DeploymentMode.Complete,
OnErrorDeployment = new AzureNative.Resources.Inputs.OnErrorDeploymentArgs
{
Type = AzureNative.Resources.OnErrorDeploymentType.LastSuccessful,
},
Parameters = null,
TemplateLink = new AzureNative.Resources.Inputs.TemplateLinkArgs
{
Uri = "https://example.com/exampleTemplate.json",
},
},
ResourceGroupName = "my-resource-group",
});
});
package main
import (
resources "github.com/pulumi/pulumi-azure-native-sdk/resources/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := resources.NewDeployment(ctx, "deployment", &resources.DeploymentArgs{
DeploymentName: pulumi.String("my-deployment"),
Properties: &resources.DeploymentPropertiesArgs{
Mode: resources.DeploymentModeComplete,
OnErrorDeployment: &resources.OnErrorDeploymentArgs{
Type: resources.OnErrorDeploymentTypeLastSuccessful,
},
Parameters: resources.DeploymentParameterMap{},
TemplateLink: &resources.TemplateLinkArgs{
Uri: pulumi.String("https://example.com/exampleTemplate.json"),
},
},
ResourceGroupName: pulumi.String("my-resource-group"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.resources.Deployment;
import com.pulumi.azurenative.resources.DeploymentArgs;
import com.pulumi.azurenative.resources.inputs.DeploymentPropertiesArgs;
import com.pulumi.azurenative.resources.inputs.OnErrorDeploymentArgs;
import com.pulumi.azurenative.resources.inputs.TemplateLinkArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var deployment = new Deployment("deployment", DeploymentArgs.builder()
.deploymentName("my-deployment")
.properties(DeploymentPropertiesArgs.builder()
.mode("Complete")
.onErrorDeployment(OnErrorDeploymentArgs.builder()
.type("LastSuccessful")
.build())
.parameters(Map.ofEntries(
))
.templateLink(TemplateLinkArgs.builder()
.uri("https://example.com/exampleTemplate.json")
.build())
.build())
.resourceGroupName("my-resource-group")
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:resources:Deployment my-deployment /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}

Constructors

Link copied to clipboard
constructor(deploymentName: Output<String>? = null, location: Output<String>? = null, properties: Output<DeploymentPropertiesArgs>? = null, resourceGroupName: Output<String>? = null, tags: Output<Map<String, String>>? = null)

Properties

Link copied to clipboard
val deploymentName: Output<String>? = null

The name of the deployment.

Link copied to clipboard
val location: Output<String>? = null

The location to store the deployment data.

Link copied to clipboard

The deployment properties.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group to deploy the resources to. The name is case insensitive. The resource group must already exist.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Deployment tags

Functions

Link copied to clipboard
open override fun toJava(): DeploymentArgs