import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface VpnGatewayConfig extends cdktf.TerraformMetaArguments { /** * The maximum public network output bandwidth of VPN gateway (unit: Mbps), the available values include: 5,10,20,50,100,200,500,1000. Default is 5. When charge type is `PREPAID`, bandwidth degradation operation is unsupported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpn_gateway#bandwidth VpnGateway#bandwidth} */ readonly bandwidth?: number; /** * BGP ASN. Value range: 1 - 4294967295. Using BGP requires configuring ASN. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpn_gateway#bgp_asn VpnGateway#bgp_asn} */ readonly bgpAsn?: number; /** * CDC instance ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpn_gateway#cdc_id VpnGateway#cdc_id} */ readonly cdcId?: string; /** * Charge Type of the VPN gateway. Valid value: `PREPAID`, `POSTPAID_BY_HOUR`. The default is `POSTPAID_BY_HOUR`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpn_gateway#charge_type VpnGateway#charge_type} */ readonly chargeType?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpn_gateway#id VpnGateway#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * Maximum number of connected clients allowed for the SSL VPN gateway. Valid values: [5, 10, 20, 50, 100]. This parameter is only required for SSL VPN gateways. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpn_gateway#max_connection VpnGateway#max_connection} */ readonly maxConnection?: number; /** * Name of the VPN gateway. The length of character is limited to 1-60. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpn_gateway#name VpnGateway#name} */ readonly name: string; /** * Period of instance to be prepaid. Valid value: `1`, `2`, `3`, `4`, `6`, `7`, `8`, `9`, `12`, `24`, `36`. The unit is month. Caution: when this para and renew_flag para are valid, the request means to renew several months more pre-paid period. This para can only be changed on `IPSEC` vpn gateway. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpn_gateway#prepaid_period VpnGateway#prepaid_period} */ readonly prepaidPeriod?: number; /** * Flag indicates whether to renew or not. Valid value: `NOTIFY_AND_AUTO_RENEW`, `NOTIFY_AND_MANUAL_RENEW`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpn_gateway#prepaid_renew_flag VpnGateway#prepaid_renew_flag} */ readonly prepaidRenewFlag?: string; /** * A list of tags used to associate different resources. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpn_gateway#tags VpnGateway#tags} */ readonly tags?: { [key: string]: string; }; /** * Type of gateway instance, Default is `IPSEC`. Valid value: `IPSEC`, `SSL`, `CCN` and `SSL_CCN`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpn_gateway#type VpnGateway#type} */ readonly type?: string; /** * ID of the VPC. Required if vpn gateway is not in `CCN` or `SSL_CCN` type, and doesn't make sense for `CCN` or `SSL_CCN` vpn gateway. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpn_gateway#vpc_id VpnGateway#vpc_id} */ readonly vpcId?: string; /** * Zone of the VPN gateway. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpn_gateway#zone VpnGateway#zone} */ readonly zone?: string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpn_gateway tencentcloud_vpn_gateway} */ export declare class VpnGateway extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_vpn_gateway"; /** * Generates CDKTF code for importing a VpnGateway resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the VpnGateway to import * @param importFromId The id of the existing VpnGateway that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpn_gateway#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the VpnGateway to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpn_gateway tencentcloud_vpn_gateway} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options VpnGatewayConfig */ constructor(scope: Construct, id: string, config: VpnGatewayConfig); private _bandwidth?; get bandwidth(): number; set bandwidth(value: number); resetBandwidth(): void; get bandwidthInput(): number; private _bgpAsn?; get bgpAsn(): number; set bgpAsn(value: number); resetBgpAsn(): void; get bgpAsnInput(): number; private _cdcId?; get cdcId(): string; set cdcId(value: string); resetCdcId(): void; get cdcIdInput(): string; private _chargeType?; get chargeType(): string; set chargeType(value: string); resetChargeType(): void; get chargeTypeInput(): string; get createTime(): any; get expiredTime(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; get isAddressBlocked(): any; private _maxConnection?; get maxConnection(): number; set maxConnection(value: number); resetMaxConnection(): void; get maxConnectionInput(): number; private _name?; get name(): string; set name(value: string); get nameInput(): string; get newPurchasePlan(): any; private _prepaidPeriod?; get prepaidPeriod(): number; set prepaidPeriod(value: number); resetPrepaidPeriod(): void; get prepaidPeriodInput(): number; private _prepaidRenewFlag?; get prepaidRenewFlag(): string; set prepaidRenewFlag(value: string); resetPrepaidRenewFlag(): void; get prepaidRenewFlagInput(): string; get publicIpAddress(): any; get restrictState(): any; get state(): any; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string; private _vpcId?; get vpcId(): string; set vpcId(value: string); resetVpcId(): void; get vpcIdInput(): string; private _zone?; get zone(): string; set zone(value: string); resetZone(): void; get zoneInput(): string; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }