UNPKG

@piclemx/pulumi-opensearch

Version:

A Pulumi package for creating and managing Opensearch resources. Based on terraform-provider-opensearch: version v2.2.1

126 lines (125 loc) 4.14 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Provides an OpenSearch security role resource. Please refer to the OpenSearch Access Control documentation for details. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as opensearch from "@piclemx/pulumi-opensearch"; * * // To set document level permissions: * const writer = new opensearch.Role("writer", { * clusterPermissions: ["*"], * indexPermissions: [{ * allowedActions: ["read"], * documentLevelSecurity: "{\"term\": { \"readable_by\": \"${user.name}\"}}", * indexPatterns: ["pub*"], * }], * roleName: "foo_writer", * }); * ``` * * ## Import * * ```sh * $ pulumi import opensearch:index/role:Role writer logs_writer * ``` */ export declare class Role extends pulumi.CustomResource { /** * Get an existing Role 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<pulumi.ID>, state?: RoleState, opts?: pulumi.CustomResourceOptions): Role; /** * Returns true if the given object is an instance of Role. 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 Role; /** * A list of cluster permissions. */ readonly clusterPermissions: pulumi.Output<string[] | undefined>; /** * Description of the role. */ readonly description: pulumi.Output<string | undefined>; /** * A configuration of index permissions */ readonly indexPermissions: pulumi.Output<outputs.RoleIndexPermission[] | undefined>; /** * The name of the security role. */ readonly roleName: pulumi.Output<string>; /** * A configuration of tenant permissions */ readonly tenantPermissions: pulumi.Output<outputs.RoleTenantPermission[] | undefined>; /** * Create a Role 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: RoleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Role resources. */ export interface RoleState { /** * A list of cluster permissions. */ clusterPermissions?: pulumi.Input<pulumi.Input<string>[]>; /** * Description of the role. */ description?: pulumi.Input<string>; /** * A configuration of index permissions */ indexPermissions?: pulumi.Input<pulumi.Input<inputs.RoleIndexPermission>[]>; /** * The name of the security role. */ roleName?: pulumi.Input<string>; /** * A configuration of tenant permissions */ tenantPermissions?: pulumi.Input<pulumi.Input<inputs.RoleTenantPermission>[]>; } /** * The set of arguments for constructing a Role resource. */ export interface RoleArgs { /** * A list of cluster permissions. */ clusterPermissions?: pulumi.Input<pulumi.Input<string>[]>; /** * Description of the role. */ description?: pulumi.Input<string>; /** * A configuration of index permissions */ indexPermissions?: pulumi.Input<pulumi.Input<inputs.RoleIndexPermission>[]>; /** * The name of the security role. */ roleName: pulumi.Input<string>; /** * A configuration of tenant permissions */ tenantPermissions?: pulumi.Input<pulumi.Input<inputs.RoleTenantPermission>[]>; }