import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "./types"; /** * Adds and updates users in the native realm. These users are commonly referred to as native users. See, https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-user.html * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as elasticstack from "@pulumi/elasticstack"; * * const user = new elasticstack.ElasticsearchSecurityUser("user", { * username: "testuser", * passwordHash: `$2a$10$rMZe6TdsUwBX/TA8vRDz0OLwKAZeCzXM4jT3tfCjpSTB8HoFuq8xO`, * roles: ["kibana_user"], * metadata: JSON.stringify({ * env: "testing", * open: false, * number: 49, * }), * elasticsearchConnection: { * endpoints: ["http://localhost:9200"], * username: "elastic", * password: "changeme", * }, * }); * const dev = new elasticstack.ElasticsearchSecurityUser("dev", { * username: "devuser", * password: "1234567890", * roles: ["kibana_user"], * metadata: JSON.stringify({ * env: "testing", * open: false, * number: 49, * }), * }); * ``` * * ## Import * * ```sh * $ pulumi import elasticstack:index/elasticsearchSecurityUser:ElasticsearchSecurityUser user /elastic * ``` */ export declare class ElasticsearchSecurityUser extends pulumi.CustomResource { /** * Get an existing ElasticsearchSecurityUser 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?: ElasticsearchSecurityUserState, opts?: pulumi.CustomResourceOptions): ElasticsearchSecurityUser; /** * Returns true if the given object is an instance of ElasticsearchSecurityUser. 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 ElasticsearchSecurityUser; /** * Used to establish connection to Elasticsearch server. Overrides environment variables if present. */ readonly elasticsearchConnection: pulumi.Output; /** * The email of the user. */ readonly email: pulumi.Output; /** * Specifies whether the user is enabled. The default value is true. */ readonly enabled: pulumi.Output; /** * The full name of the user. */ readonly fullName: pulumi.Output; /** * Internal identifier of the resource */ readonly id: pulumi.Output; /** * Arbitrary metadata that you want to associate with the user. */ readonly metadata: pulumi.Output; /** * The user’s password. Passwords must be at least 6 characters long. */ readonly password: pulumi.Output; /** * A hash of the user’s password. This must be produced using the same hashing algorithm as has been configured for password storage (see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-settings.html#hashing-settings). */ readonly passwordHash: pulumi.Output; /** * A set of roles the user has. The roles determine the user’s access permissions. Default is []. */ readonly roles: pulumi.Output; /** * An identifier for the user (see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-user.html#security-api-put-user-path-params). */ readonly username: pulumi.Output; /** * Create a ElasticsearchSecurityUser 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: ElasticsearchSecurityUserArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ElasticsearchSecurityUser resources. */ export interface ElasticsearchSecurityUserState { /** * Used to establish connection to Elasticsearch server. Overrides environment variables if present. */ elasticsearchConnection?: pulumi.Input; /** * The email of the user. */ email?: pulumi.Input; /** * Specifies whether the user is enabled. The default value is true. */ enabled?: pulumi.Input; /** * The full name of the user. */ fullName?: pulumi.Input; /** * Internal identifier of the resource */ id?: pulumi.Input; /** * Arbitrary metadata that you want to associate with the user. */ metadata?: pulumi.Input; /** * The user’s password. Passwords must be at least 6 characters long. */ password?: pulumi.Input; /** * A hash of the user’s password. This must be produced using the same hashing algorithm as has been configured for password storage (see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-settings.html#hashing-settings). */ passwordHash?: pulumi.Input; /** * A set of roles the user has. The roles determine the user’s access permissions. Default is []. */ roles?: pulumi.Input[]>; /** * An identifier for the user (see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-user.html#security-api-put-user-path-params). */ username?: pulumi.Input; } /** * The set of arguments for constructing a ElasticsearchSecurityUser resource. */ export interface ElasticsearchSecurityUserArgs { /** * Used to establish connection to Elasticsearch server. Overrides environment variables if present. */ elasticsearchConnection?: pulumi.Input; /** * The email of the user. */ email?: pulumi.Input; /** * Specifies whether the user is enabled. The default value is true. */ enabled?: pulumi.Input; /** * The full name of the user. */ fullName?: pulumi.Input; /** * Arbitrary metadata that you want to associate with the user. */ metadata?: pulumi.Input; /** * The user’s password. Passwords must be at least 6 characters long. */ password?: pulumi.Input; /** * A hash of the user’s password. This must be produced using the same hashing algorithm as has been configured for password storage (see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-settings.html#hashing-settings). */ passwordHash?: pulumi.Input; /** * A set of roles the user has. The roles determine the user’s access permissions. Default is []. */ roles: pulumi.Input[]>; /** * An identifier for the user (see https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-user.html#security-api-put-user-path-params). */ username: pulumi.Input; }