UNPKG

@lbrlabs/pulumi-tailscalebastion

Version:

This repo provides a [multi-language](https://www.pulumi.com/blog/pulumiup-pulumi-packages-multi-language-components/) component that creates a [Tailscale](https://tailscale.com/) [Subnet Router](https://tailscale.com/kb/1019/subnets/) in your chosen clou

86 lines (85 loc) 2.76 kB
import * as pulumi from "@pulumi/pulumi"; export declare class Bastion extends pulumi.ComponentResource { /** * Returns true if the given object is an instance of Bastion. 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 Bastion; /** * The name of the ASG that managed the bastion instances */ readonly asgName: pulumi.Output<string>; /** * The SSH private key to access your bastion */ readonly privateKey: pulumi.Output<string>; /** * Create a Bastion 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: BastionArgs, opts?: pulumi.ComponentResourceOptions); } /** * The set of arguments for constructing a Bastion resource. */ export interface BastionArgs { /** * The CPU architecture for the bastion (x86_64 or arm64). */ architecture?: pulumi.Input<string>; /** * Whether the bastion advertises itself as an app connector. */ enableAppConnector?: pulumi.Input<boolean>; /** * Whether the subnet router can advertise itself as an exit node. */ enableExitNode?: pulumi.Input<boolean>; /** * Whether to enable SSH access to the bastion. */ enableSSH?: pulumi.Input<boolean>; /** * Whether the bastion should be highly available. */ highAvailability: pulumi.Input<boolean>; /** * The hostname of the bastion. */ hostname?: pulumi.Input<string>; /** * The EC2 instance type to use for the bastion. */ instanceType?: pulumi.Input<string>; /** * An OAuth Client Secret to use for authenticating Tailscale clients. */ oauthClientSecret?: pulumi.Input<string>; /** * Whether the bastion is going in public subnets. */ public?: pulumi.Input<boolean>; /** * The AWS region you're using. */ region: pulumi.Input<string>; /** * The routes you'd like to advertise via tailscale. */ routes?: pulumi.Input<pulumi.Input<string>[]>; /** * The subnet Ids to launch instances in. */ subnetIds: pulumi.Input<pulumi.Input<string>[]>; /** * The tags to apply to the tailnet device andauth key. This tag should be added to your oauth key and ACL. */ tailscaleTags: pulumi.Input<pulumi.Input<string>[]>; /** * The VPC the Bastion should be created in. */ vpcId: pulumi.Input<string>; }