import * as pulumi from "@pulumi/pulumi"; /** * Provides a Vultr User resource. This can be used to create, read, modify, and delete Users. * * ## Example Usage * * Create a new User without any ACLs * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vultr from "@ediri/vultr"; * * const myUser = new vultr.User("myUser", { * apiEnabled: true, * email: "user@vultr.com", * password: "myP@ssw0rd", * }); * ``` * * Create a new User with all ACLs * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vultr from "@ediri/vultr"; * * const myUser = new vultr.User("myUser", { * acls: [ * "manage_users", * "subscriptions", * "provisioning", * "billing", * "support", * "abuse", * "dns", * "upgrade", * ], * apiEnabled: true, * email: "user@vultr.com", * password: "myP@ssw0rd", * }); * ``` * * ## Import * * Users can be imported using the User `ID`, e.g. * * ```sh * $ pulumi import vultr:index/user:User myuser 1345fef0-8ed3-4a66-bd8c-822a7b7bd05a * ``` */ export declare class User extends pulumi.CustomResource { /** * Get an existing User 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?: UserState, opts?: pulumi.CustomResourceOptions): User; /** * Returns true if the given object is an instance of User. 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 User; /** * The access control list for the user. */ readonly acls: pulumi.Output; /** * Whether API is enabled for the user. Default behavior is set to enabled. */ readonly apiEnabled: pulumi.Output; readonly apiKey: pulumi.Output; /** * Email for this user. */ readonly email: pulumi.Output; /** * Name for this user. */ readonly name: pulumi.Output; /** * Password for this user. */ readonly password: pulumi.Output; /** * Create a User 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: UserArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering User resources. */ export interface UserState { /** * The access control list for the user. */ acls?: pulumi.Input[]>; /** * Whether API is enabled for the user. Default behavior is set to enabled. */ apiEnabled?: pulumi.Input; apiKey?: pulumi.Input; /** * Email for this user. */ email?: pulumi.Input; /** * Name for this user. */ name?: pulumi.Input; /** * Password for this user. */ password?: pulumi.Input; } /** * The set of arguments for constructing a User resource. */ export interface UserArgs { /** * The access control list for the user. */ acls?: pulumi.Input[]>; /** * Whether API is enabled for the user. Default behavior is set to enabled. */ apiEnabled?: pulumi.Input; /** * Email for this user. */ email: pulumi.Input; /** * Name for this user. */ name?: pulumi.Input; /** * Password for this user. */ password: pulumi.Input; }