All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.resources.DeploymentStackAtManagementGroup Maven / Gradle / Ivy

There is a newer version: 2.72.0
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.resources;

import com.pulumi.azurenative.Utilities;
import com.pulumi.azurenative.resources.DeploymentStackAtManagementGroupArgs;
import com.pulumi.azurenative.resources.outputs.DenySettingsResponse;
import com.pulumi.azurenative.resources.outputs.DeploymentStackPropertiesResponseActionOnUnmanage;
import com.pulumi.azurenative.resources.outputs.DeploymentStacksDebugSettingResponse;
import com.pulumi.azurenative.resources.outputs.DeploymentStacksParametersLinkResponse;
import com.pulumi.azurenative.resources.outputs.ErrorResponseResponse;
import com.pulumi.azurenative.resources.outputs.ManagedResourceReferenceResponse;
import com.pulumi.azurenative.resources.outputs.ResourceReferenceExtendedResponse;
import com.pulumi.azurenative.resources.outputs.ResourceReferenceResponse;
import com.pulumi.azurenative.resources.outputs.SystemDataResponse;
import com.pulumi.core.Alias;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Nullable;

/**
 * Deployment stack object.
 * Azure REST API version: 2022-08-01-preview.
 * 
 * Other available API versions: 2024-03-01.
 * 
 * ## Example Usage
 * ### DeploymentStacksCreateOrUpdate
 * 
 * 
 * {@code
 * 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.DeploymentStackPropertiesActionOnUnmanageArgs;
 * 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(DeploymentStackPropertiesActionOnUnmanageArgs.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", Map.of("value", "a string")))
 *             .tags(Map.of("tagkey", "tagVal"))
 *             .build());
 * 
 *     }
 * }
 * 
 * }
 * 
* * ## Import * * An existing resource can be imported using its type token, name, and identifier, e.g. * * ```sh * $ pulumi import azure-native:resources:DeploymentStackAtManagementGroup simpleDeploymentStack /providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Resources/deploymentStacks/{deploymentStackName} * ``` * */ @ResourceType(type="azure-native:resources:DeploymentStackAtManagementGroup") public class DeploymentStackAtManagementGroup extends com.pulumi.resources.CustomResource { /** * Defines the behavior of resources that are not managed immediately after the stack is updated. * */ @Export(name="actionOnUnmanage", refs={DeploymentStackPropertiesResponseActionOnUnmanage.class}, tree="[0]") private Output actionOnUnmanage; /** * @return Defines the behavior of resources that are not managed immediately after the stack is updated. * */ public Output actionOnUnmanage() { return this.actionOnUnmanage; } /** * The debug setting of the deployment. * */ @Export(name="debugSetting", refs={DeploymentStacksDebugSettingResponse.class}, tree="[0]") private Output debugSetting; /** * @return The debug setting of the deployment. * */ public Output> debugSetting() { return Codegen.optional(this.debugSetting); } /** * An array of resources that were deleted during the most recent update. * */ @Export(name="deletedResources", refs={List.class,ResourceReferenceResponse.class}, tree="[0,1]") private Output> deletedResources; /** * @return An array of resources that were deleted during the most recent update. * */ public Output> deletedResources() { return this.deletedResources; } /** * Defines how resources deployed by the stack are locked. * */ @Export(name="denySettings", refs={DenySettingsResponse.class}, tree="[0]") private Output denySettings; /** * @return Defines how resources deployed by the stack are locked. * */ public Output denySettings() { return this.denySettings; } /** * The resourceId of the deployment resource created by the deployment stack. * */ @Export(name="deploymentId", refs={String.class}, tree="[0]") private Output deploymentId; /** * @return The resourceId of the deployment resource created by the deployment stack. * */ public Output deploymentId() { return this.deploymentId; } /** * 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}'). * */ @Export(name="deploymentScope", refs={String.class}, tree="[0]") private Output deploymentScope; /** * @return 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}'). * */ public Output> deploymentScope() { return Codegen.optional(this.deploymentScope); } /** * Deployment stack description. * */ @Export(name="description", refs={String.class}, tree="[0]") private Output description; /** * @return Deployment stack description. * */ public Output> description() { return Codegen.optional(this.description); } /** * An array of resources that were detached during the most recent update. * */ @Export(name="detachedResources", refs={List.class,ResourceReferenceResponse.class}, tree="[0,1]") private Output> detachedResources; /** * @return An array of resources that were detached during the most recent update. * */ public Output> detachedResources() { return this.detachedResources; } /** * The duration of the deployment stack update. * */ @Export(name="duration", refs={String.class}, tree="[0]") private Output duration; /** * @return The duration of the deployment stack update. * */ public Output duration() { return this.duration; } /** * Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). * */ @Export(name="error", refs={ErrorResponseResponse.class}, tree="[0]") private Output error; /** * @return Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). * */ public Output> error() { return Codegen.optional(this.error); } /** * An array of resources that failed to reach goal state during the most recent update. * */ @Export(name="failedResources", refs={List.class,ResourceReferenceExtendedResponse.class}, tree="[0,1]") private Output> failedResources; /** * @return An array of resources that failed to reach goal state during the most recent update. * */ public Output> failedResources() { return this.failedResources; } /** * The location of the deployment stack. It cannot be changed after creation. It must be one of the supported Azure locations. * */ @Export(name="location", refs={String.class}, tree="[0]") private Output location; /** * @return The location of the deployment stack. It cannot be changed after creation. It must be one of the supported Azure locations. * */ public Output> location() { return Codegen.optional(this.location); } /** * Name of this resource. * */ @Export(name="name", refs={String.class}, tree="[0]") private Output name; /** * @return Name of this resource. * */ public Output name() { return this.name; } /** * The outputs of the underlying deployment. * */ @Export(name="outputs", refs={Object.class}, tree="[0]") private Output outputs; /** * @return The outputs of the underlying deployment. * */ public Output outputs() { return this.outputs; } /** * 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. It can be a JObject or a well formed JSON string. * */ @Export(name="parameters", refs={Object.class}, tree="[0]") private Output parameters; /** * @return 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. It can be a JObject or a well formed JSON string. * */ public Output> parameters() { return Codegen.optional(this.parameters); } /** * 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. * */ @Export(name="parametersLink", refs={DeploymentStacksParametersLinkResponse.class}, tree="[0]") private Output parametersLink; /** * @return 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. * */ public Output> parametersLink() { return Codegen.optional(this.parametersLink); } /** * State of the deployment stack. * */ @Export(name="provisioningState", refs={String.class}, tree="[0]") private Output provisioningState; /** * @return State of the deployment stack. * */ public Output provisioningState() { return this.provisioningState; } /** * An array of resources currently managed by the deployment stack. * */ @Export(name="resources", refs={List.class,ManagedResourceReferenceResponse.class}, tree="[0,1]") private Output> resources; /** * @return An array of resources currently managed by the deployment stack. * */ public Output> resources() { return this.resources; } /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. * */ @Export(name="systemData", refs={SystemDataResponse.class}, tree="[0]") private Output systemData; /** * @return Azure Resource Manager metadata containing createdBy and modifiedBy information. * */ public Output systemData() { return this.systemData; } /** * Deployment stack resource tags. * */ @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") private Output> tags; /** * @return Deployment stack resource tags. * */ public Output>> tags() { return Codegen.optional(this.tags); } /** * Type of this resource. * */ @Export(name="type", refs={String.class}, tree="[0]") private Output type; /** * @return Type of this resource. * */ public Output type() { return this.type; } /** * * @param name The _unique_ name of the resulting resource. */ public DeploymentStackAtManagementGroup(java.lang.String name) { this(name, DeploymentStackAtManagementGroupArgs.Empty); } /** * * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ public DeploymentStackAtManagementGroup(java.lang.String name, DeploymentStackAtManagementGroupArgs args) { this(name, args, null); } /** * * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ public DeploymentStackAtManagementGroup(java.lang.String name, DeploymentStackAtManagementGroupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("azure-native:resources:DeploymentStackAtManagementGroup", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } private DeploymentStackAtManagementGroup(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("azure-native:resources:DeploymentStackAtManagementGroup", name, null, makeResourceOptions(options, id), false); } private static DeploymentStackAtManagementGroupArgs makeArgs(DeploymentStackAtManagementGroupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { if (options != null && options.getUrn().isPresent()) { return null; } return args == null ? DeploymentStackAtManagementGroupArgs.Empty : args; } private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .aliases(List.of( Output.of(Alias.builder().type("azure-native:resources/v20220801preview:DeploymentStackAtManagementGroup").build()), Output.of(Alias.builder().type("azure-native:resources/v20240301:DeploymentStackAtManagementGroup").build()) )) .build(); return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); } /** * Get an existing Host resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param options Optional settings to control the behavior of the CustomResource. */ public static DeploymentStackAtManagementGroup get(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new DeploymentStackAtManagementGroup(name, id, options); } }