import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ElasticsearchLogstashConfig extends cdktf.TerraformMetaArguments { /** * whether to use voucher auto, 1 when use, else 0. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#auto_voucher ElasticsearchLogstash#auto_voucher} */ readonly autoVoucher?: number; /** * Period when charged by months or years(unit depends on TimeUnit). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#charge_period ElasticsearchLogstash#charge_period} */ readonly chargePeriod?: number; /** * Charge type. PREPAID: charged by months or years; POSTPAID_BY_HOUR: charged by hours; default vaule: POSTPAID_BY_HOUR. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#charge_type ElasticsearchLogstash#charge_type} */ readonly chargeType?: string; /** * Deployment mode, 0: single availability zone, 1: multiple availability zones. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#deploy_mode ElasticsearchLogstash#deploy_mode} */ readonly deployMode?: number; /** * node disk size (unit GB). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#disk_size ElasticsearchLogstash#disk_size} */ readonly diskSize?: number; /** * Disk type. CLOUD_SSD: SSD cloud disk; CLOUD_PREMIUM: high hard energy cloud disk; default: CLOUD_SSD. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#disk_type ElasticsearchLogstash#disk_type} */ readonly diskType?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#id ElasticsearchLogstash#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; /** * Instance name (compose of 1-50 letter, number, - or _). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#instance_name ElasticsearchLogstash#instance_name} */ readonly instanceName: string; /** * License type. oss: open source version; xpack:xpack version; default: xpack. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#license_type ElasticsearchLogstash#license_type} */ readonly licenseType?: string; /** * Instance version(6.8.13, 7.10.1). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#logstash_version ElasticsearchLogstash#logstash_version} */ readonly logstashVersion: string; /** * Node num(range 2-50). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#node_num ElasticsearchLogstash#node_num} */ readonly nodeNum?: number; /** * Node type. Valid values: * - LOGSTASH.S1.SMALL2: 1 core 2G; * - LOGSTASH.S1.MEDIUM4:2 core 4G; * - LOGSTASH.S1.MEDIUM8:2 core 8G; * - LOGSTASH.S1.LARGE16:4 core 16G; * - LOGSTASH.S1.2XLARGE32:8 core 32G; * - LOGSTASH.S1.4XLARGE32:16 core 32G; * - LOGSTASH.S1.4XLARGE64:16 core 64G. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#node_type ElasticsearchLogstash#node_type} */ readonly nodeType?: string; /** * Automatic renewal flag. RENEW_FLAG_AUTO: auto renewal; RENEW_FLAG_MANUAL: do not renew automatically, users renew manually. It needs to be set when ChargeType is PREPAID. If this parameter is not passed, ordinary users will not renew automatically by default, and SVIP users will renew automatically. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#renew_flag ElasticsearchLogstash#renew_flag} */ readonly renewFlag?: string; /** * Subnet id. Create multi zone instance, parameter subnet_id need input '-', details input to multi_zone_infos. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#subnet_id ElasticsearchLogstash#subnet_id} */ readonly subnetId: string; /** * Tag description list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#tags ElasticsearchLogstash#tags} */ readonly tags?: { [key: string]: string; }; /** * charge time unit(set when ChargeType is PREPAID, default value: ms). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#time_unit ElasticsearchLogstash#time_unit} */ readonly timeUnit?: string; /** * Voucher list(only can use one voucher by now). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#voucher_ids ElasticsearchLogstash#voucher_ids} */ readonly voucherIds?: string[]; /** * VPC id. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#vpc_id ElasticsearchLogstash#vpc_id} */ readonly vpcId: string; /** * Available zone. Create multi zone instance, parameter zone need input '-', details input to multi_zone_infos. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#zone ElasticsearchLogstash#zone} */ readonly zone: string; /** * multi_zone_infos block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#multi_zone_infos ElasticsearchLogstash#multi_zone_infos} */ readonly multiZoneInfos?: ElasticsearchLogstashMultiZoneInfos[] | cdktf.IResolvable; /** * operation_duration block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#operation_duration ElasticsearchLogstash#operation_duration} */ readonly operationDuration?: ElasticsearchLogstashOperationDuration; } export interface ElasticsearchLogstashMultiZoneInfos { /** * Availability zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#availability_zone ElasticsearchLogstash#availability_zone} */ readonly availabilityZone: string; /** * Whether it is a hidden availability zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#hidden ElasticsearchLogstash#hidden} */ readonly hidden?: boolean | cdktf.IResolvable; /** * Subnet id. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#subnet_id ElasticsearchLogstash#subnet_id} */ readonly subnetId: string; } export declare function elasticsearchLogstashMultiZoneInfosToTerraform(struct?: ElasticsearchLogstashMultiZoneInfos | cdktf.IResolvable): any; export declare function elasticsearchLogstashMultiZoneInfosToHclTerraform(struct?: ElasticsearchLogstashMultiZoneInfos | cdktf.IResolvable): any; export declare class ElasticsearchLogstashMultiZoneInfosOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): ElasticsearchLogstashMultiZoneInfos | cdktf.IResolvable | undefined; set internalValue(value: ElasticsearchLogstashMultiZoneInfos | cdktf.IResolvable | undefined); private _availabilityZone?; get availabilityZone(): string; set availabilityZone(value: string); get availabilityZoneInput(): string; private _hidden?; get hidden(): boolean | cdktf.IResolvable; set hidden(value: boolean | cdktf.IResolvable); resetHidden(): void; get hiddenInput(): any; private _subnetId?; get subnetId(): string; set subnetId(value: string); get subnetIdInput(): string; } export declare class ElasticsearchLogstashMultiZoneInfosList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ElasticsearchLogstashMultiZoneInfos[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): ElasticsearchLogstashMultiZoneInfosOutputReference; } export interface ElasticsearchLogstashOperationDuration { /** * day of week, from Monday to Sunday, value range: [0, 6]notes: may return null when missing. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#periods ElasticsearchLogstash#periods} */ readonly periods: number[]; /** * operation end time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#time_end ElasticsearchLogstash#time_end} */ readonly timeEnd: string; /** * operation start time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#time_start ElasticsearchLogstash#time_start} */ readonly timeStart: string; /** * time zone, for example: UTC+8. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#time_zone ElasticsearchLogstash#time_zone} */ readonly timeZone: string; } export declare function elasticsearchLogstashOperationDurationToTerraform(struct?: ElasticsearchLogstashOperationDurationOutputReference | ElasticsearchLogstashOperationDuration): any; export declare function elasticsearchLogstashOperationDurationToHclTerraform(struct?: ElasticsearchLogstashOperationDurationOutputReference | ElasticsearchLogstashOperationDuration): any; export declare class ElasticsearchLogstashOperationDurationOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ElasticsearchLogstashOperationDuration | undefined; set internalValue(value: ElasticsearchLogstashOperationDuration | undefined); private _periods?; get periods(): number[]; set periods(value: number[]); get periodsInput(): number[]; private _timeEnd?; get timeEnd(): string; set timeEnd(value: string); get timeEndInput(): string; private _timeStart?; get timeStart(): string; set timeStart(value: string); get timeStartInput(): string; private _timeZone?; get timeZone(): string; set timeZone(value: string); get timeZoneInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash tencentcloud_elasticsearch_logstash} */ export declare class ElasticsearchLogstash extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_elasticsearch_logstash"; /** * Generates CDKTF code for importing a ElasticsearchLogstash 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 ElasticsearchLogstash to import * @param importFromId The id of the existing ElasticsearchLogstash that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/elasticsearch_logstash#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ElasticsearchLogstash 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/elasticsearch_logstash tencentcloud_elasticsearch_logstash} 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 ElasticsearchLogstashConfig */ constructor(scope: Construct, id: string, config: ElasticsearchLogstashConfig); private _autoVoucher?; get autoVoucher(): number; set autoVoucher(value: number); resetAutoVoucher(): void; get autoVoucherInput(): number; private _chargePeriod?; get chargePeriod(): number; set chargePeriod(value: number); resetChargePeriod(): void; get chargePeriodInput(): number; private _chargeType?; get chargeType(): string; set chargeType(value: string); resetChargeType(): void; get chargeTypeInput(): string; private _deployMode?; get deployMode(): number; set deployMode(value: number); resetDeployMode(): void; get deployModeInput(): number; private _diskSize?; get diskSize(): number; set diskSize(value: number); resetDiskSize(): void; get diskSizeInput(): number; private _diskType?; get diskType(): string; set diskType(value: string); resetDiskType(): void; get diskTypeInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _instanceName?; get instanceName(): string; set instanceName(value: string); get instanceNameInput(): string; private _licenseType?; get licenseType(): string; set licenseType(value: string); resetLicenseType(): void; get licenseTypeInput(): string; private _logstashVersion?; get logstashVersion(): string; set logstashVersion(value: string); get logstashVersionInput(): string; private _nodeNum?; get nodeNum(): number; set nodeNum(value: number); resetNodeNum(): void; get nodeNumInput(): number; private _nodeType?; get nodeType(): string; set nodeType(value: string); resetNodeType(): void; get nodeTypeInput(): string; private _renewFlag?; get renewFlag(): string; set renewFlag(value: string); resetRenewFlag(): void; get renewFlagInput(): string; private _subnetId?; get subnetId(): string; set subnetId(value: string); get subnetIdInput(): string; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; private _timeUnit?; get timeUnit(): string; set timeUnit(value: string); resetTimeUnit(): void; get timeUnitInput(): string; private _voucherIds?; get voucherIds(): string[]; set voucherIds(value: string[]); resetVoucherIds(): void; get voucherIdsInput(): string[]; private _vpcId?; get vpcId(): string; set vpcId(value: string); get vpcIdInput(): string; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string; private _multiZoneInfos; get multiZoneInfos(): ElasticsearchLogstashMultiZoneInfosList; putMultiZoneInfos(value: ElasticsearchLogstashMultiZoneInfos[] | cdktf.IResolvable): void; resetMultiZoneInfos(): void; get multiZoneInfosInput(): any; private _operationDuration; get operationDuration(): ElasticsearchLogstashOperationDurationOutputReference; putOperationDuration(value: ElasticsearchLogstashOperationDuration): void; resetOperationDuration(): void; get operationDurationInput(): ElasticsearchLogstashOperationDuration; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }