import * as pulumi from "@pulumi/pulumi"; /** * Manages a Directory within an Azure Storage File Share. * * > **Note:** When using Azure Active Directory Authentication (i.e. setting the provider property `storageUseAzuread = true`), the principal running Terraform must have the *Storage File Data Privileged Contributor* IAM role assigned. The *Storage File Data SMB Share Contributor* does not have sufficient permissions to create directories. Refer to [official documentation](https://learn.microsoft.com/en-us/rest/api/storageservices/authorize-with-azure-active-directory#permissions-for-file-service-operations) for more details. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "azuretest", * location: "West Europe", * }); * const exampleAccount = new azure.storage.Account("example", { * name: "azureteststorage", * resourceGroupName: example.name, * location: example.location, * accountTier: "Standard", * accountReplicationType: "LRS", * }); * const exampleShare = new azure.storage.Share("example", { * name: "sharename", * storageAccountId: exampleAccount.id, * quota: 50, * }); * const exampleShareDirectory = new azure.storage.ShareDirectory("example", { * name: "example", * storageShareUrl: exampleShare.url, * }); * ``` * * ## Import * * Directories within an Azure Storage File Share can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:storage/shareDirectory:ShareDirectory example https://tomdevsa20.file.core.windows.net/share1/directory1 * ``` */ export declare class ShareDirectory extends pulumi.CustomResource { /** * Get an existing ShareDirectory 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 Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: ShareDirectoryState, opts?: pulumi.CustomResourceOptions): ShareDirectory; /** * Returns true if the given object is an instance of ShareDirectory. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ShareDirectory; /** * A mapping of metadata to assign to this Directory. */ readonly metadata: pulumi.Output<{ [key: string]: string; } | undefined>; /** * The name (or path) of the Directory that should be created within this File Share. Changing this forces a new resource to be created. */ readonly name: pulumi.Output; /** * @deprecated This property has been deprecated in favour of `storageShareUrl` and will be removed in version 5.0 of the Provider. */ readonly storageShareId: pulumi.Output; /** * The Storage Share URL in which this file will be placed into. Changing this forces a new resource to be created. */ readonly storageShareUrl: pulumi.Output; /** * Create a ShareDirectory resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args?: ShareDirectoryArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ShareDirectory resources. */ export interface ShareDirectoryState { /** * A mapping of metadata to assign to this Directory. */ metadata?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The name (or path) of the Directory that should be created within this File Share. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * @deprecated This property has been deprecated in favour of `storageShareUrl` and will be removed in version 5.0 of the Provider. */ storageShareId?: pulumi.Input; /** * The Storage Share URL in which this file will be placed into. Changing this forces a new resource to be created. */ storageShareUrl?: pulumi.Input; } /** * The set of arguments for constructing a ShareDirectory resource. */ export interface ShareDirectoryArgs { /** * A mapping of metadata to assign to this Directory. */ metadata?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The name (or path) of the Directory that should be created within this File Share. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * @deprecated This property has been deprecated in favour of `storageShareUrl` and will be removed in version 5.0 of the Provider. */ storageShareId?: pulumi.Input; /** * The Storage Share URL in which this file will be placed into. Changing this forces a new resource to be created. */ storageShareUrl?: pulumi.Input; }