@pulumi/consul
Version:
A Pulumi package for creating and managing consul resources.
213 lines (212 loc) • 7.75 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
* The `consul.AclToken` resource writes an ACL token into Consul.
*
* > **NOTE:** The `consul.AclToken` resource does not save the secret ID of the generated token to the Terraform state to avoid leaking it when it is not needed. If you need to get the secret ID after creating the ACL token you can use the [`consul.getAclTokenSecretId`](https://www.terraform.io/docs/providers/consul/d/consul_acl_token_secret_id.html) datasource.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as consul from "@pulumi/consul";
* import * as random from "@pulumi/random";
*
* // Basic usage
* const agent = new consul.AclPolicy("agent", {
* name: "agent",
* rules: `node_prefix \\"\\" {
* policy = \\"read\\"
* }
* `,
* });
* const test = new consul.AclToken("test", {
* description: "my test token",
* policies: [agent.name],
* local: true,
* });
* // Explicitly set the `accessor_id`
* const testUuid = new random.index.Uuid("test", {});
* const testPredefinedId = new consul.AclToken("test_predefined_id", {
* accessorId: testUuidRandomUuid.result,
* description: "my test uuid token",
* policies: [agent.name],
* local: true,
* });
* ```
*
* ## Import
*
* ```sh
* $ pulumi import consul:index/aclToken:AclToken anonymous 00000000-0000-0000-0000-000000000002
* $ pulumi import consul:index/aclToken:AclToken master-token 624d94ca-bc5c-f960-4e83-0a609cf588be
* ```
*/
export declare class AclToken extends pulumi.CustomResource {
/**
* Get an existing AclToken resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AclTokenState, opts?: pulumi.CustomResourceOptions): AclToken;
/**
* Returns true if the given object is an instance of AclToken. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is AclToken;
/**
* The uuid of the token. If omitted, Consul will generate a random uuid.
*/
readonly accessorId: pulumi.Output<string>;
/**
* The description of the token.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* If set this represents the point after which a token should be considered revoked and is eligible for destruction.
*/
readonly expirationTime: pulumi.Output<string | undefined>;
/**
* The flag to set the token local to the current datacenter.
*/
readonly local: pulumi.Output<boolean | undefined>;
/**
* The namespace to create the token within.
*/
readonly namespace: pulumi.Output<string | undefined>;
/**
* The list of node identities that should be applied to the token.
*/
readonly nodeIdentities: pulumi.Output<outputs.AclTokenNodeIdentity[] | undefined>;
/**
* The partition the ACL token is associated with.
*/
readonly partition: pulumi.Output<string | undefined>;
/**
* The list of policies attached to the token.
*/
readonly policies: pulumi.Output<string[] | undefined>;
/**
* The list of roles attached to the token.
*/
readonly roles: pulumi.Output<string[] | undefined>;
/**
* The list of service identities that should be applied to the token.
*/
readonly serviceIdentities: pulumi.Output<outputs.AclTokenServiceIdentity[] | undefined>;
/**
* The list of templated policies that should be applied to the token.
*/
readonly templatedPolicies: pulumi.Output<outputs.AclTokenTemplatedPolicy[] | undefined>;
/**
* Create a AclToken resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: AclTokenArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering AclToken resources.
*/
export interface AclTokenState {
/**
* The uuid of the token. If omitted, Consul will generate a random uuid.
*/
accessorId?: pulumi.Input<string>;
/**
* The description of the token.
*/
description?: pulumi.Input<string>;
/**
* If set this represents the point after which a token should be considered revoked and is eligible for destruction.
*/
expirationTime?: pulumi.Input<string>;
/**
* The flag to set the token local to the current datacenter.
*/
local?: pulumi.Input<boolean>;
/**
* The namespace to create the token within.
*/
namespace?: pulumi.Input<string>;
/**
* The list of node identities that should be applied to the token.
*/
nodeIdentities?: pulumi.Input<pulumi.Input<inputs.AclTokenNodeIdentity>[]>;
/**
* The partition the ACL token is associated with.
*/
partition?: pulumi.Input<string>;
/**
* The list of policies attached to the token.
*/
policies?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The list of roles attached to the token.
*/
roles?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The list of service identities that should be applied to the token.
*/
serviceIdentities?: pulumi.Input<pulumi.Input<inputs.AclTokenServiceIdentity>[]>;
/**
* The list of templated policies that should be applied to the token.
*/
templatedPolicies?: pulumi.Input<pulumi.Input<inputs.AclTokenTemplatedPolicy>[]>;
}
/**
* The set of arguments for constructing a AclToken resource.
*/
export interface AclTokenArgs {
/**
* The uuid of the token. If omitted, Consul will generate a random uuid.
*/
accessorId?: pulumi.Input<string>;
/**
* The description of the token.
*/
description?: pulumi.Input<string>;
/**
* If set this represents the point after which a token should be considered revoked and is eligible for destruction.
*/
expirationTime?: pulumi.Input<string>;
/**
* The flag to set the token local to the current datacenter.
*/
local?: pulumi.Input<boolean>;
/**
* The namespace to create the token within.
*/
namespace?: pulumi.Input<string>;
/**
* The list of node identities that should be applied to the token.
*/
nodeIdentities?: pulumi.Input<pulumi.Input<inputs.AclTokenNodeIdentity>[]>;
/**
* The partition the ACL token is associated with.
*/
partition?: pulumi.Input<string>;
/**
* The list of policies attached to the token.
*/
policies?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The list of roles attached to the token.
*/
roles?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The list of service identities that should be applied to the token.
*/
serviceIdentities?: pulumi.Input<pulumi.Input<inputs.AclTokenServiceIdentity>[]>;
/**
* The list of templated policies that should be applied to the token.
*/
templatedPolicies?: pulumi.Input<pulumi.Input<inputs.AclTokenTemplatedPolicy>[]>;
}