import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * By establishing a connection between the IPsec connection of the VPN and the transit router, you can enable communication between the VPN-connected network and the private network of the transit router. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as volcenginecc from "@volcengine/pulumi-volcenginecc"; * * const transitRouterVpnAttachmentDemo = new volcenginecc.transitrouter.VpnAttachment("TransitRouterVpnAttachmentDemo", { * description: "test", * tags: [{ * key: "env", * value: "test", * }], * transitRouterAttachmentName: "ccapi-test-1", * transitRouterId: "tr-mjl8zkxxxxxsmt1boobol4", * transitRouterRouteTableId: "tr-rtb-mjlxxxxxo5smt1bnewrhh", * vpnConnectionId: "vgc-ij0yxxxxx474o8cux0n08t", * zoneId: "cn-beijing-a", * }); * ``` * * ## Import * * ```sh * $ pulumi import volcenginecc:transitrouter/vpnAttachment:VpnAttachment example "transit_router_id|transit_router_attachment_id" * ``` */ export declare class VpnAttachment extends pulumi.CustomResource { /** * Get an existing VpnAttachment 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, state?: VpnAttachmentState, opts?: pulumi.CustomResourceOptions): VpnAttachment; /** * Returns true if the given object is an instance of VpnAttachment. 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 VpnAttachment; /** * Whether to automatically sync TR routes to the network instance route table. */ readonly autoPublishRouteEnabled: pulumi.Output; /** * Creation time. */ readonly createdTime: pulumi.Output; /** * Network instance connection description. Must start with a letter, number, or Chinese character. Can include letters, numbers, Chinese characters, and the following special characters: comma (,), period (.), underscore (_), space ( ), equals sign (=), hyphen (-), Chinese comma (,), and Chinese period (。). Length limit: 0–255 characters. If this parameter is not provided or no value is specified, the default is an empty string. */ readonly description: pulumi.Output; /** * Whether to enable health check route convergence. true: Yes. Effective only when the IPsec connection has health check enabled; supports convergence of static routes only, not BGP routes. false: No. */ readonly healthCheckRevokeRouteEnabled: pulumi.Output; /** * Whether to enable IPv6. */ readonly ipv6Enabled: pulumi.Output; /** * Network instance connection status. Creating: being created. Deleting: being deleted. Pending: being configured. Available: available. */ readonly status: pulumi.Output; readonly tags: pulumi.Output; /** * Network instance connection ID. */ readonly transitRouterAttachmentId: pulumi.Output; /** * Network instance connection name. Must start with a letter, number, or Chinese character. Can include letters, numbers, Chinese characters, and the following special characters: period (.), underscore (_), and hyphen (-). Length limit: 1–128 characters. If this parameter is not provided or no value is specified, the default is the network instance connection ID. */ readonly transitRouterAttachmentName: pulumi.Output; /** * Transit router instance ID. */ readonly transitRouterId: pulumi.Output; /** * Associated TR route table ID. */ readonly transitRouterRouteTableId: pulumi.Output; /** * Update time. */ readonly updatedTime: pulumi.Output; /** * IPsec connection ID. */ readonly vpnConnectionId: pulumi.Output; /** * ID of the availability zone to which the IPsec connection belongs. */ readonly zoneId: pulumi.Output; /** * Create a VpnAttachment 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: VpnAttachmentArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering VpnAttachment resources. */ export interface VpnAttachmentState { /** * Whether to automatically sync TR routes to the network instance route table. */ autoPublishRouteEnabled?: pulumi.Input; /** * Creation time. */ createdTime?: pulumi.Input; /** * Network instance connection description. Must start with a letter, number, or Chinese character. Can include letters, numbers, Chinese characters, and the following special characters: comma (,), period (.), underscore (_), space ( ), equals sign (=), hyphen (-), Chinese comma (,), and Chinese period (。). Length limit: 0–255 characters. If this parameter is not provided or no value is specified, the default is an empty string. */ description?: pulumi.Input; /** * Whether to enable health check route convergence. true: Yes. Effective only when the IPsec connection has health check enabled; supports convergence of static routes only, not BGP routes. false: No. */ healthCheckRevokeRouteEnabled?: pulumi.Input; /** * Whether to enable IPv6. */ ipv6Enabled?: pulumi.Input; /** * Network instance connection status. Creating: being created. Deleting: being deleted. Pending: being configured. Available: available. */ status?: pulumi.Input; tags?: pulumi.Input[]>; /** * Network instance connection ID. */ transitRouterAttachmentId?: pulumi.Input; /** * Network instance connection name. Must start with a letter, number, or Chinese character. Can include letters, numbers, Chinese characters, and the following special characters: period (.), underscore (_), and hyphen (-). Length limit: 1–128 characters. If this parameter is not provided or no value is specified, the default is the network instance connection ID. */ transitRouterAttachmentName?: pulumi.Input; /** * Transit router instance ID. */ transitRouterId?: pulumi.Input; /** * Associated TR route table ID. */ transitRouterRouteTableId?: pulumi.Input; /** * Update time. */ updatedTime?: pulumi.Input; /** * IPsec connection ID. */ vpnConnectionId?: pulumi.Input; /** * ID of the availability zone to which the IPsec connection belongs. */ zoneId?: pulumi.Input; } /** * The set of arguments for constructing a VpnAttachment resource. */ export interface VpnAttachmentArgs { /** * Network instance connection description. Must start with a letter, number, or Chinese character. Can include letters, numbers, Chinese characters, and the following special characters: comma (,), period (.), underscore (_), space ( ), equals sign (=), hyphen (-), Chinese comma (,), and Chinese period (。). Length limit: 0–255 characters. If this parameter is not provided or no value is specified, the default is an empty string. */ description?: pulumi.Input; /** * Whether to enable health check route convergence. true: Yes. Effective only when the IPsec connection has health check enabled; supports convergence of static routes only, not BGP routes. false: No. */ healthCheckRevokeRouteEnabled?: pulumi.Input; tags?: pulumi.Input[]>; /** * Network instance connection name. Must start with a letter, number, or Chinese character. Can include letters, numbers, Chinese characters, and the following special characters: period (.), underscore (_), and hyphen (-). Length limit: 1–128 characters. If this parameter is not provided or no value is specified, the default is the network instance connection ID. */ transitRouterAttachmentName?: pulumi.Input; /** * Transit router instance ID. */ transitRouterId: pulumi.Input; /** * Associated TR route table ID. */ transitRouterRouteTableId?: pulumi.Input; /** * IPsec connection ID. */ vpnConnectionId: pulumi.Input; /** * ID of the availability zone to which the IPsec connection belongs. */ zoneId: pulumi.Input; }