import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages a Storage Account Local User. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "example-rg", * location: "WestEurope", * }); * const exampleAccount = new azure.storage.Account("example", { * name: "example-account", * resourceGroupName: example.name, * location: example.location, * accountKind: "StorageV2", * accountTier: "Standard", * accountReplicationType: "LRS", * isHnsEnabled: true, * }); * const exampleContainer = new azure.storage.Container("example", { * name: "example-container", * storageAccountName: exampleAccount.name, * }); * const exampleLocalUser = new azure.storage.LocalUser("example", { * name: "user1", * storageAccountId: exampleAccount.id, * sshKeyEnabled: true, * sshPasswordEnabled: true, * homeDirectory: "example_path", * sshAuthorizedKeys: [ * { * description: "key1", * key: firstPublicKey, * }, * { * description: "key2", * key: secondPublicKey, * }, * ], * permissionScopes: [{ * permissions: { * read: true, * create: true, * }, * service: "blob", * resourceName: exampleContainer.name, * }], * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.Storage` - 2025-06-01 * * ## Import * * Storage Account Local Users can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:storage/localUser:LocalUser example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Storage/storageAccounts/storageAccount1/localUsers/user1 * ``` */ export declare class LocalUser extends pulumi.CustomResource { /** * Get an existing LocalUser 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?: LocalUserState, opts?: pulumi.CustomResourceOptions): LocalUser; /** * Returns true if the given object is an instance of LocalUser. 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 LocalUser; /** * The home directory of the Storage Account Local User. */ readonly homeDirectory: pulumi.Output; /** * The name which should be used for this Storage Account Local User. Changing this forces a new Storage Account Local User to be created. */ readonly name: pulumi.Output; /** * The value of the password, which is only available when `sshPasswordEnabled` is set to `true`. */ readonly password: pulumi.Output; /** * One or more `permissionScope` blocks as defined below. */ readonly permissionScopes: pulumi.Output; /** * The unique Security Identifier of this Storage Account Local User. */ readonly sid: pulumi.Output; /** * One or more `sshAuthorizedKey` blocks as defined below. */ readonly sshAuthorizedKeys: pulumi.Output; /** * Specifies whether SSH Key Authentication is enabled. Defaults to `false`. */ readonly sshKeyEnabled: pulumi.Output; /** * Specifies whether SSH Password Authentication is enabled. Defaults to `false`. */ readonly sshPasswordEnabled: pulumi.Output; /** * The ID of the Storage Account that this Storage Account Local User resides in. Changing this forces a new Storage Account Local User to be created. */ readonly storageAccountId: pulumi.Output; /** * Create a LocalUser 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: LocalUserArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering LocalUser resources. */ export interface LocalUserState { /** * The home directory of the Storage Account Local User. */ homeDirectory?: pulumi.Input; /** * The name which should be used for this Storage Account Local User. Changing this forces a new Storage Account Local User to be created. */ name?: pulumi.Input; /** * The value of the password, which is only available when `sshPasswordEnabled` is set to `true`. */ password?: pulumi.Input; /** * One or more `permissionScope` blocks as defined below. */ permissionScopes?: pulumi.Input[]>; /** * The unique Security Identifier of this Storage Account Local User. */ sid?: pulumi.Input; /** * One or more `sshAuthorizedKey` blocks as defined below. */ sshAuthorizedKeys?: pulumi.Input[]>; /** * Specifies whether SSH Key Authentication is enabled. Defaults to `false`. */ sshKeyEnabled?: pulumi.Input; /** * Specifies whether SSH Password Authentication is enabled. Defaults to `false`. */ sshPasswordEnabled?: pulumi.Input; /** * The ID of the Storage Account that this Storage Account Local User resides in. Changing this forces a new Storage Account Local User to be created. */ storageAccountId?: pulumi.Input; } /** * The set of arguments for constructing a LocalUser resource. */ export interface LocalUserArgs { /** * The home directory of the Storage Account Local User. */ homeDirectory?: pulumi.Input; /** * The name which should be used for this Storage Account Local User. Changing this forces a new Storage Account Local User to be created. */ name?: pulumi.Input; /** * One or more `permissionScope` blocks as defined below. */ permissionScopes?: pulumi.Input[]>; /** * One or more `sshAuthorizedKey` blocks as defined below. */ sshAuthorizedKeys?: pulumi.Input[]>; /** * Specifies whether SSH Key Authentication is enabled. Defaults to `false`. */ sshKeyEnabled?: pulumi.Input; /** * Specifies whether SSH Password Authentication is enabled. Defaults to `false`. */ sshPasswordEnabled?: pulumi.Input; /** * The ID of the Storage Account that this Storage Account Local User resides in. Changing this forces a new Storage Account Local User to be created. */ storageAccountId: pulumi.Input; }