com.pulumi.azure.storage.DataLakeGen2Filesystem Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure Show documentation
Show all versions of azure Show documentation
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.
// *** 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.Utilities;
import com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;
import com.pulumi.azure.storage.inputs.DataLakeGen2FilesystemState;
import com.pulumi.azure.storage.outputs.DataLakeGen2FilesystemAce;
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.String;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* Manages a Data Lake Gen2 File System within an Azure Storage Account.
*
* > **NOTE:** This resource requires some `Storage` specific roles which are not granted by default. Some of the built-ins roles that can be attributed are [`Storage Account Contributor`](https://docs.microsoft.com/azure/role-based-access-control/built-in-roles#storage-account-contributor), [`Storage Blob Data Owner`](https://docs.microsoft.com/azure/role-based-access-control/built-in-roles#storage-blob-data-owner), [`Storage Blob Data Contributor`](https://docs.microsoft.com/azure/role-based-access-control/built-in-roles#storage-blob-data-contributor), [`Storage Blob Data Reader`](https://docs.microsoft.com/azure/role-based-access-control/built-in-roles#storage-blob-data-reader).
*
* ## Example Usage
*
* <!--Start PulumiCodeChooser -->
*
* {@code
* package generated_program;
*
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.azure.core.ResourceGroup;
* import com.pulumi.azure.core.ResourceGroupArgs;
* import com.pulumi.azure.storage.Account;
* import com.pulumi.azure.storage.AccountArgs;
* import com.pulumi.azure.storage.DataLakeGen2Filesystem;
* import com.pulumi.azure.storage.DataLakeGen2FilesystemArgs;
* 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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
* .name("example-resources")
* .location("West Europe")
* .build());
*
* var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
* .name("examplestorageacc")
* .resourceGroupName(example.name())
* .location(example.location())
* .accountTier("Standard")
* .accountReplicationType("LRS")
* .accountKind("StorageV2")
* .isHnsEnabled("true")
* .build());
*
* var exampleDataLakeGen2Filesystem = new DataLakeGen2Filesystem("exampleDataLakeGen2Filesystem", DataLakeGen2FilesystemArgs.builder()
* .name("example")
* .storageAccountId(exampleAccount.id())
* .properties(Map.of("hello", "aGVsbG8="))
* .build());
*
* }
* }
* }
*
* <!--End PulumiCodeChooser -->
*
* ## Import
*
* Data Lake Gen2 File System's can be imported using the `resource id`, e.g.
*
* ```sh
* $ pulumi import azure:storage/dataLakeGen2Filesystem:DataLakeGen2Filesystem queue1 https://account1.dfs.core.windows.net/fileSystem1
* ```
*
*/
@ResourceType(type="azure:storage/dataLakeGen2Filesystem:DataLakeGen2Filesystem")
public class DataLakeGen2Filesystem extends com.pulumi.resources.CustomResource {
/**
* One or more `ace` blocks as defined below to specify the entries for the ACL for the path.
*
*/
@Export(name="aces", refs={List.class,DataLakeGen2FilesystemAce.class}, tree="[0,1]")
private Output> aces;
/**
* @return One or more `ace` blocks as defined below to specify the entries for the ACL for the path.
*
*/
public Output> aces() {
return this.aces;
}
/**
* The default encryption scope to use for this filesystem. Changing this forces a new resource to be created.
*
*/
@Export(name="defaultEncryptionScope", refs={String.class}, tree="[0]")
private Output defaultEncryptionScope;
/**
* @return The default encryption scope to use for this filesystem. Changing this forces a new resource to be created.
*
*/
public Output defaultEncryptionScope() {
return 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`.
*
*/
@Export(name="group", refs={String.class}, tree="[0]")
private 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 Output group() {
return 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.
*
*/
@Export(name="name", refs={String.class}, tree="[0]")
private 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 Output name() {
return 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`.
*
*/
@Export(name="owner", refs={String.class}, tree="[0]")
private 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 Output owner() {
return this.owner;
}
/**
* A mapping of Key to Base64-Encoded Values which should be assigned to this Data Lake Gen2 File System.
*
*/
@Export(name="properties", refs={Map.class,String.class}, tree="[0,1,1]")
private Output* @Nullable */ Map> properties;
/**
* @return A mapping of Key to Base64-Encoded Values which should be assigned to this Data Lake Gen2 File System.
*
*/
public Output>> properties() {
return Codegen.optional(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.
*
*/
@Export(name="storageAccountId", refs={String.class}, tree="[0]")
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;
}
/**
*
* @param name The _unique_ name of the resulting resource.
*/
public DataLakeGen2Filesystem(java.lang.String name) {
this(name, DataLakeGen2FilesystemArgs.Empty);
}
/**
*
* @param name The _unique_ name of the resulting resource.
* @param args The arguments to use to populate this resource's properties.
*/
public DataLakeGen2Filesystem(java.lang.String name, DataLakeGen2FilesystemArgs 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 DataLakeGen2Filesystem(java.lang.String name, DataLakeGen2FilesystemArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("azure:storage/dataLakeGen2Filesystem:DataLakeGen2Filesystem", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
}
private DataLakeGen2Filesystem(java.lang.String name, Output id, @Nullable DataLakeGen2FilesystemState state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
super("azure:storage/dataLakeGen2Filesystem:DataLakeGen2Filesystem", name, state, makeResourceOptions(options, id), false);
}
private static DataLakeGen2FilesystemArgs makeArgs(DataLakeGen2FilesystemArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
if (options != null && options.getUrn().isPresent()) {
return null;
}
return args == null ? DataLakeGen2FilesystemArgs.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 state
* @param options Optional settings to control the behavior of the CustomResource.
*/
public static DataLakeGen2Filesystem get(java.lang.String name, Output id, @Nullable DataLakeGen2FilesystemState state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
return new DataLakeGen2Filesystem(name, id, state, options);
}
}