UNPKG

@emailbob/twingate

Version:

A Pulumi package for creating and managing Twingate cloud resources.

109 lines (108 loc) 4.87 kB
import * as pulumi from "@pulumi/pulumi"; /** * A Service Key authorizes access to all Resources assigned to a Service Account. * * ## Example Usage * * <!--Start PulumiCodeChooser --> * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as time from "@pulumiverse/time"; * import * as twingate from "@emailbob/twingate"; * * const githubActionsProd = new twingate.TwingateServiceAccount("githubActionsProd", {}); * const githubKey = new twingate.TwingateServiceAccountKey("githubKey", {serviceAccountId: githubActionsProd.id}); * // Key rotation using the time provider (see https://registry.terraform.io/providers/hashicorp/time/latest) * const keyRotationRotating = new time.Rotating("keyRotationRotating", {rotationDays: 30}); * const keyRotationStatic = new time.Static("keyRotationStatic", {rfc3339: keyRotationRotating.rfc3339}); * const githubKeyWithRotation = new twingate.TwingateServiceAccountKey("githubKeyWithRotation", {serviceAccountId: githubActionsProd.id}); * ``` * <!--End PulumiCodeChooser --> */ export declare class TwingateServiceAccountKey extends pulumi.CustomResource { /** * Get an existing TwingateServiceAccountKey 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?: TwingateServiceAccountKeyState, opts?: pulumi.CustomResourceOptions): TwingateServiceAccountKey; /** * Returns true if the given object is an instance of TwingateServiceAccountKey. 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 TwingateServiceAccountKey; /** * Specifies how many days until a Service Account Key expires. This should be an integer between 0 and 365 representing the number of days until the Service Account Key will expire. Defaults to 0, meaning the key will never expire. */ readonly expirationTime: pulumi.Output<number>; /** * If the value of this attribute changes to false, Terraform will destroy and recreate the resource. */ readonly isActive: pulumi.Output<boolean>; /** * The name of the Service Key */ readonly name: pulumi.Output<string>; /** * The id of the Service Account */ readonly serviceAccountId: pulumi.Output<string>; /** * Autogenerated Service Key token. Used to configure a Twingate Client running in headless mode. */ readonly token: pulumi.Output<string>; /** * Create a TwingateServiceAccountKey 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: TwingateServiceAccountKeyArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering TwingateServiceAccountKey resources. */ export interface TwingateServiceAccountKeyState { /** * Specifies how many days until a Service Account Key expires. This should be an integer between 0 and 365 representing the number of days until the Service Account Key will expire. Defaults to 0, meaning the key will never expire. */ expirationTime?: pulumi.Input<number>; /** * If the value of this attribute changes to false, Terraform will destroy and recreate the resource. */ isActive?: pulumi.Input<boolean>; /** * The name of the Service Key */ name?: pulumi.Input<string>; /** * The id of the Service Account */ serviceAccountId?: pulumi.Input<string>; /** * Autogenerated Service Key token. Used to configure a Twingate Client running in headless mode. */ token?: pulumi.Input<string>; } /** * The set of arguments for constructing a TwingateServiceAccountKey resource. */ export interface TwingateServiceAccountKeyArgs { /** * Specifies how many days until a Service Account Key expires. This should be an integer between 0 and 365 representing the number of days until the Service Account Key will expire. Defaults to 0, meaning the key will never expire. */ expirationTime?: pulumi.Input<number>; /** * The name of the Service Key */ name?: pulumi.Input<string>; /** * The id of the Service Account */ serviceAccountId: pulumi.Input<string>; }