import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TseCngwRouteConfig extends cdktf.TerraformMetaArguments { /** * destination port for Layer 4 matching. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_route#destination_ports TseCngwRoute#destination_ports} */ readonly destinationPorts?: number[]; /** * whether to enable forced HTTPS, no longer use. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_route#force_https TseCngwRoute#force_https} */ readonly forceHttps?: boolean | cdktf.IResolvable; /** * gateway ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_route#gateway_id TseCngwRoute#gateway_id} */ readonly gatewayId: string; /** * host list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_route#hosts TseCngwRoute#hosts} */ readonly hosts?: string[]; /** * https redirection status code. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_route#https_redirect_status_code TseCngwRoute#https_redirect_status_code} */ readonly httpsRedirectStatusCode?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_route#id TseCngwRoute#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; /** * route methods. Reference value:`GET`,`POST`,`DELETE`,`PUT`,`OPTIONS`,`PATCH`,`HEAD`,`ANY`,`TRACE`,`COPY`,`MOVE`,`PROPFIND`,`PROPPATCH`,`MKCOL`,`LOCK`,`UNLOCK`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_route#methods TseCngwRoute#methods} */ readonly methods?: string[]; /** * path list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_route#paths TseCngwRoute#paths} */ readonly paths?: string[]; /** * whether to keep the host when forwarding to the backend. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_route#preserve_host TseCngwRoute#preserve_host} */ readonly preserveHost?: boolean | cdktf.IResolvable; /** * the protocol list of route.Reference value:`https`,`http`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_route#protocols TseCngwRoute#protocols} */ readonly protocols?: string[]; /** * the name of the route, unique in the instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_route#route_name TseCngwRoute#route_name} */ readonly routeName?: string; /** * ID of the service which the route belongs to. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_route#service_id TseCngwRoute#service_id} */ readonly serviceId: string; /** * whether to strip path when forwarding to the backend. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_route#strip_path TseCngwRoute#strip_path} */ readonly stripPath?: boolean | cdktf.IResolvable; /** * headers block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_route#headers TseCngwRoute#headers} */ readonly headers?: TseCngwRouteHeaders[] | cdktf.IResolvable; } export interface TseCngwRouteHeaders { /** * key of header. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_route#key TseCngwRoute#key} */ readonly key?: string; /** * value of header. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_route#value TseCngwRoute#value} */ readonly value?: string; } export declare function tseCngwRouteHeadersToTerraform(struct?: TseCngwRouteHeaders | cdktf.IResolvable): any; export declare function tseCngwRouteHeadersToHclTerraform(struct?: TseCngwRouteHeaders | cdktf.IResolvable): any; export declare class TseCngwRouteHeadersOutputReference 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(): TseCngwRouteHeaders | cdktf.IResolvable | undefined; set internalValue(value: TseCngwRouteHeaders | cdktf.IResolvable | undefined); private _key?; get key(): string; set key(value: string); resetKey(): void; get keyInput(): string; private _value?; get value(): string; set value(value: string); resetValue(): void; get valueInput(): string; } export declare class TseCngwRouteHeadersList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: TseCngwRouteHeaders[] | 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): TseCngwRouteHeadersOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_route tencentcloud_tse_cngw_route} */ export declare class TseCngwRoute extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_tse_cngw_route"; /** * Generates CDKTF code for importing a TseCngwRoute 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 TseCngwRoute to import * @param importFromId The id of the existing TseCngwRoute that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tse_cngw_route#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the TseCngwRoute 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_route tencentcloud_tse_cngw_route} 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 TseCngwRouteConfig */ constructor(scope: Construct, id: string, config: TseCngwRouteConfig); private _destinationPorts?; get destinationPorts(): number[]; set destinationPorts(value: number[]); resetDestinationPorts(): void; get destinationPortsInput(): number[]; private _forceHttps?; get forceHttps(): boolean | cdktf.IResolvable; set forceHttps(value: boolean | cdktf.IResolvable); resetForceHttps(): void; get forceHttpsInput(): any; private _gatewayId?; get gatewayId(): string; set gatewayId(value: string); get gatewayIdInput(): string; private _hosts?; get hosts(): string[]; set hosts(value: string[]); resetHosts(): void; get hostsInput(): string[]; private _httpsRedirectStatusCode?; get httpsRedirectStatusCode(): number; set httpsRedirectStatusCode(value: number); resetHttpsRedirectStatusCode(): void; get httpsRedirectStatusCodeInput(): number; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _methods?; get methods(): string[]; set methods(value: string[]); resetMethods(): void; get methodsInput(): string[]; private _paths?; get paths(): string[]; set paths(value: string[]); resetPaths(): void; get pathsInput(): string[]; private _preserveHost?; get preserveHost(): boolean | cdktf.IResolvable; set preserveHost(value: boolean | cdktf.IResolvable); resetPreserveHost(): void; get preserveHostInput(): any; private _protocols?; get protocols(): string[]; set protocols(value: string[]); resetProtocols(): void; get protocolsInput(): string[]; get routeId(): any; private _routeName?; get routeName(): string; set routeName(value: string); resetRouteName(): void; get routeNameInput(): string; private _serviceId?; get serviceId(): string; set serviceId(value: string); get serviceIdInput(): string; private _stripPath?; get stripPath(): boolean | cdktf.IResolvable; set stripPath(value: boolean | cdktf.IResolvable); resetStripPath(): void; get stripPathInput(): any; private _headers; get headers(): TseCngwRouteHeadersList; putHeaders(value: TseCngwRouteHeaders[] | cdktf.IResolvable): void; resetHeaders(): void; get headersInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }