import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface KmsAsymmetricEncryptionKeyConfig extends cdktf.TerraformMetaArguments { /** * ID of the asymmetric KMS key to return. * To get the ID of an asymmetric KMS key use a [AsymmetricEncryptionKeyService.List] request. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kms_asymmetric_encryption_key#asymmetric_encryption_key_id KmsAsymmetricEncryptionKey#asymmetric_encryption_key_id} */ readonly asymmetricEncryptionKeyId?: string; /** * Flag that inhibits deletion of the key * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kms_asymmetric_encryption_key#deletion_protection KmsAsymmetricEncryptionKey#deletion_protection} */ readonly deletionProtection?: boolean | cdktf.IResolvable; /** * Description of the key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kms_asymmetric_encryption_key#description KmsAsymmetricEncryptionKey#description} */ readonly description?: string; /** * Asymmetric Encryption Algorithm ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kms_asymmetric_encryption_key#encryption_algorithm KmsAsymmetricEncryptionKey#encryption_algorithm} */ readonly encryptionAlgorithm?: string; /** * ID of the folder that the key belongs to. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kms_asymmetric_encryption_key#folder_id KmsAsymmetricEncryptionKey#folder_id} */ readonly folderId?: string; /** * ID of the asymmetric KMS key to return. * To get the ID of an asymmetric KMS key use a [AsymmetricEncryptionKeyService.List] request. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kms_asymmetric_encryption_key#id KmsAsymmetricEncryptionKey#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; /** * Custom labels for the key as `key:value` pairs. Maximum 64 per key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kms_asymmetric_encryption_key#labels KmsAsymmetricEncryptionKey#labels} */ readonly labels?: { [key: string]: string; }; /** * Name of the key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kms_asymmetric_encryption_key#name KmsAsymmetricEncryptionKey#name} */ readonly name?: string; /** * Current status of the key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kms_asymmetric_encryption_key#status KmsAsymmetricEncryptionKey#status} */ readonly status?: string; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kms_asymmetric_encryption_key#timeouts KmsAsymmetricEncryptionKey#timeouts} */ readonly timeouts?: KmsAsymmetricEncryptionKeyTimeouts; } export interface KmsAsymmetricEncryptionKeyTimeouts { /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kms_asymmetric_encryption_key#create KmsAsymmetricEncryptionKey#create} */ readonly create?: string; /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kms_asymmetric_encryption_key#delete KmsAsymmetricEncryptionKey#delete} */ readonly delete?: string; /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kms_asymmetric_encryption_key#read KmsAsymmetricEncryptionKey#read} */ readonly read?: string; /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kms_asymmetric_encryption_key#update KmsAsymmetricEncryptionKey#update} */ readonly update?: string; } export declare function kmsAsymmetricEncryptionKeyTimeoutsToTerraform(struct?: KmsAsymmetricEncryptionKeyTimeouts | cdktf.IResolvable): any; export declare function kmsAsymmetricEncryptionKeyTimeoutsToHclTerraform(struct?: KmsAsymmetricEncryptionKeyTimeouts | cdktf.IResolvable): any; export declare class KmsAsymmetricEncryptionKeyTimeoutsOutputReference 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(): KmsAsymmetricEncryptionKeyTimeouts | cdktf.IResolvable | undefined; set internalValue(value: KmsAsymmetricEncryptionKeyTimeouts | 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/kms_asymmetric_encryption_key yandex_kms_asymmetric_encryption_key} */ export declare class KmsAsymmetricEncryptionKey extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_kms_asymmetric_encryption_key"; /** * Generates CDKTF code for importing a KmsAsymmetricEncryptionKey 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 KmsAsymmetricEncryptionKey to import * @param importFromId The id of the existing KmsAsymmetricEncryptionKey that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/kms_asymmetric_encryption_key#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the KmsAsymmetricEncryptionKey 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/kms_asymmetric_encryption_key yandex_kms_asymmetric_encryption_key} 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 KmsAsymmetricEncryptionKeyConfig = {} */ constructor(scope: Construct, id: string, config?: KmsAsymmetricEncryptionKeyConfig); private _asymmetricEncryptionKeyId?; get asymmetricEncryptionKeyId(): string; set asymmetricEncryptionKeyId(value: string); resetAsymmetricEncryptionKeyId(): void; get asymmetricEncryptionKeyIdInput(): string; 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 _encryptionAlgorithm?; get encryptionAlgorithm(): string; set encryptionAlgorithm(value: string); resetEncryptionAlgorithm(): void; get encryptionAlgorithmInput(): 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; 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); resetName(): void; get nameInput(): string; private _status?; get status(): string; set status(value: string); resetStatus(): void; get statusInput(): string; private _timeouts; get timeouts(): KmsAsymmetricEncryptionKeyTimeoutsOutputReference; putTimeouts(value: KmsAsymmetricEncryptionKeyTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }