import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "./types"; /** * Adds and updates roles in the native realm. See, https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-role.html * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as elasticstack from "@pulumi/elasticstack"; * * const roleElasticsearchSecurityRole = new elasticstack.ElasticsearchSecurityRole("roleElasticsearchSecurityRole", { * clusters: ["all"], * indices: [{ * names: [ * "index1", * "index2", * ], * privileges: ["all"], * }], * applications: [{ * application: "myapp", * privileges: [ * "admin", * "read", * ], * resources: ["*"], * }], * runAs: ["other_user"], * metadata: JSON.stringify({ * version: 1, * }), * }); * export const role = roleElasticsearchSecurityRole; * ``` * * ## Import * * ```sh * $ pulumi import elasticstack:index/elasticsearchSecurityRole:ElasticsearchSecurityRole elasticstack_elasticsearch_security_role / * ``` */ export declare class ElasticsearchSecurityRole extends pulumi.CustomResource { /** * Get an existing ElasticsearchSecurityRole 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?: ElasticsearchSecurityRoleState, opts?: pulumi.CustomResourceOptions): ElasticsearchSecurityRole; /** * Returns true if the given object is an instance of ElasticsearchSecurityRole. 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 ElasticsearchSecurityRole; /** * A list of application privilege entries. */ readonly applications: pulumi.Output; /** * A list of cluster privileges. These privileges define the cluster level actions that users with this role are able to execute. */ readonly clusters: pulumi.Output; /** * Used to establish connection to Elasticsearch server. Overrides environment variables if present. */ readonly elasticsearchConnection: pulumi.Output; /** * An object defining global privileges. */ readonly global: pulumi.Output; /** * Internal identifier of the resource */ readonly id: pulumi.Output; /** * A list of indices permissions entries. */ readonly indices: pulumi.Output; /** * Optional meta-data. */ readonly metadata: pulumi.Output; /** * The name of the role. */ readonly name: pulumi.Output; /** * A list of users that the owners of this role can impersonate. */ readonly runAs: pulumi.Output; /** * Create a ElasticsearchSecurityRole 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?: ElasticsearchSecurityRoleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ElasticsearchSecurityRole resources. */ export interface ElasticsearchSecurityRoleState { /** * A list of application privilege entries. */ applications?: pulumi.Input[]>; /** * A list of cluster privileges. These privileges define the cluster level actions that users with this role are able to execute. */ clusters?: pulumi.Input[]>; /** * Used to establish connection to Elasticsearch server. Overrides environment variables if present. */ elasticsearchConnection?: pulumi.Input; /** * An object defining global privileges. */ global?: pulumi.Input; /** * Internal identifier of the resource */ id?: pulumi.Input; /** * A list of indices permissions entries. */ indices?: pulumi.Input[]>; /** * Optional meta-data. */ metadata?: pulumi.Input; /** * The name of the role. */ name?: pulumi.Input; /** * A list of users that the owners of this role can impersonate. */ runAs?: pulumi.Input[]>; } /** * The set of arguments for constructing a ElasticsearchSecurityRole resource. */ export interface ElasticsearchSecurityRoleArgs { /** * A list of application privilege entries. */ applications?: pulumi.Input[]>; /** * A list of cluster privileges. These privileges define the cluster level actions that users with this role are able to execute. */ clusters?: pulumi.Input[]>; /** * Used to establish connection to Elasticsearch server. Overrides environment variables if present. */ elasticsearchConnection?: pulumi.Input; /** * An object defining global privileges. */ global?: pulumi.Input; /** * A list of indices permissions entries. */ indices?: pulumi.Input[]>; /** * Optional meta-data. */ metadata?: pulumi.Input; /** * The name of the role. */ name?: pulumi.Input; /** * A list of users that the owners of this role can impersonate. */ runAs?: pulumi.Input[]>; }