import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ClbReplaceCertForLbsConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clb_replace_cert_for_lbs#id ClbReplaceCertForLbs#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; /** * ID of the certificate to be replaced, which can be a server certificate or a client certificate. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clb_replace_cert_for_lbs#old_certificate_id ClbReplaceCertForLbs#old_certificate_id} */ readonly oldCertificateId: string; /** * certificate block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clb_replace_cert_for_lbs#certificate ClbReplaceCertForLbs#certificate} */ readonly certificate: ClbReplaceCertForLbsCertificate; } export interface ClbReplaceCertForLbsCertificate { /** * Content of the uploaded client certificate. When SSLMode = mutual, if there is no CertCaId, this parameter is required. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clb_replace_cert_for_lbs#cert_ca_content ClbReplaceCertForLbs#cert_ca_content} */ readonly certCaContent?: string; /** * ID of a client certificate. When the listener adopts mutual authentication (i.e., SSLMode = mutual), if you leave this parameter empty, you must upload the client certificate, including CertCaContent and CertCaName. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clb_replace_cert_for_lbs#cert_ca_id ClbReplaceCertForLbs#cert_ca_id} */ readonly certCaId?: string; /** * Name of the uploaded client CA certificate. When SSLMode = mutual, if there is no CertCaId, this parameter is required. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clb_replace_cert_for_lbs#cert_ca_name ClbReplaceCertForLbs#cert_ca_name} */ readonly certCaName?: string; /** * Content of the uploaded server certificate. If there is no CertId, this parameter is required. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clb_replace_cert_for_lbs#cert_content ClbReplaceCertForLbs#cert_content} */ readonly certContent?: string; /** * ID of a server certificate. If you leave this parameter empty, you must upload the certificate, including CertContent, CertKey, and CertName. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clb_replace_cert_for_lbs#cert_id ClbReplaceCertForLbs#cert_id} */ readonly certId?: string; /** * Key of the uploaded server certificate. If there is no CertId, this parameter is required. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clb_replace_cert_for_lbs#cert_key ClbReplaceCertForLbs#cert_key} */ readonly certKey?: string; /** * Name of the uploaded server certificate. If there is no CertId, this parameter is required. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clb_replace_cert_for_lbs#cert_name ClbReplaceCertForLbs#cert_name} */ readonly certName?: string; /** * Authentication type. Value range: UNIDIRECTIONAL (unidirectional authentication), MUTUAL (mutual authentication). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clb_replace_cert_for_lbs#ssl_mode ClbReplaceCertForLbs#ssl_mode} */ readonly sslMode?: string; } export declare function clbReplaceCertForLbsCertificateToTerraform(struct?: ClbReplaceCertForLbsCertificateOutputReference | ClbReplaceCertForLbsCertificate): any; export declare function clbReplaceCertForLbsCertificateToHclTerraform(struct?: ClbReplaceCertForLbsCertificateOutputReference | ClbReplaceCertForLbsCertificate): any; export declare class ClbReplaceCertForLbsCertificateOutputReference 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(): ClbReplaceCertForLbsCertificate | undefined; set internalValue(value: ClbReplaceCertForLbsCertificate | undefined); private _certCaContent?; get certCaContent(): string; set certCaContent(value: string); resetCertCaContent(): void; get certCaContentInput(): string; private _certCaId?; get certCaId(): string; set certCaId(value: string); resetCertCaId(): void; get certCaIdInput(): string; private _certCaName?; get certCaName(): string; set certCaName(value: string); resetCertCaName(): void; get certCaNameInput(): string; private _certContent?; get certContent(): string; set certContent(value: string); resetCertContent(): void; get certContentInput(): string; private _certId?; get certId(): string; set certId(value: string); resetCertId(): void; get certIdInput(): string; private _certKey?; get certKey(): string; set certKey(value: string); resetCertKey(): void; get certKeyInput(): string; private _certName?; get certName(): string; set certName(value: string); resetCertName(): void; get certNameInput(): string; private _sslMode?; get sslMode(): string; set sslMode(value: string); resetSslMode(): void; get sslModeInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clb_replace_cert_for_lbs tencentcloud_clb_replace_cert_for_lbs} */ export declare class ClbReplaceCertForLbs extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_clb_replace_cert_for_lbs"; /** * Generates CDKTF code for importing a ClbReplaceCertForLbs 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 ClbReplaceCertForLbs to import * @param importFromId The id of the existing ClbReplaceCertForLbs that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/clb_replace_cert_for_lbs#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ClbReplaceCertForLbs 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/clb_replace_cert_for_lbs tencentcloud_clb_replace_cert_for_lbs} 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 ClbReplaceCertForLbsConfig */ constructor(scope: Construct, id: string, config: ClbReplaceCertForLbsConfig); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _oldCertificateId?; get oldCertificateId(): string; set oldCertificateId(value: string); get oldCertificateIdInput(): string; private _certificate; get certificate(): ClbReplaceCertForLbsCertificateOutputReference; putCertificate(value: ClbReplaceCertForLbsCertificate): void; get certificateInput(): ClbReplaceCertForLbsCertificate; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }