import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TeoAccelerationDomainConfig extends cdktf.TerraformMetaArguments { /** * Accelerated domain name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#domain_name TeoAccelerationDomain#domain_name} */ readonly domainName: string; /** * HTTP back-to-origin port, the value is 1-65535, effective when OriginProtocol=FOLLOW/HTTP, if not filled in, the default value is 80. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#http_origin_port TeoAccelerationDomain#http_origin_port} */ readonly httpOriginPort?: number; /** * HTTPS back-to-origin port. The value range is 1-65535. It takes effect when OriginProtocol=FOLLOW/HTTPS. If it is not filled in, the default value is 443. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#https_origin_port TeoAccelerationDomain#https_origin_port} */ readonly httpsOriginPort?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#id TeoAccelerationDomain#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; /** * IPv6 status, the value is: `follow`: follow the site IPv6 configuration; `on`: on; `off`: off. If not filled in, the default is: `follow`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#ipv6_status TeoAccelerationDomain#ipv6_status} */ readonly ipv6Status?: string; /** * Origin return protocol, possible values are: `FOLLOW`: protocol follow; `HTTP`: HTTP protocol back to source; `HTTPS`: HTTPS protocol back to source. If not filled in, the default is: `FOLLOW`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#origin_protocol TeoAccelerationDomain#origin_protocol} */ readonly originProtocol?: string; /** * Accelerated domain name status, the values are: `online`: enabled; `offline`: disabled. Default is `online`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#status TeoAccelerationDomain#status} */ readonly status?: string; /** * ID of the site related with the accelerated domain name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#zone_id TeoAccelerationDomain#zone_id} */ readonly zoneId: string; /** * origin_info block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#origin_info TeoAccelerationDomain#origin_info} */ readonly originInfo: TeoAccelerationDomainOriginInfo; } export interface TeoAccelerationDomainOriginInfoPrivateParameters { /** * The parameter name. Valid values: `AccessKeyId`: Access Key ID; `SecretAccessKey`: 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_acceleration_domain#name TeoAccelerationDomain#name} */ readonly name: string; /** * The parameter value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#value TeoAccelerationDomain#value} */ readonly value: string; } export declare function teoAccelerationDomainOriginInfoPrivateParametersToTerraform(struct?: TeoAccelerationDomainOriginInfoPrivateParameters | cdktf.IResolvable): any; export declare function teoAccelerationDomainOriginInfoPrivateParametersToHclTerraform(struct?: TeoAccelerationDomainOriginInfoPrivateParameters | cdktf.IResolvable): any; export declare class TeoAccelerationDomainOriginInfoPrivateParametersOutputReference 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(): TeoAccelerationDomainOriginInfoPrivateParameters | cdktf.IResolvable | undefined; set internalValue(value: TeoAccelerationDomainOriginInfoPrivateParameters | 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 TeoAccelerationDomainOriginInfoPrivateParametersList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: TeoAccelerationDomainOriginInfoPrivateParameters[] | 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): TeoAccelerationDomainOriginInfoPrivateParametersOutputReference; } export interface TeoAccelerationDomainOriginInfo { /** * The ID of the secondary origin group. This parameter is valid only when OriginType is ORIGIN_GROUP. This field indicates the old version capability, which cannot be configured or modified on the control panel after being called. Please submit a ticket if required. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#backup_origin TeoAccelerationDomain#backup_origin} */ readonly backupOrigin?: string; /** * Custom origin server HOST header. this parameter is valid only when OriginType=IP_DOMAIN.If the OriginType is another type of origin, this parameter does not need to be passed in, otherwise an error will be reported. If OriginType is COS or AWS_S3, the HOST header for origin-pull will remain consistent with the origin server domain name. If OriginType is ORIGIN_GROUP, the HOST header follows the ORIGIN site GROUP configuration. if not configured, it defaults to the acceleration domain name. If OriginType is VOD or SPACE, no configuration is required for this header, and the domain name takes effect based on the corresponding origin. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#host_header TeoAccelerationDomain#host_header} */ readonly hostHeader?: string; /** * Origin server address, which varies according to the value of OriginType: When OriginType = IP_DOMAIN, fill in an IPv4 address, an IPv6 address, or a domain name; When OriginType = COS, fill in the access domain name of the COS bucket; When OriginType = AWS_S3, fill in the access domain name of the S3 bucket; When OriginType = ORIGIN_GROUP, fill in the origin server group ID; When OriginType = VOD, fill in the VOD application ID; When OriginType = LB, fill in the Cloud Load Balancer instance ID. This feature is currently only available to the allowlist; When OriginType = SPACE, fill in the origin server uninstallation space ID. This feature is currently only available to the allowlist. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#origin TeoAccelerationDomain#origin} */ readonly origin: string; /** * Origin server type, with values: IP_DOMAIN: IPv4, IPv6, or domain name type origin server; COS: Tencent Cloud COS origin server; AWS_S3: AWS S3 origin server; ORIGIN_GROUP: origin server group type origin server; VOD: Video on Demand; SPACE: origin server uninstallation. Currently only available to the allowlist; LB: load balancing. Currently only available to the allowlist. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#origin_type TeoAccelerationDomain#origin_type} */ readonly originType: string; /** * Whether access to the private Cloud Object Storage origin server is allowed. This parameter is valid only when OriginType is COS or AWS_S3. Valid values: on: Enable private authentication; off: Disable private authentication. If it is not specified, the default value is off. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#private_access TeoAccelerationDomain#private_access} */ readonly privateAccess?: string; /** * VOD bucket ID. This parameter is required when OriginType = VOD and VodOriginScope = bucket. Data source: the storage ID of the bucket in the Cloud VOD Professional Edition application. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#vod_bucket_id TeoAccelerationDomain#vod_bucket_id} */ readonly vodBucketId?: string; /** * The scope of cloud on-demand back-to-source. This parameter is effective when OriginType = VOD. The possible values are: all: all files in the cloud on-demand application corresponding to the current origin station. The default value is all; bucket: files in a specified bucket under the cloud on-demand application corresponding to the current origin station. The bucket is specified by the parameter VodBucketId. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#vod_origin_scope TeoAccelerationDomain#vod_origin_scope} */ readonly vodOriginScope?: string; /** * private_parameters block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#private_parameters TeoAccelerationDomain#private_parameters} */ readonly privateParameters?: TeoAccelerationDomainOriginInfoPrivateParameters[] | cdktf.IResolvable; } export declare function teoAccelerationDomainOriginInfoToTerraform(struct?: TeoAccelerationDomainOriginInfoOutputReference | TeoAccelerationDomainOriginInfo): any; export declare function teoAccelerationDomainOriginInfoToHclTerraform(struct?: TeoAccelerationDomainOriginInfoOutputReference | TeoAccelerationDomainOriginInfo): any; export declare class TeoAccelerationDomainOriginInfoOutputReference 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(): TeoAccelerationDomainOriginInfo | undefined; set internalValue(value: TeoAccelerationDomainOriginInfo | undefined); private _backupOrigin?; get backupOrigin(): string; set backupOrigin(value: string); resetBackupOrigin(): void; get backupOriginInput(): string; private _hostHeader?; get hostHeader(): string; set hostHeader(value: string); resetHostHeader(): void; get hostHeaderInput(): string; private _origin?; get origin(): string; set origin(value: string); get originInput(): string; private _originType?; get originType(): string; set originType(value: string); get originTypeInput(): string; private _privateAccess?; get privateAccess(): string; set privateAccess(value: string); resetPrivateAccess(): void; get privateAccessInput(): string; private _vodBucketId?; get vodBucketId(): string; set vodBucketId(value: string); resetVodBucketId(): void; get vodBucketIdInput(): string; private _vodOriginScope?; get vodOriginScope(): string; set vodOriginScope(value: string); resetVodOriginScope(): void; get vodOriginScopeInput(): string; private _privateParameters; get privateParameters(): TeoAccelerationDomainOriginInfoPrivateParametersList; putPrivateParameters(value: TeoAccelerationDomainOriginInfoPrivateParameters[] | cdktf.IResolvable): void; resetPrivateParameters(): void; get privateParametersInput(): any; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain tencentcloud_teo_acceleration_domain} */ export declare class TeoAccelerationDomain extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_teo_acceleration_domain"; /** * Generates CDKTF code for importing a TeoAccelerationDomain 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 TeoAccelerationDomain to import * @param importFromId The id of the existing TeoAccelerationDomain that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_acceleration_domain#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the TeoAccelerationDomain 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_acceleration_domain tencentcloud_teo_acceleration_domain} 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 TeoAccelerationDomainConfig */ constructor(scope: Construct, id: string, config: TeoAccelerationDomainConfig); get cname(): any; private _domainName?; get domainName(): string; set domainName(value: string); get domainNameInput(): string; private _httpOriginPort?; get httpOriginPort(): number; set httpOriginPort(value: number); resetHttpOriginPort(): void; get httpOriginPortInput(): number; private _httpsOriginPort?; get httpsOriginPort(): number; set httpsOriginPort(value: number); resetHttpsOriginPort(): void; get httpsOriginPortInput(): number; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _ipv6Status?; get ipv6Status(): string; set ipv6Status(value: string); resetIpv6Status(): void; get ipv6StatusInput(): string; private _originProtocol?; get originProtocol(): string; set originProtocol(value: string); resetOriginProtocol(): void; get originProtocolInput(): string; private _status?; get status(): string; set status(value: string); resetStatus(): void; get statusInput(): string; private _zoneId?; get zoneId(): string; set zoneId(value: string); get zoneIdInput(): string; private _originInfo; get originInfo(): TeoAccelerationDomainOriginInfoOutputReference; putOriginInfo(value: TeoAccelerationDomainOriginInfo): void; get originInfoInput(): TeoAccelerationDomainOriginInfo; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }