import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface SslPayCertificateConfig extends cdktf.TerraformMetaArguments { /** * Remark name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#alias SslPayCertificate#alias} */ readonly alias?: string; /** * The base64-encoded certificate confirmation file should be in jpg, jpeg, png, pdf, and the size should be between 1kb and 1.4M. Note: it only works when product_id is set to 8, 9 or 10. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#confirm_letter SslPayCertificate#confirm_letter} */ readonly confirmLetter?: string; /** * Number of domain names included in the certificate. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#domain_num SslPayCertificate#domain_num} */ readonly domainNum: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#id SslPayCertificate#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; /** * Certificate commodity ID. Valid value ranges: (3~42). `3` means SecureSite enhanced Enterprise Edition (EV Pro), `4` means SecureSite enhanced (EV), `5` means SecureSite Enterprise Professional Edition (OV Pro), `6` means SecureSite Enterprise (OV), `7` means SecureSite Enterprise Type (OV) wildcard, `8` means Geotrust enhanced (EV), `9` means Geotrust enterprise (OV), `10` means Geotrust enterprise (OV) wildcard, `11` means TrustAsia domain type multi-domain SSL certificate, `12` means TrustAsia domain type ( DV) wildcard, `13` means TrustAsia enterprise wildcard (OV) SSL certificate (D3), `14` means TrustAsia enterprise (OV) SSL certificate (D3), `15` means TrustAsia enterprise multi-domain (OV) SSL certificate (D3), `16` means TrustAsia Enhanced (EV) SSL Certificate (D3), `17` means TrustAsia Enhanced Multiple Domain (EV) SSL Certificate (D3), `18` means GlobalSign Enterprise (OV) SSL Certificate, `19` means GlobalSign Enterprise Wildcard (OV) SSL Certificate, `20` means GlobalSign Enhanced (EV) SSL Certificate, `21` means TrustAsia Enterprise Wildcard Multiple Domain (OV) SSL Certificate (D3), `22` means GlobalSign Enterprise Multiple Domain (OV) SSL Certificate, `23` means GlobalSign Enterprise Multiple Wildcard Domain name (OV) SSL certificate, `24` means GlobalSign enhanced multi-domain (EV) SSL certificate, `25` means Wotrus domain type certificate, `26` means Wotrus domain type multi-domain certificate, `27` means Wotrus domain type wildcard certificate, `28` means Wotrus enterprise type certificate, `29` means Wotrus enterprise multi-domain certificate, `30` means Wotrus enterprise wildcard certificate, `31` means Wotrus enhanced certificate, `32` means Wotrus enhanced multi-domain certificate, `33` means WoTrus National Secret Domain name Certificate, `34` means WoTrus National Secret Domain name Certificate (multiple domain names), `35` WoTrus National Secret Domain name Certificate (wildcard), `37` means WoTrus State Secret Enterprise Certificate, `38` means WoTrus State Secret Enterprise Certificate (multiple domain names), `39` means WoTrus State Secret Enterprise Certificate (wildcard), `40` means WoTrus National secret enhanced certificate, `41` means WoTrus National Secret enhanced Certificate (multiple domain names), `42` means TrustAsia- Domain name Certificate (wildcard multiple domain names), `43` means DNSPod Enterprise (OV) SSL Certificate, `44` means DNSPod- Enterprise (OV) wildcard SSL certificate, `45` means DNSPod Enterprise (OV) Multi-domain name SSL Certificate, `46` means DNSPod enhanced (EV) SSL certificate, `47` means DNSPod enhanced (EV) multi-domain name SSL certificate, `48` means DNSPod Domain name Type (DV) SSL Certificate, `49` means DNSPod Domain name Type (DV) wildcard SSL certificate, `50` means DNSPod domain name type (DV) multi-domain name SSL certificate, `51` means DNSPod (State Secret) Enterprise (OV) SSL certificate, `52` DNSPod (National Secret) Enterprise (OV) wildcard SSL certificate, `53` means DNSPod (National Secret) Enterprise (OV) multi-domain SSL certificate, `54` means DNSPod (National Secret) Domain Name (DV) SSL certificate, `55` means DNSPod (National Secret) Domain Name Type (DV) wildcard SSL certificate, `56` means DNSPod (National Secret) Domain Name Type (DV) multi-domain SSL certificate. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#product_id SslPayCertificate#product_id} */ readonly productId: number; /** * The ID of project. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#project_id SslPayCertificate#project_id} */ readonly projectId?: number; /** * Certificate period, currently only supports 1 year certificate purchase. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#time_span SslPayCertificate#time_span} */ readonly timeSpan?: number; /** * dv_auths block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#dv_auths SslPayCertificate#dv_auths} */ readonly dvAuths?: SslPayCertificateDvAuths[] | cdktf.IResolvable; /** * information block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#information SslPayCertificate#information} */ readonly information: SslPayCertificateInformation; } export interface SslPayCertificateDvAuths { } export declare function sslPayCertificateDvAuthsToTerraform(struct?: SslPayCertificateDvAuths | cdktf.IResolvable): any; export declare function sslPayCertificateDvAuthsToHclTerraform(struct?: SslPayCertificateDvAuths | cdktf.IResolvable): any; export declare class SslPayCertificateDvAuthsOutputReference 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(): SslPayCertificateDvAuths | cdktf.IResolvable | undefined; set internalValue(value: SslPayCertificateDvAuths | cdktf.IResolvable | undefined); get dvAuthKey(): any; get dvAuthValue(): any; get dvAuthVerifyType(): any; } export declare class SslPayCertificateDvAuthsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: SslPayCertificateDvAuths[] | 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): SslPayCertificateDvAuthsOutputReference; } export interface SslPayCertificateInformation { /** * The administrator's email address. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#admin_email SslPayCertificate#admin_email} */ readonly adminEmail: string; /** * The first name of the administrator. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#admin_first_name SslPayCertificate#admin_first_name} */ readonly adminFirstName: string; /** * The last name of the administrator. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#admin_last_name SslPayCertificate#admin_last_name} */ readonly adminLastName: string; /** * Manager mobile phone number. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#admin_phone_num SslPayCertificate#admin_phone_num} */ readonly adminPhoneNum: string; /** * Manager position. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#admin_position SslPayCertificate#admin_position} */ readonly adminPosition: string; /** * Domain name for binding certificate. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#certificate_domain SslPayCertificate#certificate_domain} */ readonly certificateDomain: string; /** * Contact email address. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#contact_email SslPayCertificate#contact_email} */ readonly contactEmail: string; /** * Contact first name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#contact_first_name SslPayCertificate#contact_first_name} */ readonly contactFirstName: string; /** * Contact last name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#contact_last_name SslPayCertificate#contact_last_name} */ readonly contactLastName: string; /** * Contact phone number. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#contact_number SslPayCertificate#contact_number} */ readonly contactNumber: string; /** * Contact position. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#contact_position SslPayCertificate#contact_position} */ readonly contactPosition: string; /** * CSR content uploaded. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#csr_content SslPayCertificate#csr_content} */ readonly csrContent?: string; /** * CSR generation method. Valid values: `online`, `parse`. `online` means online generation, `parse` means manual upload. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#csr_type SslPayCertificate#csr_type} */ readonly csrType?: string; /** * Array of uploaded domain names, multi-domain certificates can be uploaded. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#domain_list SslPayCertificate#domain_list} */ readonly domainList?: string[]; /** * Private key password. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#key_password SslPayCertificate#key_password} */ readonly keyPassword?: string; /** * Company address. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#organization_address SslPayCertificate#organization_address} */ readonly organizationAddress: string; /** * Company city. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#organization_city SslPayCertificate#organization_city} */ readonly organizationCity: string; /** * Country name, such as China: CN. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#organization_country SslPayCertificate#organization_country} */ readonly organizationCountry: string; /** * Department name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#organization_division SslPayCertificate#organization_division} */ readonly organizationDivision: string; /** * Company name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#organization_name SslPayCertificate#organization_name} */ readonly organizationName: string; /** * The province where the company is located. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#organization_region SslPayCertificate#organization_region} */ readonly organizationRegion: string; /** * Company landline area code. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#phone_area_code SslPayCertificate#phone_area_code} */ readonly phoneAreaCode: string; /** * Company landline number. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#phone_number SslPayCertificate#phone_number} */ readonly phoneNumber: string; /** * Company postal code. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#postal_code SslPayCertificate#postal_code} */ readonly postalCode: string; /** * Certificate verification method. Valid values: `DNS_AUTO`, `DNS`, `FILE`. `DNS_AUTO` means automatic DNS verification, this verification type is only supported for domain names resolved by Tencent Cloud and the resolution status is normal, `DNS` means manual DNS verification, `FILE` means file verification. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#verify_type SslPayCertificate#verify_type} */ readonly verifyType: string; } export declare function sslPayCertificateInformationToTerraform(struct?: SslPayCertificateInformationOutputReference | SslPayCertificateInformation): any; export declare function sslPayCertificateInformationToHclTerraform(struct?: SslPayCertificateInformationOutputReference | SslPayCertificateInformation): any; export declare class SslPayCertificateInformationOutputReference 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(): SslPayCertificateInformation | undefined; set internalValue(value: SslPayCertificateInformation | undefined); private _adminEmail?; get adminEmail(): string; set adminEmail(value: string); get adminEmailInput(): string; private _adminFirstName?; get adminFirstName(): string; set adminFirstName(value: string); get adminFirstNameInput(): string; private _adminLastName?; get adminLastName(): string; set adminLastName(value: string); get adminLastNameInput(): string; private _adminPhoneNum?; get adminPhoneNum(): string; set adminPhoneNum(value: string); get adminPhoneNumInput(): string; private _adminPosition?; get adminPosition(): string; set adminPosition(value: string); get adminPositionInput(): string; private _certificateDomain?; get certificateDomain(): string; set certificateDomain(value: string); get certificateDomainInput(): string; private _contactEmail?; get contactEmail(): string; set contactEmail(value: string); get contactEmailInput(): string; private _contactFirstName?; get contactFirstName(): string; set contactFirstName(value: string); get contactFirstNameInput(): string; private _contactLastName?; get contactLastName(): string; set contactLastName(value: string); get contactLastNameInput(): string; private _contactNumber?; get contactNumber(): string; set contactNumber(value: string); get contactNumberInput(): string; private _contactPosition?; get contactPosition(): string; set contactPosition(value: string); get contactPositionInput(): string; private _csrContent?; get csrContent(): string; set csrContent(value: string); resetCsrContent(): void; get csrContentInput(): string; private _csrType?; get csrType(): string; set csrType(value: string); resetCsrType(): void; get csrTypeInput(): string; private _domainList?; get domainList(): string[]; set domainList(value: string[]); resetDomainList(): void; get domainListInput(): string[]; private _keyPassword?; get keyPassword(): string; set keyPassword(value: string); resetKeyPassword(): void; get keyPasswordInput(): string; private _organizationAddress?; get organizationAddress(): string; set organizationAddress(value: string); get organizationAddressInput(): string; private _organizationCity?; get organizationCity(): string; set organizationCity(value: string); get organizationCityInput(): string; private _organizationCountry?; get organizationCountry(): string; set organizationCountry(value: string); get organizationCountryInput(): string; private _organizationDivision?; get organizationDivision(): string; set organizationDivision(value: string); get organizationDivisionInput(): string; private _organizationName?; get organizationName(): string; set organizationName(value: string); get organizationNameInput(): string; private _organizationRegion?; get organizationRegion(): string; set organizationRegion(value: string); get organizationRegionInput(): string; private _phoneAreaCode?; get phoneAreaCode(): string; set phoneAreaCode(value: string); get phoneAreaCodeInput(): string; private _phoneNumber?; get phoneNumber(): string; set phoneNumber(value: string); get phoneNumberInput(): string; private _postalCode?; get postalCode(): string; set postalCode(value: string); get postalCodeInput(): string; private _verifyType?; get verifyType(): string; set verifyType(value: string); get verifyTypeInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate tencentcloud_ssl_pay_certificate} */ export declare class SslPayCertificate extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_ssl_pay_certificate"; /** * Generates CDKTF code for importing a SslPayCertificate 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 SslPayCertificate to import * @param importFromId The id of the existing SslPayCertificate that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssl_pay_certificate#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the SslPayCertificate 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/ssl_pay_certificate tencentcloud_ssl_pay_certificate} 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 SslPayCertificateConfig */ constructor(scope: Construct, id: string, config: SslPayCertificateConfig); private _alias?; get alias(): string; set alias(value: string); resetAlias(): void; get aliasInput(): string; get certificateId(): any; private _confirmLetter?; get confirmLetter(): string; set confirmLetter(value: string); resetConfirmLetter(): void; get confirmLetterInput(): string; private _domainNum?; get domainNum(): number; set domainNum(value: number); get domainNumInput(): number; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; get orderId(): any; private _productId?; get productId(): number; set productId(value: number); get productIdInput(): number; private _projectId?; get projectId(): number; set projectId(value: number); resetProjectId(): void; get projectIdInput(): number; get status(): any; private _timeSpan?; get timeSpan(): number; set timeSpan(value: number); resetTimeSpan(): void; get timeSpanInput(): number; private _dvAuths; get dvAuths(): SslPayCertificateDvAuthsList; putDvAuths(value: SslPayCertificateDvAuths[] | cdktf.IResolvable): void; resetDvAuths(): void; get dvAuthsInput(): any; private _information; get information(): SslPayCertificateInformationOutputReference; putInformation(value: SslPayCertificateInformation): void; get informationInput(): SslPayCertificateInformation; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }