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

com.pulumi.azure.storage.DataLakeGen2FilesystemArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
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.azure.storage;

import com.pulumi.azure.storage.inputs.DataLakeGen2FilesystemAceArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class DataLakeGen2FilesystemArgs extends com.pulumi.resources.ResourceArgs {

    public static final DataLakeGen2FilesystemArgs Empty = new DataLakeGen2FilesystemArgs();

    /**
     * One or more `ace` blocks as defined below to specify the entries for the ACL for the path.
     * 
     */
    @Import(name="aces")
    private @Nullable Output> aces;

    /**
     * @return One or more `ace` blocks as defined below to specify the entries for the ACL for the path.
     * 
     */
    public Optional>> aces() {
        return Optional.ofNullable(this.aces);
    }

    /**
     * The default encryption scope to use for this filesystem. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="defaultEncryptionScope")
    private @Nullable Output defaultEncryptionScope;

    /**
     * @return The default encryption scope to use for this filesystem. Changing this forces a new resource to be created.
     * 
     */
    public Optional> defaultEncryptionScope() {
        return Optional.ofNullable(this.defaultEncryptionScope);
    }

    /**
     * Specifies the Object ID of the Azure Active Directory Group to make the owning group of the root path (i.e. `/`). Possible values also include `$superuser`.
     * 
     * > **NOTE:** The Storage Account requires `account_kind` to be either `StorageV2` or `BlobStorage`. In addition, `is_hns_enabled` has to be set to `true`.
     * 
     */
    @Import(name="group")
    private @Nullable Output group;

    /**
     * @return Specifies the Object ID of the Azure Active Directory Group to make the owning group of the root path (i.e. `/`). Possible values also include `$superuser`.
     * 
     * > **NOTE:** The Storage Account requires `account_kind` to be either `StorageV2` or `BlobStorage`. In addition, `is_hns_enabled` has to be set to `true`.
     * 
     */
    public Optional> group() {
        return Optional.ofNullable(this.group);
    }

    /**
     * The name of the Data Lake Gen2 File System which should be created within the Storage Account. Must be unique within the storage account the queue is located. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the Data Lake Gen2 File System which should be created within the Storage Account. Must be unique within the storage account the queue is located. Changing this forces a new resource to be created.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Specifies the Object ID of the Azure Active Directory User to make the owning user of the root path (i.e. `/`). Possible values also include `$superuser`.
     * 
     */
    @Import(name="owner")
    private @Nullable Output owner;

    /**
     * @return Specifies the Object ID of the Azure Active Directory User to make the owning user of the root path (i.e. `/`). Possible values also include `$superuser`.
     * 
     */
    public Optional> owner() {
        return Optional.ofNullable(this.owner);
    }

    /**
     * A mapping of Key to Base64-Encoded Values which should be assigned to this Data Lake Gen2 File System.
     * 
     */
    @Import(name="properties")
    private @Nullable Output> properties;

    /**
     * @return A mapping of Key to Base64-Encoded Values which should be assigned to this Data Lake Gen2 File System.
     * 
     */
    public Optional>> properties() {
        return Optional.ofNullable(this.properties);
    }

    /**
     * Specifies the ID of the Storage Account in which the Data Lake Gen2 File System should exist. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="storageAccountId", required=true)
    private Output storageAccountId;

    /**
     * @return Specifies the ID of the Storage Account in which the Data Lake Gen2 File System should exist. Changing this forces a new resource to be created.
     * 
     */
    public Output storageAccountId() {
        return this.storageAccountId;
    }

    private DataLakeGen2FilesystemArgs() {}

    private DataLakeGen2FilesystemArgs(DataLakeGen2FilesystemArgs $) {
        this.aces = $.aces;
        this.defaultEncryptionScope = $.defaultEncryptionScope;
        this.group = $.group;
        this.name = $.name;
        this.owner = $.owner;
        this.properties = $.properties;
        this.storageAccountId = $.storageAccountId;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(DataLakeGen2FilesystemArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private DataLakeGen2FilesystemArgs $;

        public Builder() {
            $ = new DataLakeGen2FilesystemArgs();
        }

        public Builder(DataLakeGen2FilesystemArgs defaults) {
            $ = new DataLakeGen2FilesystemArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param aces One or more `ace` blocks as defined below to specify the entries for the ACL for the path.
         * 
         * @return builder
         * 
         */
        public Builder aces(@Nullable Output> aces) {
            $.aces = aces;
            return this;
        }

        /**
         * @param aces One or more `ace` blocks as defined below to specify the entries for the ACL for the path.
         * 
         * @return builder
         * 
         */
        public Builder aces(List aces) {
            return aces(Output.of(aces));
        }

        /**
         * @param aces One or more `ace` blocks as defined below to specify the entries for the ACL for the path.
         * 
         * @return builder
         * 
         */
        public Builder aces(DataLakeGen2FilesystemAceArgs... aces) {
            return aces(List.of(aces));
        }

        /**
         * @param defaultEncryptionScope The default encryption scope to use for this filesystem. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder defaultEncryptionScope(@Nullable Output defaultEncryptionScope) {
            $.defaultEncryptionScope = defaultEncryptionScope;
            return this;
        }

        /**
         * @param defaultEncryptionScope The default encryption scope to use for this filesystem. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder defaultEncryptionScope(String defaultEncryptionScope) {
            return defaultEncryptionScope(Output.of(defaultEncryptionScope));
        }

        /**
         * @param group Specifies the Object ID of the Azure Active Directory Group to make the owning group of the root path (i.e. `/`). Possible values also include `$superuser`.
         * 
         * > **NOTE:** The Storage Account requires `account_kind` to be either `StorageV2` or `BlobStorage`. In addition, `is_hns_enabled` has to be set to `true`.
         * 
         * @return builder
         * 
         */
        public Builder group(@Nullable Output group) {
            $.group = group;
            return this;
        }

        /**
         * @param group Specifies the Object ID of the Azure Active Directory Group to make the owning group of the root path (i.e. `/`). Possible values also include `$superuser`.
         * 
         * > **NOTE:** The Storage Account requires `account_kind` to be either `StorageV2` or `BlobStorage`. In addition, `is_hns_enabled` has to be set to `true`.
         * 
         * @return builder
         * 
         */
        public Builder group(String group) {
            return group(Output.of(group));
        }

        /**
         * @param name The name of the Data Lake Gen2 File System which should be created within the Storage Account. Must be unique within the storage account the queue is located. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name of the Data Lake Gen2 File System which should be created within the Storage Account. Must be unique within the storage account the queue is located. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param owner Specifies the Object ID of the Azure Active Directory User to make the owning user of the root path (i.e. `/`). Possible values also include `$superuser`.
         * 
         * @return builder
         * 
         */
        public Builder owner(@Nullable Output owner) {
            $.owner = owner;
            return this;
        }

        /**
         * @param owner Specifies the Object ID of the Azure Active Directory User to make the owning user of the root path (i.e. `/`). Possible values also include `$superuser`.
         * 
         * @return builder
         * 
         */
        public Builder owner(String owner) {
            return owner(Output.of(owner));
        }

        /**
         * @param properties A mapping of Key to Base64-Encoded Values which should be assigned to this Data Lake Gen2 File System.
         * 
         * @return builder
         * 
         */
        public Builder properties(@Nullable Output> properties) {
            $.properties = properties;
            return this;
        }

        /**
         * @param properties A mapping of Key to Base64-Encoded Values which should be assigned to this Data Lake Gen2 File System.
         * 
         * @return builder
         * 
         */
        public Builder properties(Map properties) {
            return properties(Output.of(properties));
        }

        /**
         * @param storageAccountId Specifies the ID of the Storage Account in which the Data Lake Gen2 File System should exist. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder storageAccountId(Output storageAccountId) {
            $.storageAccountId = storageAccountId;
            return this;
        }

        /**
         * @param storageAccountId Specifies the ID of the Storage Account in which the Data Lake Gen2 File System should exist. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder storageAccountId(String storageAccountId) {
            return storageAccountId(Output.of(storageAccountId));
        }

        public DataLakeGen2FilesystemArgs build() {
            if ($.storageAccountId == null) {
                throw new MissingRequiredPropertyException("DataLakeGen2FilesystemArgs", "storageAccountId");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy