import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface EipConfig extends cdktf.TerraformMetaArguments { /** * ID of anti DDos package, it must set when `type` is `AntiDDoSEIP`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eip#anti_ddos_package_id Eip#anti_ddos_package_id} */ readonly antiDdosPackageId?: string; /** * The zone of anycast. Valid value: `ANYCAST_ZONE_GLOBAL` and `ANYCAST_ZONE_OVERSEAS`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eip#anycast_zone Eip#anycast_zone} */ readonly anycastZone?: string; /** * Indicates whether the anycast eip can be associated to a CLB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eip#applicable_for_clb Eip#applicable_for_clb} */ readonly applicableForClb?: boolean | cdktf.IResolvable; /** * Auto renew flag. 0 - default state (manual renew); 1 - automatic renew; 2 - explicit no automatic renew. NOTES: Only supported prepaid EIP. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eip#auto_renew_flag Eip#auto_renew_flag} */ readonly autoRenewFlag?: number; /** * ID of bandwidth package, it will set when `internet_charge_type` is `BANDWIDTH_PACKAGE`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eip#bandwidth_package_id Eip#bandwidth_package_id} */ readonly bandwidthPackageId?: string; /** * CDC Unique ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eip#cdc_id Eip#cdc_id} */ readonly cdcId?: string; /** * Network egress. It defaults to `center_egress1`. If you want to try the egress feature, please [submit a ticket](https://console.cloud.tencent.com/workorder/category). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eip#egress Eip#egress} */ readonly egress?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eip#id Eip#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; /** * The charge type of eip. Valid values: `BANDWIDTH_PACKAGE`, `BANDWIDTH_POSTPAID_BY_HOUR`, `BANDWIDTH_PREPAID_BY_MONTH` and `TRAFFIC_POSTPAID_BY_HOUR`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eip#internet_charge_type Eip#internet_charge_type} */ readonly internetChargeType?: string; /** * The bandwidth limit of EIP, unit is Mbps. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eip#internet_max_bandwidth_out Eip#internet_max_bandwidth_out} */ readonly internetMaxBandwidthOut?: number; /** * Internet service provider of eip. Valid value: `BGP`, `CMCC`, `CTCC` and `CUCC`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eip#internet_service_provider Eip#internet_service_provider} */ readonly internetServiceProvider?: string; /** * The name of eip. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eip#name Eip#name} */ readonly name?: string; /** * Period of instance. Default value: `1`. Valid value: `1`, `2`, `3`, `4`, `6`, `7`, `8`, `9`, `12`, `24`, `36`. NOTES: must set when `internet_charge_type` is `BANDWIDTH_PREPAID_BY_MONTH`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eip#prepaid_period Eip#prepaid_period} */ readonly prepaidPeriod?: number; /** * The tags of eip. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eip#tags Eip#tags} */ readonly tags?: { [key: string]: string; }; /** * The type of eip. Valid value: `EIP` and `AnycastEIP` and `HighQualityEIP` and `AntiDDoSEIP` and `ResidentialEIP`. Default is `EIP`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eip#type Eip#type} */ readonly type?: string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eip tencentcloud_eip} */ export declare class Eip extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_eip"; /** * Generates CDKTF code for importing a Eip 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 Eip to import * @param importFromId The id of the existing Eip that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eip#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Eip 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/eip tencentcloud_eip} 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 EipConfig = {} */ constructor(scope: Construct, id: string, config?: EipConfig); private _antiDdosPackageId?; get antiDdosPackageId(): string; set antiDdosPackageId(value: string); resetAntiDdosPackageId(): void; get antiDdosPackageIdInput(): string; private _anycastZone?; get anycastZone(): string; set anycastZone(value: string); resetAnycastZone(): void; get anycastZoneInput(): string; private _applicableForClb?; get applicableForClb(): boolean | cdktf.IResolvable; set applicableForClb(value: boolean | cdktf.IResolvable); resetApplicableForClb(): void; get applicableForClbInput(): any; private _autoRenewFlag?; get autoRenewFlag(): number; set autoRenewFlag(value: number); resetAutoRenewFlag(): void; get autoRenewFlagInput(): number; private _bandwidthPackageId?; get bandwidthPackageId(): string; set bandwidthPackageId(value: string); resetBandwidthPackageId(): void; get bandwidthPackageIdInput(): string; private _cdcId?; get cdcId(): string; set cdcId(value: string); resetCdcId(): void; get cdcIdInput(): string; private _egress?; get egress(): string; set egress(value: string); resetEgress(): void; get egressInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _internetChargeType?; get internetChargeType(): string; set internetChargeType(value: string); resetInternetChargeType(): void; get internetChargeTypeInput(): string; private _internetMaxBandwidthOut?; get internetMaxBandwidthOut(): number; set internetMaxBandwidthOut(value: number); resetInternetMaxBandwidthOut(): void; get internetMaxBandwidthOutInput(): number; private _internetServiceProvider?; get internetServiceProvider(): string; set internetServiceProvider(value: string); resetInternetServiceProvider(): void; get internetServiceProviderInput(): string; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _prepaidPeriod?; get prepaidPeriod(): number; set prepaidPeriod(value: number); resetPrepaidPeriod(): void; get prepaidPeriodInput(): number; get publicIp(): any; get status(): 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; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }