import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TeoOriginGroupConfig extends cdktf.TerraformMetaArguments { /** * Back-to-origin Host Header, it only takes effect when type = HTTP is passed in. The rule engine modifies the Host Header configuration priority to be higher than the Host Header of the origin site group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_origin_group#host_header TeoOriginGroup#host_header} */ readonly hostHeader?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_origin_group#id TeoOriginGroup#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; /** * OriginGroup Name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_origin_group#name TeoOriginGroup#name} */ readonly name?: string; /** * Type of the origin site. Valid values: * - `GENERAL`: Universal origin site group, only supports adding IP/domain name origin sites, which can be referenced by domain name service, rule engine, four-layer proxy, general load balancing, and HTTP-specific load balancing. * - `HTTP`: The HTTP-specific origin site group, supports adding IP/domain name and object storage origin site as the origin site, it cannot be referenced by the four-layer proxy, it can only be added to the acceleration domain name, rule engine-modify origin site, and HTTP-specific load balancing reference. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_origin_group#type TeoOriginGroup#type} */ readonly type: string; /** * Site ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_origin_group#zone_id TeoOriginGroup#zone_id} */ readonly zoneId: string; /** * records block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_origin_group#records TeoOriginGroup#records} */ readonly records: TeoOriginGroupRecords[] | cdktf.IResolvable; } export interface TeoOriginGroupReferences { } export declare function teoOriginGroupReferencesToTerraform(struct?: TeoOriginGroupReferences): any; export declare function teoOriginGroupReferencesToHclTerraform(struct?: TeoOriginGroupReferences): any; export declare class TeoOriginGroupReferencesOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): TeoOriginGroupReferences | undefined; set internalValue(value: TeoOriginGroupReferences | undefined); get instanceId(): any; get instanceName(): any; get instanceType(): any; } export declare class TeoOriginGroupReferencesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): TeoOriginGroupReferencesOutputReference; } export interface TeoOriginGroupRecordsPrivateParameters { /** * Private authentication parameter name, the values are: * - `AccessKeyId`: Authentication parameter Access Key ID. * - `SecretAccessKey`: Authentication parameter Secret Access Key. * - `SignatureVersion`: Authentication version, v2 or v4. * - `Region`: Bucket region. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_origin_group#name TeoOriginGroup#name} */ readonly name: string; /** * Private authentication parameter value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_origin_group#value TeoOriginGroup#value} */ readonly value: string; } export declare function teoOriginGroupRecordsPrivateParametersToTerraform(struct?: TeoOriginGroupRecordsPrivateParameters | cdktf.IResolvable): any; export declare function teoOriginGroupRecordsPrivateParametersToHclTerraform(struct?: TeoOriginGroupRecordsPrivateParameters | cdktf.IResolvable): any; export declare class TeoOriginGroupRecordsPrivateParametersOutputReference 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(): TeoOriginGroupRecordsPrivateParameters | cdktf.IResolvable | undefined; set internalValue(value: TeoOriginGroupRecordsPrivateParameters | cdktf.IResolvable | undefined); private _name?; get name(): string; set name(value: string); get nameInput(): string; private _value?; get value(): string; set value(value: string); get valueInput(): string; } export declare class TeoOriginGroupRecordsPrivateParametersList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: TeoOriginGroupRecordsPrivateParameters[] | 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): TeoOriginGroupRecordsPrivateParametersOutputReference; } export interface TeoOriginGroupRecords { /** * Whether to use private authentication, it takes effect when the origin site type RecordType=COS/AWS_S3, the values are: * - `true`: Use private authentication. * - `false`: Do not use private authentication. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_origin_group#private TeoOriginGroup#private} */ readonly private?: boolean | cdktf.IResolvable; /** * Origin site record value, does not include port information, can be: IPv4, IPv6, domain name format. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_origin_group#record TeoOriginGroup#record} */ readonly record: string; /** * Origin record ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_origin_group#record_id TeoOriginGroup#record_id} */ readonly recordId?: string; /** * Origin site type, the values are: * - `IP_DOMAIN`: IPV4, IPV6, domain name type origin site. * - `COS`: COS source. * - `AWS_S3`: AWS S3 object storage origin site. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_origin_group#type TeoOriginGroup#type} */ readonly type?: string; /** * The weight of the origin site, the value is 0-100. If it is not filled in, it means that the weight will not be set and the system will schedule it freely. If it is filled in with 0, it means that the weight is 0 and the traffic will not be scheduled to this origin site. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_origin_group#weight TeoOriginGroup#weight} */ readonly weight?: number; /** * private_parameters block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_origin_group#private_parameters TeoOriginGroup#private_parameters} */ readonly privateParameters?: TeoOriginGroupRecordsPrivateParameters[] | cdktf.IResolvable; } export declare function teoOriginGroupRecordsToTerraform(struct?: TeoOriginGroupRecords | cdktf.IResolvable): any; export declare function teoOriginGroupRecordsToHclTerraform(struct?: TeoOriginGroupRecords | cdktf.IResolvable): any; export declare class TeoOriginGroupRecordsOutputReference 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(): TeoOriginGroupRecords | cdktf.IResolvable | undefined; set internalValue(value: TeoOriginGroupRecords | cdktf.IResolvable | undefined); private _private?; get private(): boolean | cdktf.IResolvable; set private(value: boolean | cdktf.IResolvable); resetPrivate(): void; get privateInput(): any; private _record?; get record(): string; set record(value: string); get recordInput(): string; private _recordId?; get recordId(): string; set recordId(value: string); resetRecordId(): void; get recordIdInput(): string; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string; private _weight?; get weight(): number; set weight(value: number); resetWeight(): void; get weightInput(): number; private _privateParameters; get privateParameters(): TeoOriginGroupRecordsPrivateParametersList; putPrivateParameters(value: TeoOriginGroupRecordsPrivateParameters[] | cdktf.IResolvable): void; resetPrivateParameters(): void; get privateParametersInput(): any; } export declare class TeoOriginGroupRecordsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: TeoOriginGroupRecords[] | 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): TeoOriginGroupRecordsOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_origin_group tencentcloud_teo_origin_group} */ export declare class TeoOriginGroup extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_teo_origin_group"; /** * Generates CDKTF code for importing a TeoOriginGroup 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 TeoOriginGroup to import * @param importFromId The id of the existing TeoOriginGroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_origin_group#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the TeoOriginGroup 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/teo_origin_group tencentcloud_teo_origin_group} 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 TeoOriginGroupConfig */ constructor(scope: Construct, id: string, config: TeoOriginGroupConfig); get createTime(): any; private _hostHeader?; get hostHeader(): string; set hostHeader(value: string); resetHostHeader(): void; get hostHeaderInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; get originGroupId(): any; private _references; get references(): TeoOriginGroupReferencesList; private _type?; get type(): string; set type(value: string); get typeInput(): string; get updateTime(): any; private _zoneId?; get zoneId(): string; set zoneId(value: string); get zoneIdInput(): string; private _records; get records(): TeoOriginGroupRecordsList; putRecords(value: TeoOriginGroupRecords[] | cdktf.IResolvable): void; get recordsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }