@pulumi/consul
Version:
A Pulumi package for creating and managing consul resources.
156 lines (155 loc) • 5.21 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
* The `consul.Keys` datasource reads values from the Consul key/value store. This is a powerful way to dynamically set values in templates.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* import * as consul from "@pulumi/consul";
*
* const app = consul.getKeys({
* datacenter: "nyc1",
* keys: [{
* name: "ami",
* path: "service/app/launch_ami",
* "default": "ami-1234",
* }],
* });
* // Start our instance with the dynamic ami value
* const appInstance = new aws.index.Instance("app", {ami: app["var"]?.ami});
* ```
*/
export declare function getKeys(args?: GetKeysArgs, opts?: pulumi.InvokeOptions): Promise<GetKeysResult>;
/**
* A collection of arguments for invoking getKeys.
*/
export interface GetKeysArgs {
/**
* The datacenter to use. This overrides the agent's default datacenter and the datacenter in the provider setup.
*/
datacenter?: string;
/**
* Whether to return an error when a key is absent from the KV store and no default is configured. This defaults to `false`.
*/
errorOnMissingKeys?: boolean;
/**
* Specifies a key in Consul to be read. Supported values documented below. Multiple blocks supported.
*/
keys?: inputs.GetKeysKey[];
/**
* The namespace to lookup the keys.
*/
namespace?: string;
/**
* The partition to lookup the keys.
*/
partition?: string;
/**
* The ACL token to use. This overrides the token that the agent provides by default.
*
* @deprecated The token argument has been deprecated and will be removed in a future release.
Please use the token argument in the provider configuration
*/
token?: string;
}
/**
* A collection of values returned by getKeys.
*/
export interface GetKeysResult {
/**
* The datacenter to use. This overrides the agent's default datacenter and the datacenter in the provider setup.
*/
readonly datacenter: string;
/**
* Whether to return an error when a key is absent from the KV store and no default is configured. This defaults to `false`.
*/
readonly errorOnMissingKeys?: boolean;
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
/**
* Specifies a key in Consul to be read. Supported values documented below. Multiple blocks supported.
*/
readonly keys?: outputs.GetKeysKey[];
/**
* The namespace to lookup the keys.
*/
readonly namespace?: string;
/**
* The partition to lookup the keys.
*/
readonly partition?: string;
/**
* The ACL token to use. This overrides the token that the agent provides by default.
*
* @deprecated The token argument has been deprecated and will be removed in a future release.
Please use the token argument in the provider configuration
*/
readonly token?: string;
/**
* For each name given, the corresponding attribute has the value of the key.
*/
readonly var: {
[key: string]: string;
};
}
/**
* The `consul.Keys` datasource reads values from the Consul key/value store. This is a powerful way to dynamically set values in templates.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* import * as consul from "@pulumi/consul";
*
* const app = consul.getKeys({
* datacenter: "nyc1",
* keys: [{
* name: "ami",
* path: "service/app/launch_ami",
* "default": "ami-1234",
* }],
* });
* // Start our instance with the dynamic ami value
* const appInstance = new aws.index.Instance("app", {ami: app["var"]?.ami});
* ```
*/
export declare function getKeysOutput(args?: GetKeysOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetKeysResult>;
/**
* A collection of arguments for invoking getKeys.
*/
export interface GetKeysOutputArgs {
/**
* The datacenter to use. This overrides the agent's default datacenter and the datacenter in the provider setup.
*/
datacenter?: pulumi.Input<string>;
/**
* Whether to return an error when a key is absent from the KV store and no default is configured. This defaults to `false`.
*/
errorOnMissingKeys?: pulumi.Input<boolean>;
/**
* Specifies a key in Consul to be read. Supported values documented below. Multiple blocks supported.
*/
keys?: pulumi.Input<pulumi.Input<inputs.GetKeysKeyArgs>[]>;
/**
* The namespace to lookup the keys.
*/
namespace?: pulumi.Input<string>;
/**
* The partition to lookup the keys.
*/
partition?: pulumi.Input<string>;
/**
* The ACL token to use. This overrides the token that the agent provides by default.
*
* @deprecated The token argument has been deprecated and will be removed in a future release.
Please use the token argument in the provider configuration
*/
token?: pulumi.Input<string>;
}