import * as pulumi from "@pulumi/pulumi"; /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const kvv1 = new vault.Mount("kvv1", { * path: "kvv1", * type: "kv", * options: { * version: "1", * }, * description: "KV Version 1 secret engine mount", * }); * const secret = new vault.kv.Secret("secret", { * path: pulumi.interpolate`${kvv1.path}/secret`, * dataJson: JSON.stringify({ * zip: "zap", * foo: "bar", * }), * }); * const secretData = vault.kv.getSecretOutput({ * path: secret.path, * }); * ``` * * ## Required Vault Capabilities * * Use of this resource requires the `read` capability on the given path. */ export declare function getSecret(args: GetSecretArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getSecret. */ export interface GetSecretArgs { /** * 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; /** * Full path of the KV-V1 secret. */ path: string; } /** * A collection of values returned by getSecret. */ export interface GetSecretResult { /** * A mapping whose keys are the top-level data keys returned from * Vault and whose values are the corresponding values. This map can only * represent string data, so any non-string values returned from Vault are * serialized as JSON. */ readonly data: { [key: string]: string; }; /** * JSON-encoded string that that is * read as the secret data at the given path. */ readonly dataJson: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * The duration of the secret lease, in seconds. Once * this time has passed any plan generated with this data may fail to apply. */ readonly leaseDuration: number; /** * The lease identifier assigned by Vault, if any. */ readonly leaseId: string; /** * True if the duration of this lease can be extended * through renewal. */ readonly leaseRenewable: boolean; readonly namespace?: string; readonly path: string; } /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const kvv1 = new vault.Mount("kvv1", { * path: "kvv1", * type: "kv", * options: { * version: "1", * }, * description: "KV Version 1 secret engine mount", * }); * const secret = new vault.kv.Secret("secret", { * path: pulumi.interpolate`${kvv1.path}/secret`, * dataJson: JSON.stringify({ * zip: "zap", * foo: "bar", * }), * }); * const secretData = vault.kv.getSecretOutput({ * path: secret.path, * }); * ``` * * ## Required Vault Capabilities * * Use of this resource requires the `read` capability on the given path. */ export declare function getSecretOutput(args: GetSecretOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getSecret. */ export interface GetSecretOutputArgs { /** * 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; /** * Full path of the KV-V1 secret. */ path: pulumi.Input; }