import * as pulumi from "@pulumi/pulumi"; /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const kvv2 = new vault.Mount("kvv2", { * path: "kvv2", * type: "kv", * options: { * version: "2", * }, * description: "KV Version 2 secret engine mount", * }); * const awsSecret = new vault.kv.SecretV2("aws_secret", { * mount: kvv2.path, * name: "aws_secret", * dataJson: JSON.stringify({ * zip: "zap", * }), * }); * const azureSecret = new vault.kv.SecretV2("azure_secret", { * mount: kvv2.path, * name: "azure_secret", * dataJson: JSON.stringify({ * foo: "bar", * }), * }); * const nestedSecret = new vault.kv.SecretV2("nested_secret", { * mount: kvv2.path, * name: pulumi.interpolate`${azureSecret.name}/dev`, * dataJson: JSON.stringify({ * password: "test", * }), * }); * const secrets = vault.kv.getSecretsListV2Output({ * mount: kvv2.path, * }); * const nestedSecrets = kvv2.path.apply(path => vault.kv.getSecretsListV2Output({ * mount: path, * name: test2.name, * })); * ``` * * ## Required Vault Capabilities * * Use of this resource requires the `read` capability on the given path. */ export declare function getSecretsListV2(args: GetSecretsListV2Args, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getSecretsListV2. */ export interface GetSecretsListV2Args { /** * Path where KV-V2 engine is mounted. */ mount: string; /** * Full name of the secret. For a nested secret * the name is the nested path excluding the mount and data * prefix. For example, for a secret at `kvv2/data/foo/bar/baz` * the name is `foo/bar/baz`. */ name?: string; /** * The namespace of the target resource. * 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?: string; } /** * A collection of values returned by getSecretsListV2. */ export interface GetSecretsListV2Result { /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly mount: string; readonly name?: string; /** * List of all secret names listed under the given path. */ readonly names: string[]; readonly namespace?: string; /** * Full path where the KV-V2 secrets are listed. */ readonly path: string; } /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const kvv2 = new vault.Mount("kvv2", { * path: "kvv2", * type: "kv", * options: { * version: "2", * }, * description: "KV Version 2 secret engine mount", * }); * const awsSecret = new vault.kv.SecretV2("aws_secret", { * mount: kvv2.path, * name: "aws_secret", * dataJson: JSON.stringify({ * zip: "zap", * }), * }); * const azureSecret = new vault.kv.SecretV2("azure_secret", { * mount: kvv2.path, * name: "azure_secret", * dataJson: JSON.stringify({ * foo: "bar", * }), * }); * const nestedSecret = new vault.kv.SecretV2("nested_secret", { * mount: kvv2.path, * name: pulumi.interpolate`${azureSecret.name}/dev`, * dataJson: JSON.stringify({ * password: "test", * }), * }); * const secrets = vault.kv.getSecretsListV2Output({ * mount: kvv2.path, * }); * const nestedSecrets = kvv2.path.apply(path => vault.kv.getSecretsListV2Output({ * mount: path, * name: test2.name, * })); * ``` * * ## Required Vault Capabilities * * Use of this resource requires the `read` capability on the given path. */ export declare function getSecretsListV2Output(args: GetSecretsListV2OutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getSecretsListV2. */ export interface GetSecretsListV2OutputArgs { /** * Path where KV-V2 engine is mounted. */ mount: pulumi.Input; /** * Full name of the secret. For a nested secret * the name is the nested path excluding the mount and data * prefix. For example, for a secret at `kvv2/data/foo/bar/baz` * the name is `foo/bar/baz`. */ name?: pulumi.Input; /** * The namespace of the target resource. * 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; }