import * as pulumi from "@pulumi/pulumi"; /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const config = new vault.NomadSecretBackend("config", { * backend: "nomad", * description: "test description", * defaultLeaseTtlSeconds: 3600, * maxLeaseTtlSeconds: 7200, * address: "https://127.0.0.1:4646", * token: "ae20ceaa-...", * }); * const test = new vault.NomadSecretRole("test", { * backend: config.backend, * role: "test", * type: "client", * policies: ["readonly"], * }); * ``` * * ## Import * * Nomad secret role can be imported using the `backend`, e.g. * * ```sh * $ pulumi import vault:index/nomadSecretRole:NomadSecretRole bob nomad/role/bob * ``` */ export declare class NomadSecretRole extends pulumi.CustomResource { /** * Get an existing NomadSecretRole 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?: NomadSecretRoleState, opts?: pulumi.CustomResourceOptions): NomadSecretRole; /** * Returns true if the given object is an instance of NomadSecretRole. 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 NomadSecretRole; /** * The unique path this backend should be mounted at. */ readonly backend: pulumi.Output; /** * Specifies if the generated token should be global. Defaults to * false. */ readonly global: pulumi.Output; /** * The namespace to provision the resource in. * The value should not contain leading or trailing forward slashes. * The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace). * *Available only for Vault Enterprise*. */ readonly namespace: pulumi.Output; /** * List of policies attached to the generated token. This setting is only used * when `type` is 'client'. */ readonly policies: pulumi.Output; /** * The name to identify this role within the backend. * Must be unique within the backend. */ readonly role: pulumi.Output; /** * Specifies the type of token to create when using this role. Valid * settings are 'client' and 'management'. Defaults to 'client'. */ readonly type: pulumi.Output; /** * Create a NomadSecretRole 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: NomadSecretRoleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering NomadSecretRole resources. */ export interface NomadSecretRoleState { /** * The unique path this backend should be mounted at. */ backend?: pulumi.Input; /** * Specifies if the generated token should be global. Defaults to * false. */ global?: pulumi.Input; /** * The namespace to provision the resource in. * The value should not contain leading or trailing forward slashes. * The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace). * *Available only for Vault Enterprise*. */ namespace?: pulumi.Input; /** * List of policies attached to the generated token. This setting is only used * when `type` is 'client'. */ policies?: pulumi.Input[]>; /** * The name to identify this role within the backend. * Must be unique within the backend. */ role?: pulumi.Input; /** * Specifies the type of token to create when using this role. Valid * settings are 'client' and 'management'. Defaults to 'client'. */ type?: pulumi.Input; } /** * The set of arguments for constructing a NomadSecretRole resource. */ export interface NomadSecretRoleArgs { /** * The unique path this backend should be mounted at. */ backend: pulumi.Input; /** * Specifies if the generated token should be global. Defaults to * false. */ global?: pulumi.Input; /** * The namespace to provision the resource in. * The value should not contain leading or trailing forward slashes. * The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace). * *Available only for Vault Enterprise*. */ namespace?: pulumi.Input; /** * List of policies attached to the generated token. This setting is only used * when `type` is 'client'. */ policies?: pulumi.Input[]>; /** * The name to identify this role within the backend. * Must be unique within the backend. */ role: pulumi.Input; /** * Specifies the type of token to create when using this role. Valid * settings are 'client' and 'management'. Defaults to 'client'. */ type?: pulumi.Input; }