import * as pulumi from "@pulumi/pulumi"; /** * ## Example Usage * * ### Current namespace * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const current = vault.getNamespace({}); * ``` * * ### Single namespace * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const ns1 = vault.getNamespace({ * path: "ns1", * }); * ``` * * ### Nested namespace * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const child = vault.getNamespace({ * namespace: "parent", * path: "child", * }); * const fullPath = child.then(child => child.id); * // -> foo/parent/child/ * const pathFq = child.then(child => child.pathFq); * ``` */ export declare function getNamespace(args?: GetNamespaceArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getNamespace. */ export interface GetNamespaceArgs { /** * 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#namespace). */ namespace?: string; /** * The path of the namespace. Must not have a trailing `/`. * If not specified or empty, path attributes are set for the current namespace * based on the `namespace` arguments of the provider and this data source. * Other path related attributes will be empty in this case. */ path?: string; } /** * A collection of values returned by getNamespace. */ export interface GetNamespaceResult { /** * (Optional) A map of strings containing arbitrary metadata for the namespace. * Only fetched if `path` is specified. * *Requires Vault 1.12+.* */ readonly customMetadata: { [key: string]: string; }; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly namespace?: string; /** * Vault server's internal ID of the namespace. * Only fetched if `path` is specified. */ readonly namespaceId: string; readonly path?: string; /** * The fully qualified path to the namespace. Useful when provisioning resources in a child `namespace`. * The path is relative to the provider's `namespace` argument. */ readonly pathFq: string; } /** * ## Example Usage * * ### Current namespace * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const current = vault.getNamespace({}); * ``` * * ### Single namespace * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const ns1 = vault.getNamespace({ * path: "ns1", * }); * ``` * * ### Nested namespace * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const child = vault.getNamespace({ * namespace: "parent", * path: "child", * }); * const fullPath = child.then(child => child.id); * // -> foo/parent/child/ * const pathFq = child.then(child => child.pathFq); * ``` */ export declare function getNamespaceOutput(args?: GetNamespaceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getNamespace. */ export interface GetNamespaceOutputArgs { /** * 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#namespace). */ namespace?: pulumi.Input; /** * The path of the namespace. Must not have a trailing `/`. * If not specified or empty, path attributes are set for the current namespace * based on the `namespace` arguments of the provider and this data source. * Other path related attributes will be empty in this case. */ path?: pulumi.Input; }