@pulumi/vault
Version:
A Pulumi package for creating and managing HashiCorp Vault cloud resources.
145 lines (144 loc) • 4.28 kB
TypeScript
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<GetNamespaceResult>;
/**
* 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<GetNamespaceResult>;
/**
* 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<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?: pulumi.Input<string>;
}