import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TeoCertificateConfigConfig extends cdktf.TerraformMetaArguments { /** * Acceleration domain name that needs to modify the certificate configuration. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config#host TeoCertificateConfig#host} */ readonly host: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config#id TeoCertificateConfig#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; /** * Mode of configuring the certificate, the values are: `disable`: Do not configure the certificate; `eofreecert`: Configure EdgeOne free certificate; `sslcert`: Configure SSL certificate. If not filled in, the default value is `disable`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config#mode TeoCertificateConfig#mode} */ readonly mode?: string; /** * Site ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config#zone_id TeoCertificateConfig#zone_id} */ readonly zoneId: string; /** * server_cert_info block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config#server_cert_info TeoCertificateConfig#server_cert_info} */ readonly serverCertInfo?: TeoCertificateConfigServerCertInfo[] | cdktf.IResolvable; /** * upstream_cert_info block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config#upstream_cert_info TeoCertificateConfig#upstream_cert_info} */ readonly upstreamCertInfo?: TeoCertificateConfigUpstreamCertInfo; } export interface TeoCertificateConfigServerCertInfo { /** * Alias of the certificate.Note: This field may return null, indicating that no valid values can be obtained. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config#alias TeoCertificateConfig#alias} */ readonly alias?: string; /** * ID of the server certificate.Note: This field may return null, indicating that no valid values can be obtained. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config#cert_id TeoCertificateConfig#cert_id} */ readonly certId: string; /** * Domain name of the certificate. Note: This field may return `null`, indicating that no valid value can be obtained. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config#common_name TeoCertificateConfig#common_name} */ readonly commonName?: string; /** * Time when the certificate is deployed. Note: This field may return null, indicating that no valid values can be obtained. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config#deploy_time TeoCertificateConfig#deploy_time} */ readonly deployTime?: string; /** * Time when the certificate expires. Note: This field may return null, indicating that no valid values can be obtained. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config#expire_time TeoCertificateConfig#expire_time} */ readonly expireTime?: string; /** * Signature algorithm. Note: This field may return null, indicating that no valid values can be obtained. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config#sign_algo TeoCertificateConfig#sign_algo} */ readonly signAlgo?: string; /** * Type of the certificate. Values: `default`: Default certificate; `upload`: Specified certificate; `managed`: Tencent Cloud-managed certificate. Note: This field may return `null`, indicating that no valid value can be obtained. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config#type TeoCertificateConfig#type} */ readonly type?: string; } export declare function teoCertificateConfigServerCertInfoToTerraform(struct?: TeoCertificateConfigServerCertInfo | cdktf.IResolvable): any; export declare function teoCertificateConfigServerCertInfoToHclTerraform(struct?: TeoCertificateConfigServerCertInfo | cdktf.IResolvable): any; export declare class TeoCertificateConfigServerCertInfoOutputReference 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(): TeoCertificateConfigServerCertInfo | cdktf.IResolvable | undefined; set internalValue(value: TeoCertificateConfigServerCertInfo | cdktf.IResolvable | undefined); private _alias?; get alias(): string; set alias(value: string); resetAlias(): void; get aliasInput(): string; private _certId?; get certId(): string; set certId(value: string); get certIdInput(): string; private _commonName?; get commonName(): string; set commonName(value: string); resetCommonName(): void; get commonNameInput(): string; private _deployTime?; get deployTime(): string; set deployTime(value: string); resetDeployTime(): void; get deployTimeInput(): string; private _expireTime?; get expireTime(): string; set expireTime(value: string); resetExpireTime(): void; get expireTimeInput(): string; private _signAlgo?; get signAlgo(): string; set signAlgo(value: string); resetSignAlgo(): void; get signAlgoInput(): string; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string; } export declare class TeoCertificateConfigServerCertInfoList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: TeoCertificateConfigServerCertInfo[] | 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): TeoCertificateConfigServerCertInfoOutputReference; } export interface TeoCertificateConfigUpstreamCertInfoUpstreamMutualTlsCertInfos { /** * Certificate ID, which originates from the SSL side. You can check the CertId from the [SSL Certificate List](https://console.cloud.tencent.com/ssl). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config#cert_id TeoCertificateConfig#cert_id} */ readonly certId: string; } export declare function teoCertificateConfigUpstreamCertInfoUpstreamMutualTlsCertInfosToTerraform(struct?: TeoCertificateConfigUpstreamCertInfoUpstreamMutualTlsCertInfos | cdktf.IResolvable): any; export declare function teoCertificateConfigUpstreamCertInfoUpstreamMutualTlsCertInfosToHclTerraform(struct?: TeoCertificateConfigUpstreamCertInfoUpstreamMutualTlsCertInfos | cdktf.IResolvable): any; export declare class TeoCertificateConfigUpstreamCertInfoUpstreamMutualTlsCertInfosOutputReference 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(): TeoCertificateConfigUpstreamCertInfoUpstreamMutualTlsCertInfos | cdktf.IResolvable | undefined; set internalValue(value: TeoCertificateConfigUpstreamCertInfoUpstreamMutualTlsCertInfos | cdktf.IResolvable | undefined); get alias(): any; private _certId?; get certId(): string; set certId(value: string); get certIdInput(): string; get deployTime(): any; get expireTime(): any; get signAlgo(): any; get type(): any; } export declare class TeoCertificateConfigUpstreamCertInfoUpstreamMutualTlsCertInfosList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: TeoCertificateConfigUpstreamCertInfoUpstreamMutualTlsCertInfos[] | 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): TeoCertificateConfigUpstreamCertInfoUpstreamMutualTlsCertInfosOutputReference; } export interface TeoCertificateConfigUpstreamCertInfoUpstreamMutualTls { /** * Mutual authentication configuration switch, the values are: `on`: enable; `off`: disable. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config#switch TeoCertificateConfig#switch} */ readonly switch: string; /** * cert_infos block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config#cert_infos TeoCertificateConfig#cert_infos} */ readonly certInfos?: TeoCertificateConfigUpstreamCertInfoUpstreamMutualTlsCertInfos[] | cdktf.IResolvable; } export declare function teoCertificateConfigUpstreamCertInfoUpstreamMutualTlsToTerraform(struct?: TeoCertificateConfigUpstreamCertInfoUpstreamMutualTlsOutputReference | TeoCertificateConfigUpstreamCertInfoUpstreamMutualTls): any; export declare function teoCertificateConfigUpstreamCertInfoUpstreamMutualTlsToHclTerraform(struct?: TeoCertificateConfigUpstreamCertInfoUpstreamMutualTlsOutputReference | TeoCertificateConfigUpstreamCertInfoUpstreamMutualTls): any; export declare class TeoCertificateConfigUpstreamCertInfoUpstreamMutualTlsOutputReference 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(): TeoCertificateConfigUpstreamCertInfoUpstreamMutualTls | undefined; set internalValue(value: TeoCertificateConfigUpstreamCertInfoUpstreamMutualTls | undefined); private _switch?; get switch(): string; set switch(value: string); get switchInput(): string; private _certInfos; get certInfos(): TeoCertificateConfigUpstreamCertInfoUpstreamMutualTlsCertInfosList; putCertInfos(value: TeoCertificateConfigUpstreamCertInfoUpstreamMutualTlsCertInfos[] | cdktf.IResolvable): void; resetCertInfos(): void; get certInfosInput(): any; } export interface TeoCertificateConfigUpstreamCertInfo { /** * upstream_mutual_tls block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config#upstream_mutual_tls TeoCertificateConfig#upstream_mutual_tls} */ readonly upstreamMutualTls?: TeoCertificateConfigUpstreamCertInfoUpstreamMutualTls; } export declare function teoCertificateConfigUpstreamCertInfoToTerraform(struct?: TeoCertificateConfigUpstreamCertInfoOutputReference | TeoCertificateConfigUpstreamCertInfo): any; export declare function teoCertificateConfigUpstreamCertInfoToHclTerraform(struct?: TeoCertificateConfigUpstreamCertInfoOutputReference | TeoCertificateConfigUpstreamCertInfo): any; export declare class TeoCertificateConfigUpstreamCertInfoOutputReference 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(): TeoCertificateConfigUpstreamCertInfo | undefined; set internalValue(value: TeoCertificateConfigUpstreamCertInfo | undefined); private _upstreamMutualTls; get upstreamMutualTls(): TeoCertificateConfigUpstreamCertInfoUpstreamMutualTlsOutputReference; putUpstreamMutualTls(value: TeoCertificateConfigUpstreamCertInfoUpstreamMutualTls): void; resetUpstreamMutualTls(): void; get upstreamMutualTlsInput(): TeoCertificateConfigUpstreamCertInfoUpstreamMutualTls; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config tencentcloud_teo_certificate_config} */ export declare class TeoCertificateConfig extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_teo_certificate_config"; /** * Generates CDKTF code for importing a TeoCertificateConfig 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 TeoCertificateConfig to import * @param importFromId The id of the existing TeoCertificateConfig that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/teo_certificate_config#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the TeoCertificateConfig 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_certificate_config tencentcloud_teo_certificate_config} 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 TeoCertificateConfigConfig */ constructor(scope: Construct, id: string, config: TeoCertificateConfigConfig); private _host?; get host(): string; set host(value: string); get hostInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _mode?; get mode(): string; set mode(value: string); resetMode(): void; get modeInput(): string; private _zoneId?; get zoneId(): string; set zoneId(value: string); get zoneIdInput(): string; private _serverCertInfo; get serverCertInfo(): TeoCertificateConfigServerCertInfoList; putServerCertInfo(value: TeoCertificateConfigServerCertInfo[] | cdktf.IResolvable): void; resetServerCertInfo(): void; get serverCertInfoInput(): any; private _upstreamCertInfo; get upstreamCertInfo(): TeoCertificateConfigUpstreamCertInfoOutputReference; putUpstreamCertInfo(value: TeoCertificateConfigUpstreamCertInfo): void; resetUpstreamCertInfo(): void; get upstreamCertInfoInput(): TeoCertificateConfigUpstreamCertInfo; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }