import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Creates and manages an [Aiven for Valkey™](https://aiven.io/docs/products/valkey) service user. If this resource is missing (for example, after a service power off), it's removed from the state and a new create plan is generated. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aiven from "@pulumi/aiven"; * * const example = new aiven.ValkeyUser("example", { * project: "my-project", * serviceName: "my-valkey", * username: "testuser", * passwordWo: "password123", * passwordWoVersion: 1, * valkeyAclCategories: [ * "+@write", * "+@keyspace", * ], * valkeyAclChannels: ["some*chan"], * valkeyAclCommands: [ * "+set", * "+del", * "+expire", * "-flushall", * "-flushdb", * ], * valkeyAclKeys: ["session:*"], * }); * ``` * * ## Import * * ```sh * $ pulumi import aiven:index/valkeyUser:ValkeyUser example PROJECT/SERVICE_NAME/USERNAME * ``` */ export declare class ValkeyUser extends pulumi.CustomResource { /** * Get an existing ValkeyUser 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?: ValkeyUserState, opts?: pulumi.CustomResourceOptions): ValkeyUser; /** * Returns true if the given object is an instance of ValkeyUser. 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 ValkeyUser; /** * The password of the service user (auto-generated if not provided). The field conflicts with `passwordWo`. Length must be between `8` and `256`. */ readonly password: pulumi.Output; /** * The password hashing algorithm used for this PostgreSQL user, derived from the stored password hash. 'unknown' is reported when the hash is missing or uses an unrecognised format. The possible values are `md5`, `scram-sha-256` and `unknown`. */ readonly passwordEncryptionType: pulumi.Output; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * The password of the service user (write-only, not stored in state). The field is required with `passwordWoVersion`. The field conflicts with `password`. Length must be between `8` and `256`. */ readonly passwordWo: pulumi.Output; /** * Version number for `passwordWo`. Increment this to rotate the password. The field is required with `passwordWo`. Minimum value: `1`. */ readonly passwordWoVersion: pulumi.Output; /** * Project name. Changing this property forces recreation of the resource. */ readonly project: pulumi.Output; /** * Service name. Changing this property forces recreation of the resource. */ readonly serviceName: pulumi.Output; readonly timeouts: pulumi.Output; /** * Account type. */ readonly type: pulumi.Output; /** * Service username. Maximum length: `64`. Must match pattern: `^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$`. Changing this property forces recreation of the resource. */ readonly username: pulumi.Output; /** * Allow or disallow command categories. To allow a category use the prefix `+@` and to disallow use `-@`. See the [Valkey documentation](https://valkey.io/topics/acl/) for details on the ACL feature. The field is required with `valkeyAclCommands` and `valkeyAclKeys`. */ readonly valkeyAclCategories: pulumi.Output; /** * Allows and disallows access to pub/sub channels. Entries are defined as standard glob patterns. */ readonly valkeyAclChannels: pulumi.Output; /** * Defines rules for individual commands. To allow a command use the prefix `+` and to disallow use `-`. The field is required with `valkeyAclCategories` and `valkeyAclKeys`. */ readonly valkeyAclCommands: pulumi.Output; /** * Key access rules. Entries are defined as standard glob patterns. The field is required with `valkeyAclCategories` and `valkeyAclCommands`. */ readonly valkeyAclKeys: pulumi.Output; /** * Create a ValkeyUser 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: ValkeyUserArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ValkeyUser resources. */ export interface ValkeyUserState { /** * The password of the service user (auto-generated if not provided). The field conflicts with `passwordWo`. Length must be between `8` and `256`. */ password?: pulumi.Input; /** * The password hashing algorithm used for this PostgreSQL user, derived from the stored password hash. 'unknown' is reported when the hash is missing or uses an unrecognised format. The possible values are `md5`, `scram-sha-256` and `unknown`. */ passwordEncryptionType?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * The password of the service user (write-only, not stored in state). The field is required with `passwordWoVersion`. The field conflicts with `password`. Length must be between `8` and `256`. */ passwordWo?: pulumi.Input; /** * Version number for `passwordWo`. Increment this to rotate the password. The field is required with `passwordWo`. Minimum value: `1`. */ passwordWoVersion?: pulumi.Input; /** * Project name. Changing this property forces recreation of the resource. */ project?: pulumi.Input; /** * Service name. Changing this property forces recreation of the resource. */ serviceName?: pulumi.Input; timeouts?: pulumi.Input; /** * Account type. */ type?: pulumi.Input; /** * Service username. Maximum length: `64`. Must match pattern: `^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$`. Changing this property forces recreation of the resource. */ username?: pulumi.Input; /** * Allow or disallow command categories. To allow a category use the prefix `+@` and to disallow use `-@`. See the [Valkey documentation](https://valkey.io/topics/acl/) for details on the ACL feature. The field is required with `valkeyAclCommands` and `valkeyAclKeys`. */ valkeyAclCategories?: pulumi.Input[] | undefined>; /** * Allows and disallows access to pub/sub channels. Entries are defined as standard glob patterns. */ valkeyAclChannels?: pulumi.Input[] | undefined>; /** * Defines rules for individual commands. To allow a command use the prefix `+` and to disallow use `-`. The field is required with `valkeyAclCategories` and `valkeyAclKeys`. */ valkeyAclCommands?: pulumi.Input[] | undefined>; /** * Key access rules. Entries are defined as standard glob patterns. The field is required with `valkeyAclCategories` and `valkeyAclCommands`. */ valkeyAclKeys?: pulumi.Input[] | undefined>; } /** * The set of arguments for constructing a ValkeyUser resource. */ export interface ValkeyUserArgs { /** * The password of the service user (auto-generated if not provided). The field conflicts with `passwordWo`. Length must be between `8` and `256`. */ password?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * The password of the service user (write-only, not stored in state). The field is required with `passwordWoVersion`. The field conflicts with `password`. Length must be between `8` and `256`. */ passwordWo?: pulumi.Input; /** * Version number for `passwordWo`. Increment this to rotate the password. The field is required with `passwordWo`. Minimum value: `1`. */ passwordWoVersion?: pulumi.Input; /** * Project name. Changing this property forces recreation of the resource. */ project: pulumi.Input; /** * Service name. Changing this property forces recreation of the resource. */ serviceName: pulumi.Input; timeouts?: pulumi.Input; /** * Service username. Maximum length: `64`. Must match pattern: `^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$`. Changing this property forces recreation of the resource. */ username: pulumi.Input; /** * Allow or disallow command categories. To allow a category use the prefix `+@` and to disallow use `-@`. See the [Valkey documentation](https://valkey.io/topics/acl/) for details on the ACL feature. The field is required with `valkeyAclCommands` and `valkeyAclKeys`. */ valkeyAclCategories?: pulumi.Input[] | undefined>; /** * Allows and disallows access to pub/sub channels. Entries are defined as standard glob patterns. */ valkeyAclChannels?: pulumi.Input[] | undefined>; /** * Defines rules for individual commands. To allow a command use the prefix `+` and to disallow use `-`. The field is required with `valkeyAclCategories` and `valkeyAclKeys`. */ valkeyAclCommands?: pulumi.Input[] | undefined>; /** * Key access rules. Entries are defined as standard glob patterns. The field is required with `valkeyAclCategories` and `valkeyAclCommands`. */ valkeyAclKeys?: pulumi.Input[] | undefined>; } //# sourceMappingURL=valkeyUser.d.ts.map