import * as pulumi from "@pulumi/pulumi"; /** * ## Example Usage * * ### Direct child namespaces * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const children = vault.getNamespaces({}); * ``` * * ### All child namespaces * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const children = vault.getNamespaces({ * recursive: true, * }); * ``` * * ### Child namespace details * * To fetch the details of child namespaces: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const children = vault.getNamespaces({ * namespace: "parent", * }); * const child = .reduce((__obj, [__key, __value]) => ({ ...__obj, [__key]: vault.getNamespace({ * namespace: _arg0_.namespace, * path: __key, * }) })); * ``` */ export declare function getNamespaces(args?: GetNamespacesArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getNamespaces. */ export interface GetNamespacesArgs { /** * 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; /** * If `true`, it will returns all child namespaces of the given namespace. Defaults to `false`, which returns only direct child namespaces. */ recursive?: boolean; } /** * A collection of values returned by getNamespaces. */ export interface GetNamespacesResult { /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly namespace?: string; /** * Set of the paths of child namespaces. */ readonly paths: string[]; /** * Set of the fully qualified paths of child namespaces. */ readonly pathsFqs: string[]; readonly recursive?: boolean; } /** * ## Example Usage * * ### Direct child namespaces * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const children = vault.getNamespaces({}); * ``` * * ### All child namespaces * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const children = vault.getNamespaces({ * recursive: true, * }); * ``` * * ### Child namespace details * * To fetch the details of child namespaces: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const children = vault.getNamespaces({ * namespace: "parent", * }); * const child = .reduce((__obj, [__key, __value]) => ({ ...__obj, [__key]: vault.getNamespace({ * namespace: _arg0_.namespace, * path: __key, * }) })); * ``` */ export declare function getNamespacesOutput(args?: GetNamespacesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getNamespaces. */ export interface GetNamespacesOutputArgs { /** * 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; /** * If `true`, it will returns all child namespaces of the given namespace. Defaults to `false`, which returns only direct child namespaces. */ recursive?: pulumi.Input; }