import * as pulumi from "@pulumi/pulumi"; /** * The `mysql.UserPassword` resource sets and manages a password for a given * user on a MySQL server. * * > **NOTE on MySQL Passwords:** This resource conflicts with the `password` * argument for `mysql.User`. This resource uses PGP encryption to avoid * storing unencrypted passwords in Terraform state. * * > **NOTE on How Passwords are Created:** This resource **automatically** * generates a **random** password. The password will be a random UUID. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as mysql from "@pulumi/mysql"; * * const jdoe = new mysql.User("jdoe", {user: "jdoe"}); * const jdoeUserPassword = new mysql.UserPassword("jdoe", { * user: jdoe.user, * pgpKey: "keybase:joestump", * }); * ``` * * You can rotate passwords by running `terraform taint mysql_user_password.jdoe`. * The next time Terraform applies a new password will be generated and the user's * password will be updated accordingly. */ export declare class UserPassword extends pulumi.CustomResource { /** * Get an existing UserPassword 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?: UserPasswordState, opts?: pulumi.CustomResourceOptions): UserPassword; /** * Returns true if the given object is an instance of UserPassword. 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 UserPassword; /** * The encrypted password, base64 encoded. */ readonly encryptedPassword: pulumi.Output; /** * The source host of the user. Defaults to `localhost`. */ readonly host: pulumi.Output; /** * The fingerprint of the PGP key used to encrypt the password */ readonly keyFingerprint: pulumi.Output; /** * Either a base-64 encoded PGP public key, or a keybase username in the form `keybase:some_person_that_exists`. */ readonly pgpKey: pulumi.Output; /** * The IAM user to associate with this access key. */ readonly user: pulumi.Output; /** * Create a UserPassword 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: UserPasswordArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering UserPassword resources. */ export interface UserPasswordState { /** * The encrypted password, base64 encoded. */ encryptedPassword?: pulumi.Input; /** * The source host of the user. Defaults to `localhost`. */ host?: pulumi.Input; /** * The fingerprint of the PGP key used to encrypt the password */ keyFingerprint?: pulumi.Input; /** * Either a base-64 encoded PGP public key, or a keybase username in the form `keybase:some_person_that_exists`. */ pgpKey?: pulumi.Input; /** * The IAM user to associate with this access key. */ user?: pulumi.Input; } /** * The set of arguments for constructing a UserPassword resource. */ export interface UserPasswordArgs { /** * The source host of the user. Defaults to `localhost`. */ host?: pulumi.Input; /** * Either a base-64 encoded PGP public key, or a keybase username in the form `keybase:some_person_that_exists`. */ pgpKey: pulumi.Input; /** * The IAM user to associate with this access key. */ user: pulumi.Input; } //# sourceMappingURL=userPassword.d.ts.map