import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TseCngwServiceConfig extends cdktf.TerraformMetaArguments { /** * gateway ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#gateway_id TseCngwService#gateway_id} */ readonly gatewayId: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#id TseCngwService#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; /** * service name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#name TseCngwService#name} */ readonly name: string; /** * path. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#path TseCngwService#path} */ readonly path: string; /** * protocol. Reference value:`https`, `http`, `tcp`, `udp`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#protocol TseCngwService#protocol} */ readonly protocol: string; /** * retry times. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#retries TseCngwService#retries} */ readonly retries: number; /** * Tag description list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#tags TseCngwService#tags} */ readonly tags?: { [key: string]: string; }; /** * time out, unit:ms. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#timeout TseCngwService#timeout} */ readonly timeout: number; /** * service type. Reference value:`Kubernetes`, `Registry`, `IPList`, `HostIP`, `Scf`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#upstream_type TseCngwService#upstream_type} */ readonly upstreamType: string; /** * upstream_info block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#upstream_info TseCngwService#upstream_info} */ readonly upstreamInfo: TseCngwServiceUpstreamInfo; } export interface TseCngwServiceUpstreamInfoTargets { /** * host. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#host TseCngwService#host} */ readonly host: string; /** * port. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#port TseCngwService#port} */ readonly port: number; /** * source of target. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#source TseCngwService#source} */ readonly source?: string; /** * weight. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#weight TseCngwService#weight} */ readonly weight: number; } export declare function tseCngwServiceUpstreamInfoTargetsToTerraform(struct?: TseCngwServiceUpstreamInfoTargets | cdktf.IResolvable): any; export declare function tseCngwServiceUpstreamInfoTargetsToHclTerraform(struct?: TseCngwServiceUpstreamInfoTargets | cdktf.IResolvable): any; export declare class TseCngwServiceUpstreamInfoTargetsOutputReference 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(): TseCngwServiceUpstreamInfoTargets | cdktf.IResolvable | undefined; set internalValue(value: TseCngwServiceUpstreamInfoTargets | cdktf.IResolvable | undefined); get createdTime(): any; get health(): any; private _host?; get host(): string; set host(value: string); get hostInput(): string; private _port?; get port(): number; set port(value: number); get portInput(): number; private _source?; get source(): string; set source(value: string); resetSource(): void; get sourceInput(): string; private _weight?; get weight(): number; set weight(value: number); get weightInput(): number; } export declare class TseCngwServiceUpstreamInfoTargetsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: TseCngwServiceUpstreamInfoTargets[] | 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): TseCngwServiceUpstreamInfoTargetsOutputReference; } export interface TseCngwServiceUpstreamInfo { /** * load balance algorithm,default: `round-robin`, `least-connections` and `consisten_hashing` also support. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#algorithm TseCngwService#algorithm} */ readonly algorithm?: string; /** * auto scaling group port of cvm. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#auto_scaling_cvm_port TseCngwService#auto_scaling_cvm_port} */ readonly autoScalingCvmPort?: number; /** * auto scaling group ID of cvm. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#auto_scaling_group_id TseCngwService#auto_scaling_group_id} */ readonly autoScalingGroupId?: string; /** * hook status in auto scaling group of cvm. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#auto_scaling_hook_status TseCngwService#auto_scaling_hook_status} */ readonly autoScalingHookStatus?: string; /** * tat cmd status in auto scaling group of cvm. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#auto_scaling_tat_cmd_status TseCngwService#auto_scaling_tat_cmd_status} */ readonly autoScalingTatCmdStatus?: string; /** * an IP address or domain name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#host TseCngwService#host} */ readonly host?: string; /** * namespace. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#namespace TseCngwService#namespace} */ readonly namespace?: string; /** * backend service port.valid values: `1` to `65535`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#port TseCngwService#port} */ readonly port?: number; /** * exact source service type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#real_source_type TseCngwService#real_source_type} */ readonly realSourceType?: string; /** * scf lambda name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#scf_lambda_name TseCngwService#scf_lambda_name} */ readonly scfLambdaName?: string; /** * scf lambda version. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#scf_lambda_qualifier TseCngwService#scf_lambda_qualifier} */ readonly scfLambdaQualifier?: string; /** * scf lambda namespace. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#scf_namespace TseCngwService#scf_namespace} */ readonly scfNamespace?: string; /** * scf lambda type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#scf_type TseCngwService#scf_type} */ readonly scfType?: string; /** * the name of the service in registry or kubernetes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#service_name TseCngwService#service_name} */ readonly serviceName?: string; /** * slow start time, unit: `second`, when it is enabled, weight of the node is increased from 1 to the target value gradually. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#slow_start TseCngwService#slow_start} */ readonly slowStart?: number; /** * service source ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#source_id TseCngwService#source_id} */ readonly sourceId?: string; /** * the name of source service. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#source_name TseCngwService#source_name} */ readonly sourceName?: string; /** * source service type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#source_type TseCngwService#source_type} */ readonly sourceType?: string; /** * targets block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#targets TseCngwService#targets} */ readonly targets?: TseCngwServiceUpstreamInfoTargets[] | cdktf.IResolvable; } export declare function tseCngwServiceUpstreamInfoToTerraform(struct?: TseCngwServiceUpstreamInfoOutputReference | TseCngwServiceUpstreamInfo): any; export declare function tseCngwServiceUpstreamInfoToHclTerraform(struct?: TseCngwServiceUpstreamInfoOutputReference | TseCngwServiceUpstreamInfo): any; export declare class TseCngwServiceUpstreamInfoOutputReference 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(): TseCngwServiceUpstreamInfo | undefined; set internalValue(value: TseCngwServiceUpstreamInfo | undefined); private _algorithm?; get algorithm(): string; set algorithm(value: string); resetAlgorithm(): void; get algorithmInput(): string; private _autoScalingCvmPort?; get autoScalingCvmPort(): number; set autoScalingCvmPort(value: number); resetAutoScalingCvmPort(): void; get autoScalingCvmPortInput(): number; private _autoScalingGroupId?; get autoScalingGroupId(): string; set autoScalingGroupId(value: string); resetAutoScalingGroupId(): void; get autoScalingGroupIdInput(): string; private _autoScalingHookStatus?; get autoScalingHookStatus(): string; set autoScalingHookStatus(value: string); resetAutoScalingHookStatus(): void; get autoScalingHookStatusInput(): string; private _autoScalingTatCmdStatus?; get autoScalingTatCmdStatus(): string; set autoScalingTatCmdStatus(value: string); resetAutoScalingTatCmdStatus(): void; get autoScalingTatCmdStatusInput(): string; private _host?; get host(): string; set host(value: string); resetHost(): void; get hostInput(): string; private _namespace?; get namespace(): string; set namespace(value: string); resetNamespace(): void; get namespaceInput(): string; private _port?; get port(): number; set port(value: number); resetPort(): void; get portInput(): number; private _realSourceType?; get realSourceType(): string; set realSourceType(value: string); resetRealSourceType(): void; get realSourceTypeInput(): string; private _scfLambdaName?; get scfLambdaName(): string; set scfLambdaName(value: string); resetScfLambdaName(): void; get scfLambdaNameInput(): string; private _scfLambdaQualifier?; get scfLambdaQualifier(): string; set scfLambdaQualifier(value: string); resetScfLambdaQualifier(): void; get scfLambdaQualifierInput(): string; private _scfNamespace?; get scfNamespace(): string; set scfNamespace(value: string); resetScfNamespace(): void; get scfNamespaceInput(): string; private _scfType?; get scfType(): string; set scfType(value: string); resetScfType(): void; get scfTypeInput(): string; private _serviceName?; get serviceName(): string; set serviceName(value: string); resetServiceName(): void; get serviceNameInput(): string; private _slowStart?; get slowStart(): number; set slowStart(value: number); resetSlowStart(): void; get slowStartInput(): number; private _sourceId?; get sourceId(): string; set sourceId(value: string); resetSourceId(): void; get sourceIdInput(): string; private _sourceName?; get sourceName(): string; set sourceName(value: string); resetSourceName(): void; get sourceNameInput(): string; private _sourceType?; get sourceType(): string; set sourceType(value: string); resetSourceType(): void; get sourceTypeInput(): string; private _targets; get targets(): TseCngwServiceUpstreamInfoTargetsList; putTargets(value: TseCngwServiceUpstreamInfoTargets[] | cdktf.IResolvable): void; resetTargets(): void; get targetsInput(): any; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service tencentcloud_tse_cngw_service} */ export declare class TseCngwService extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_tse_cngw_service"; /** * Generates CDKTF code for importing a TseCngwService 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 TseCngwService to import * @param importFromId The id of the existing TseCngwService that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_service#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the TseCngwService 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/tse_cngw_service tencentcloud_tse_cngw_service} 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 TseCngwServiceConfig */ constructor(scope: Construct, id: string, config: TseCngwServiceConfig); private _gatewayId?; get gatewayId(): string; set gatewayId(value: string); get gatewayIdInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _path?; get path(): string; set path(value: string); get pathInput(): string; private _protocol?; get protocol(): string; set protocol(value: string); get protocolInput(): string; private _retries?; get retries(): number; set retries(value: number); get retriesInput(): number; get serviceId(): any; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; private _timeout?; get timeout(): number; set timeout(value: number); get timeoutInput(): number; private _upstreamType?; get upstreamType(): string; set upstreamType(value: string); get upstreamTypeInput(): string; private _upstreamInfo; get upstreamInfo(): TseCngwServiceUpstreamInfoOutputReference; putUpstreamInfo(value: TseCngwServiceUpstreamInfo): void; get upstreamInfoInput(): TseCngwServiceUpstreamInfo; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }