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

com.pulumi.azurenative.storage.BlobContainerLegalHold Maven / Gradle / Ivy

There is a newer version: 2.78.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.storage;

import com.pulumi.azurenative.Utilities;
import com.pulumi.azurenative.storage.BlobContainerLegalHoldArgs;
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.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Optional;
import javax.annotation.Nullable;

/**
 * .
 * ## Import
 * 
 * An existing resource can be imported using its type token, name, and identifier, e.g.
 * 
 * ```sh
 * $ pulumi import azure-native:storage:BlobContainerLegalHold myresource1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/legalHold 
 * ```
 * 
 */
@ResourceType(type="azure-native:storage:BlobContainerLegalHold")
public class BlobContainerLegalHold extends com.pulumi.resources.CustomResource {
    /**
     * Name of the Storage Account.
     * 
     */
    @Export(name="accountName", refs={String.class}, tree="[0]")
    private Output accountName;

    /**
     * @return Name of the Storage Account.
     * 
     */
    public Output> accountName() {
        return Codegen.optional(this.accountName);
    }
    /**
     * When enabled, new blocks can be written to both 'Append and Bock Blobs' while maintaining legal hold protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted.
     * 
     */
    @Export(name="allowProtectedAppendWritesAll", refs={Boolean.class}, tree="[0]")
    private Output allowProtectedAppendWritesAll;

    /**
     * @return When enabled, new blocks can be written to both 'Append and Bock Blobs' while maintaining legal hold protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted.
     * 
     */
    public Output> allowProtectedAppendWritesAll() {
        return Codegen.optional(this.allowProtectedAppendWritesAll);
    }
    /**
     * Name of the Blob Container.
     * 
     */
    @Export(name="containerName", refs={String.class}, tree="[0]")
    private Output containerName;

    /**
     * @return Name of the Blob Container.
     * 
     */
    public Output> containerName() {
        return Codegen.optional(this.containerName);
    }
    /**
     * Name of the resource group that contains the storage account.
     * 
     */
    @Export(name="resourceGroupName", refs={String.class}, tree="[0]")
    private Output resourceGroupName;

    /**
     * @return Name of the resource group that contains the storage account.
     * 
     */
    public Output> resourceGroupName() {
        return Codegen.optional(this.resourceGroupName);
    }
    /**
     * List of legal hold tags. Each tag should be 3 to 23 alphanumeric characters and is normalized to lower case at SRP.
     * 
     */
    @Export(name="tags", refs={List.class,String.class}, tree="[0,1]")
    private Output> tags;

    /**
     * @return List of legal hold tags. Each tag should be 3 to 23 alphanumeric characters and is normalized to lower case at SRP.
     * 
     */
    public Output>> tags() {
        return Codegen.optional(this.tags);
    }

    /**
     *
     * @param name The _unique_ name of the resulting resource.
     */
    public BlobContainerLegalHold(java.lang.String name) {
        this(name, BlobContainerLegalHoldArgs.Empty);
    }
    /**
     *
     * @param name The _unique_ name of the resulting resource.
     * @param args The arguments to use to populate this resource's properties.
     */
    public BlobContainerLegalHold(java.lang.String name, BlobContainerLegalHoldArgs 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 BlobContainerLegalHold(java.lang.String name, BlobContainerLegalHoldArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        super("azure-native:storage:BlobContainerLegalHold", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
    }

    private BlobContainerLegalHold(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        super("azure-native:storage:BlobContainerLegalHold", name, null, makeResourceOptions(options, id), false);
    }

    private static BlobContainerLegalHoldArgs makeArgs(BlobContainerLegalHoldArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        if (options != null && options.getUrn().isPresent()) {
            return null;
        }
        return args == null ? BlobContainerLegalHoldArgs.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())
            .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 BlobContainerLegalHold get(java.lang.String name, Output id, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        return new BlobContainerLegalHold(name, id, options);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy