DeploymentStackAtManagementGroupArgs

data class DeploymentStackAtManagementGroupArgs(val actionOnUnmanage: Output<ActionOnUnmanageArgs>? = null, val bypassStackOutOfSyncError: Output<Boolean>? = null, val debugSetting: Output<DeploymentStacksDebugSettingArgs>? = null, val denySettings: Output<DenySettingsArgs>? = null, val deploymentScope: Output<String>? = null, val deploymentStackName: Output<String>? = null, val description: Output<String>? = null, val location: Output<String>? = null, val managementGroupId: Output<String>? = null, val parameters: Output<Map<String, DeploymentParameterArgs>>? = null, val parametersLink: Output<DeploymentStacksParametersLinkArgs>? = null, val tags: Output<Map<String, String>>? = null, val template: Output<Any>? = null, val templateLink: Output<DeploymentStacksTemplateLinkArgs>? = null) : ConvertibleToJava<DeploymentStackAtManagementGroupArgs>

Deployment stack object. Uses Azure REST API version 2024-03-01. In version 2.x of the Azure Native provider, it used API version 2022-08-01-preview. Other available API versions: 2022-08-01-preview. 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

DeploymentStacksManagementGroupCreateOrUpdate

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var deploymentStackAtManagementGroup = new AzureNative.Resources.DeploymentStackAtManagementGroup("deploymentStackAtManagementGroup", new()
{
ActionOnUnmanage = new AzureNative.Resources.Inputs.ActionOnUnmanageArgs
{
ManagementGroups = AzureNative.Resources.DeploymentStacksDeleteDetachEnum.Detach,
ResourceGroups = AzureNative.Resources.DeploymentStacksDeleteDetachEnum.Delete,
Resources = AzureNative.Resources.DeploymentStacksDeleteDetachEnum.Delete,
},
DenySettings = new AzureNative.Resources.Inputs.DenySettingsArgs
{
ApplyToChildScopes = false,
ExcludedActions = new[]
{
"action",
},
ExcludedPrincipals = new[]
{
"principal",
},
Mode = AzureNative.Resources.DenySettingsMode.DenyDelete,
},
DeploymentStackName = "simpleDeploymentStack",
Location = "eastus",
ManagementGroupId = "myMg",
Parameters =
{
{ "parameter1", new AzureNative.Resources.Inputs.DeploymentParameterArgs
{
Value = "a string",
} },
},
Tags =
{
{ "tagkey", "tagVal" },
},
});
});
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.NewDeploymentStackAtManagementGroup(ctx, "deploymentStackAtManagementGroup", &resources.DeploymentStackAtManagementGroupArgs{
ActionOnUnmanage: &resources.ActionOnUnmanageArgs{
ManagementGroups: pulumi.String(resources.DeploymentStacksDeleteDetachEnumDetach),
ResourceGroups: pulumi.String(resources.DeploymentStacksDeleteDetachEnumDelete),
Resources: pulumi.String(resources.DeploymentStacksDeleteDetachEnumDelete),
},
DenySettings: &resources.DenySettingsArgs{
ApplyToChildScopes: pulumi.Bool(false),
ExcludedActions: pulumi.StringArray{
pulumi.String("action"),
},
ExcludedPrincipals: pulumi.StringArray{
pulumi.String("principal"),
},
Mode: pulumi.String(resources.DenySettingsModeDenyDelete),
},
DeploymentStackName: pulumi.String("simpleDeploymentStack"),
Location: pulumi.String("eastus"),
ManagementGroupId: pulumi.String("myMg"),
Parameters: resources.DeploymentParameterMap{
"parameter1": &resources.DeploymentParameterArgs{
Value: pulumi.Any("a string"),
},
},
Tags: pulumi.StringMap{
"tagkey": pulumi.String("tagVal"),
},
})
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.DeploymentStackAtManagementGroup;
import com.pulumi.azurenative.resources.DeploymentStackAtManagementGroupArgs;
import com.pulumi.azurenative.resources.inputs.ActionOnUnmanageArgs;
import com.pulumi.azurenative.resources.inputs.DenySettingsArgs;
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 deploymentStackAtManagementGroup = new DeploymentStackAtManagementGroup("deploymentStackAtManagementGroup", DeploymentStackAtManagementGroupArgs.builder()
.actionOnUnmanage(ActionOnUnmanageArgs.builder()
.managementGroups("detach")
.resourceGroups("delete")
.resources("delete")
.build())
.denySettings(DenySettingsArgs.builder()
.applyToChildScopes(false)
.excludedActions("action")
.excludedPrincipals("principal")
.mode("denyDelete")
.build())
.deploymentStackName("simpleDeploymentStack")
.location("eastus")
.managementGroupId("myMg")
.parameters(Map.of("parameter1", DeploymentParameterArgs.builder()
.value("a string")
.build()))
.tags(Map.of("tagkey", "tagVal"))
.build());
}
}

Import

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

$ pulumi import azure-native:resources:DeploymentStackAtManagementGroup simpleDeploymentStack /providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Resources/deploymentStacks/{deploymentStackName}

Constructors

Link copied to clipboard
constructor(actionOnUnmanage: Output<ActionOnUnmanageArgs>? = null, bypassStackOutOfSyncError: Output<Boolean>? = null, debugSetting: Output<DeploymentStacksDebugSettingArgs>? = null, denySettings: Output<DenySettingsArgs>? = null, deploymentScope: Output<String>? = null, deploymentStackName: Output<String>? = null, description: Output<String>? = null, location: Output<String>? = null, managementGroupId: Output<String>? = null, parameters: Output<Map<String, DeploymentParameterArgs>>? = null, parametersLink: Output<DeploymentStacksParametersLinkArgs>? = null, tags: Output<Map<String, String>>? = null, template: Output<Any>? = null, templateLink: Output<DeploymentStacksTemplateLinkArgs>? = null)

Properties

Link copied to clipboard

Defines the behavior of resources that are no longer managed after the Deployment stack is updated or deleted.

Link copied to clipboard
val bypassStackOutOfSyncError: Output<Boolean>? = null

Flag to bypass service errors that indicate the stack resource list is not correctly synchronized.

Link copied to clipboard

The debug setting of the deployment.

Link copied to clipboard
val denySettings: Output<DenySettingsArgs>? = null

Defines how resources deployed by the stack are locked.

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

The scope at which the initial deployment should be created. If a scope is not specified, it will default to the scope of the deployment stack. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroupId}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}').

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

Name of the deployment stack.

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

Deployment stack description. Max length of 4096 characters.

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

The location of the Deployment stack. It cannot be changed after creation. It must be one of the supported Azure locations.

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

Management Group id.

Link copied to clipboard

Name and value pairs that define the deployment parameters for the template. Use this element when providing the parameter values directly in the request, rather than linking to an existing parameter file. Use either the parametersLink property or the parameters property, but not both.

Link copied to clipboard

The URI of parameters file. Use this element to link to an existing parameters file. Use either the parametersLink property or the parameters property, but not both.

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

Deployment stack resource tags.

Link copied to clipboard
val template: Output<Any>? = null

The template content. You use this element when you want to pass the template syntax directly in the request rather than link to an existing template. It can be a JObject or well-formed JSON string. Use either the templateLink property or the template property, but not both.

Link copied to clipboard

The URI of the template. Use either the templateLink property or the template property, but not both.

Functions

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