import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface CmCertificateConfig extends cdktf.TerraformMetaArguments { /** * The `true` value means that resource is protected from accidental deletion. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#deletion_protection CmCertificate#deletion_protection} */ readonly deletionProtection?: boolean | cdktf.IResolvable; /** * The resource description. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#description CmCertificate#description} */ readonly description?: string; /** * Domains for this certificate. Should be specified for managed certificates. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#domains CmCertificate#domains} */ readonly domains?: string[]; /** * The folder identifier that resource belongs to. If it is not provided, the default provider `folder-id` is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#folder_id CmCertificate#folder_id} */ readonly folderId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#id CmCertificate#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; /** * A set of key/value label pairs which assigned to resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#labels CmCertificate#labels} */ readonly labels?: { [key: string]: string; }; /** * The resource name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#name CmCertificate#name} */ readonly name: string; /** * managed block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#managed CmCertificate#managed} */ readonly managed?: CmCertificateManaged; /** * self_managed block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#self_managed CmCertificate#self_managed} */ readonly selfManaged?: CmCertificateSelfManaged; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#timeouts CmCertificate#timeouts} */ readonly timeouts?: CmCertificateTimeouts; } export interface CmCertificateChallenges { } export declare function cmCertificateChallengesToTerraform(struct?: CmCertificateChallenges): any; export declare function cmCertificateChallengesToHclTerraform(struct?: CmCertificateChallenges): any; export declare class CmCertificateChallengesOutputReference 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(): CmCertificateChallenges | undefined; set internalValue(value: CmCertificateChallenges | undefined); get createdAt(): any; get dnsName(): any; get dnsType(): any; get dnsValue(): any; get domain(): any; get httpContent(): any; get httpUrl(): any; get message(): any; get type(): any; get updatedAt(): any; } export declare class CmCertificateChallengesList 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): CmCertificateChallengesOutputReference; } export interface CmCertificateManaged { /** * Expected number of challenge count needed to validate certificate. Resource creation will fail if the specified value does not match the actual number of challenges received from issue provider. This argument is helpful for safe automatic resource creation for passing challenges for multi-domain certificates. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#challenge_count CmCertificate#challenge_count} */ readonly challengeCount?: number; /** * Domain owner-check method. Possible values: * * `DNS_CNAME` - you will need to create a CNAME dns record with the specified value. Recommended for fully automated certificate renewal. * * `DNS_TXT` - you will need to create a TXT dns record with specified value. * * `HTTP` - you will need to place specified value into specified url. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#challenge_type CmCertificate#challenge_type} */ readonly challengeType: string; } export declare function cmCertificateManagedToTerraform(struct?: CmCertificateManagedOutputReference | CmCertificateManaged): any; export declare function cmCertificateManagedToHclTerraform(struct?: CmCertificateManagedOutputReference | CmCertificateManaged): any; export declare class CmCertificateManagedOutputReference 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(): CmCertificateManaged | undefined; set internalValue(value: CmCertificateManaged | undefined); private _challengeCount?; get challengeCount(): number; set challengeCount(value: number); resetChallengeCount(): void; get challengeCountInput(): number; private _challengeType?; get challengeType(): string; set challengeType(value: string); get challengeTypeInput(): string; } export interface CmCertificateSelfManagedPrivateKeyLockboxSecret { /** * Lockbox secret Id. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#id CmCertificate#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; /** * Key of the Lockbox secret, the value of which contains the private key of the certificate. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#key CmCertificate#key} */ readonly key: string; } export declare function cmCertificateSelfManagedPrivateKeyLockboxSecretToTerraform(struct?: CmCertificateSelfManagedPrivateKeyLockboxSecretOutputReference | CmCertificateSelfManagedPrivateKeyLockboxSecret): any; export declare function cmCertificateSelfManagedPrivateKeyLockboxSecretToHclTerraform(struct?: CmCertificateSelfManagedPrivateKeyLockboxSecretOutputReference | CmCertificateSelfManagedPrivateKeyLockboxSecret): any; export declare class CmCertificateSelfManagedPrivateKeyLockboxSecretOutputReference 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(): CmCertificateSelfManagedPrivateKeyLockboxSecret | undefined; set internalValue(value: CmCertificateSelfManagedPrivateKeyLockboxSecret | undefined); private _id?; get id(): string; set id(value: string); get idInput(): string; private _key?; get key(): string; set key(value: string); get keyInput(): string; } export interface CmCertificateSelfManaged { /** * Certificate with chain. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#certificate CmCertificate#certificate} */ readonly certificate: string; /** * Private key of certificate. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#private_key CmCertificate#private_key} */ readonly privateKey?: string; /** * private_key_lockbox_secret block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#private_key_lockbox_secret CmCertificate#private_key_lockbox_secret} */ readonly privateKeyLockboxSecret?: CmCertificateSelfManagedPrivateKeyLockboxSecret; } export declare function cmCertificateSelfManagedToTerraform(struct?: CmCertificateSelfManagedOutputReference | CmCertificateSelfManaged): any; export declare function cmCertificateSelfManagedToHclTerraform(struct?: CmCertificateSelfManagedOutputReference | CmCertificateSelfManaged): any; export declare class CmCertificateSelfManagedOutputReference 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(): CmCertificateSelfManaged | undefined; set internalValue(value: CmCertificateSelfManaged | undefined); private _certificate?; get certificate(): string; set certificate(value: string); get certificateInput(): string; private _privateKey?; get privateKey(): string; set privateKey(value: string); resetPrivateKey(): void; get privateKeyInput(): string; private _privateKeyLockboxSecret; get privateKeyLockboxSecret(): CmCertificateSelfManagedPrivateKeyLockboxSecretOutputReference; putPrivateKeyLockboxSecret(value: CmCertificateSelfManagedPrivateKeyLockboxSecret): void; resetPrivateKeyLockboxSecret(): void; get privateKeyLockboxSecretInput(): CmCertificateSelfManagedPrivateKeyLockboxSecret; } export interface CmCertificateTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#create CmCertificate#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#delete CmCertificate#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#read CmCertificate#read} */ readonly read?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#update CmCertificate#update} */ readonly update?: string; } export declare function cmCertificateTimeoutsToTerraform(struct?: CmCertificateTimeouts | cdktf.IResolvable): any; export declare function cmCertificateTimeoutsToHclTerraform(struct?: CmCertificateTimeouts | cdktf.IResolvable): any; export declare class CmCertificateTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @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(): CmCertificateTimeouts | cdktf.IResolvable | undefined; set internalValue(value: CmCertificateTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string; private _read?; get read(): string; set read(value: string); resetRead(): void; get readInput(): string; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate yandex_cm_certificate} */ export declare class CmCertificate extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_cm_certificate"; /** * Generates CDKTF code for importing a CmCertificate 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 CmCertificate to import * @param importFromId The id of the existing CmCertificate that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CmCertificate 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/yandex-cloud/yandex/0.177.0/docs/resources/cm_certificate yandex_cm_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 CmCertificateConfig */ constructor(scope: Construct, id: string, config: CmCertificateConfig); private _challenges; get challenges(): CmCertificateChallengesList; get createdAt(): any; private _deletionProtection?; get deletionProtection(): boolean | cdktf.IResolvable; set deletionProtection(value: boolean | cdktf.IResolvable); resetDeletionProtection(): void; get deletionProtectionInput(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _domains?; get domains(): string[]; set domains(value: string[]); resetDomains(): void; get domainsInput(): string[]; private _folderId?; get folderId(): string; set folderId(value: string); resetFolderId(): void; get folderIdInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; get issuedAt(): any; get issuer(): any; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; }; private _name?; get name(): string; set name(value: string); get nameInput(): string; get notAfter(): any; get notBefore(): any; get serial(): any; get status(): any; get subject(): any; get type(): any; get updatedAt(): any; private _managed; get managed(): CmCertificateManagedOutputReference; putManaged(value: CmCertificateManaged): void; resetManaged(): void; get managedInput(): CmCertificateManaged; private _selfManaged; get selfManaged(): CmCertificateSelfManagedOutputReference; putSelfManaged(value: CmCertificateSelfManaged): void; resetSelfManaged(): void; get selfManagedInput(): CmCertificateSelfManaged; private _timeouts; get timeouts(): CmCertificateTimeoutsOutputReference; putTimeouts(value: CmCertificateTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }