import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ComputeInstanceConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#allow_recreate ComputeInstance#allow_recreate} */ readonly allowRecreate?: boolean | cdktf.IResolvable; /** * If `true`, allows Terraform to stop the instance in order to update its properties. If you try to update a property that requires stopping the instance without setting this field, the update will fail. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#allow_stopping_for_update ComputeInstance#allow_stopping_for_update} */ readonly allowStoppingForUpdate?: boolean | cdktf.IResolvable; /** * The resource description. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#description ComputeInstance#description} */ readonly description?: 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/compute_instance#folder_id ComputeInstance#folder_id} */ readonly folderId?: string; /** * ID of the GPU cluster to attach this instance to. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#gpu_cluster_id ComputeInstance#gpu_cluster_id} */ readonly gpuClusterId?: string; /** * Host name for the instance. This field is used to generate the instance `fqdn` value. The host name must be unique within the network and region. If not specified, the host name will be equal to `id` of the instance and `fqdn` will be `.auto.internal`. Otherwise FQDN will be `..internal`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#hostname ComputeInstance#hostname} */ readonly hostname?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#id ComputeInstance#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/compute_instance#labels ComputeInstance#labels} */ readonly labels?: { [key: string]: string; }; /** * Time between notification via metadata service and maintenance. E.g., `60s`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#maintenance_grace_period ComputeInstance#maintenance_grace_period} */ readonly maintenanceGracePeriod?: string; /** * Behavior on maintenance events. Can be: `unspecified`, `migrate`, `restart`. The default is `unspecified`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#maintenance_policy ComputeInstance#maintenance_policy} */ readonly maintenancePolicy?: string; /** * Metadata key/value pairs to make available from within the instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#metadata ComputeInstance#metadata} */ readonly metadata?: { [key: string]: string; }; /** * The resource name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#name ComputeInstance#name} */ readonly name?: string; /** * Type of network acceleration. Can be `standard` or `software_accelerated`. The default is `standard`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#network_acceleration_type ComputeInstance#network_acceleration_type} */ readonly networkAccelerationType?: string; /** * The type of virtual machine to create. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#platform_id ComputeInstance#platform_id} */ readonly platformId?: string; /** * [Service account](https://yandex.cloud/docs/iam/concepts/users/service-accounts) which linked to the resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#service_account_id ComputeInstance#service_account_id} */ readonly serviceAccountId?: string; /** * The [availability zone](https://yandex.cloud/docs/overview/concepts/geo-scope) where resource is located. If it is not provided, the default provider zone will be used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#zone ComputeInstance#zone} */ readonly zone?: string; /** * boot_disk block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#boot_disk ComputeInstance#boot_disk} */ readonly bootDisk: ComputeInstanceBootDisk; /** * filesystem block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#filesystem ComputeInstance#filesystem} */ readonly filesystem?: ComputeInstanceFilesystem[] | cdktf.IResolvable; /** * local_disk block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#local_disk ComputeInstance#local_disk} */ readonly localDisk?: ComputeInstanceLocalDisk[] | cdktf.IResolvable; /** * metadata_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#metadata_options ComputeInstance#metadata_options} */ readonly metadataOptions?: ComputeInstanceMetadataOptions; /** * network_interface block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#network_interface ComputeInstance#network_interface} */ readonly networkInterface: ComputeInstanceNetworkInterface[] | cdktf.IResolvable; /** * placement_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#placement_policy ComputeInstance#placement_policy} */ readonly placementPolicy?: ComputeInstancePlacementPolicy; /** * resources block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#resources ComputeInstance#resources} */ readonly resources: ComputeInstanceResources; /** * scheduling_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#scheduling_policy ComputeInstance#scheduling_policy} */ readonly schedulingPolicy?: ComputeInstanceSchedulingPolicy; /** * secondary_disk block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#secondary_disk ComputeInstance#secondary_disk} */ readonly secondaryDisk?: ComputeInstanceSecondaryDisk[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#timeouts ComputeInstance#timeouts} */ readonly timeouts?: ComputeInstanceTimeouts; } export interface ComputeInstanceHardwareGenerationGeneration2Features { } export declare function computeInstanceHardwareGenerationGeneration2FeaturesToTerraform(struct?: ComputeInstanceHardwareGenerationGeneration2Features): any; export declare function computeInstanceHardwareGenerationGeneration2FeaturesToHclTerraform(struct?: ComputeInstanceHardwareGenerationGeneration2Features): any; export declare class ComputeInstanceHardwareGenerationGeneration2FeaturesOutputReference 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(): ComputeInstanceHardwareGenerationGeneration2Features | undefined; set internalValue(value: ComputeInstanceHardwareGenerationGeneration2Features | undefined); } export declare class ComputeInstanceHardwareGenerationGeneration2FeaturesList 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): ComputeInstanceHardwareGenerationGeneration2FeaturesOutputReference; } export interface ComputeInstanceHardwareGenerationLegacyFeatures { } export declare function computeInstanceHardwareGenerationLegacyFeaturesToTerraform(struct?: ComputeInstanceHardwareGenerationLegacyFeatures): any; export declare function computeInstanceHardwareGenerationLegacyFeaturesToHclTerraform(struct?: ComputeInstanceHardwareGenerationLegacyFeatures): any; export declare class ComputeInstanceHardwareGenerationLegacyFeaturesOutputReference 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(): ComputeInstanceHardwareGenerationLegacyFeatures | undefined; set internalValue(value: ComputeInstanceHardwareGenerationLegacyFeatures | undefined); get pciTopology(): any; } export declare class ComputeInstanceHardwareGenerationLegacyFeaturesList 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): ComputeInstanceHardwareGenerationLegacyFeaturesOutputReference; } export interface ComputeInstanceHardwareGeneration { } export declare function computeInstanceHardwareGenerationToTerraform(struct?: ComputeInstanceHardwareGeneration): any; export declare function computeInstanceHardwareGenerationToHclTerraform(struct?: ComputeInstanceHardwareGeneration): any; export declare class ComputeInstanceHardwareGenerationOutputReference 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(): ComputeInstanceHardwareGeneration | undefined; set internalValue(value: ComputeInstanceHardwareGeneration | undefined); private _generation2Features; get generation2Features(): ComputeInstanceHardwareGenerationGeneration2FeaturesList; private _legacyFeatures; get legacyFeatures(): ComputeInstanceHardwareGenerationLegacyFeaturesList; } export declare class ComputeInstanceHardwareGenerationList 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): ComputeInstanceHardwareGenerationOutputReference; } export interface ComputeInstanceBootDiskInitializeParams { /** * Block size of the disk, specified in bytes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#block_size ComputeInstance#block_size} */ readonly blockSize?: number; /** * Description of the boot disk. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#description ComputeInstance#description} */ readonly description?: string; /** * A disk image to initialize this disk from. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#image_id ComputeInstance#image_id} */ readonly imageId?: string; /** * ID of KMS symmetric key used to encrypt disk. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#kms_key_id ComputeInstance#kms_key_id} */ readonly kmsKeyId?: string; /** * Name of the boot disk. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#name ComputeInstance#name} */ readonly name?: string; /** * Size of the disk in GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#size ComputeInstance#size} */ readonly size?: number; /** * A snapshot to initialize this disk from. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#snapshot_id ComputeInstance#snapshot_id} */ readonly snapshotId?: string; /** * Disk type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#type ComputeInstance#type} */ readonly type?: string; } export declare function computeInstanceBootDiskInitializeParamsToTerraform(struct?: ComputeInstanceBootDiskInitializeParamsOutputReference | ComputeInstanceBootDiskInitializeParams): any; export declare function computeInstanceBootDiskInitializeParamsToHclTerraform(struct?: ComputeInstanceBootDiskInitializeParamsOutputReference | ComputeInstanceBootDiskInitializeParams): any; export declare class ComputeInstanceBootDiskInitializeParamsOutputReference 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(): ComputeInstanceBootDiskInitializeParams | undefined; set internalValue(value: ComputeInstanceBootDiskInitializeParams | undefined); private _blockSize?; get blockSize(): number; set blockSize(value: number); resetBlockSize(): void; get blockSizeInput(): number; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _imageId?; get imageId(): string; set imageId(value: string); resetImageId(): void; get imageIdInput(): string; private _kmsKeyId?; get kmsKeyId(): string; set kmsKeyId(value: string); resetKmsKeyId(): void; get kmsKeyIdInput(): string; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _size?; get size(): number; set size(value: number); resetSize(): void; get sizeInput(): number; private _snapshotId?; get snapshotId(): string; set snapshotId(value: string); resetSnapshotId(): void; get snapshotIdInput(): string; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string; } export interface ComputeInstanceBootDisk { /** * Defines whether the disk will be auto-deleted when the instance is deleted. The default value is `True`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#auto_delete ComputeInstance#auto_delete} */ readonly autoDelete?: boolean | cdktf.IResolvable; /** * Name that can be used to access an attached disk. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#device_name ComputeInstance#device_name} */ readonly deviceName?: string; /** * The ID of the existing disk (such as those managed by `yandex_compute_disk`) to attach as a boot disk. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#disk_id ComputeInstance#disk_id} */ readonly diskId?: string; /** * Type of access to the disk resource. By default, a disk is attached in `READ_WRITE` mode. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#mode ComputeInstance#mode} */ readonly mode?: string; /** * initialize_params block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#initialize_params ComputeInstance#initialize_params} */ readonly initializeParams?: ComputeInstanceBootDiskInitializeParams; } export declare function computeInstanceBootDiskToTerraform(struct?: ComputeInstanceBootDiskOutputReference | ComputeInstanceBootDisk): any; export declare function computeInstanceBootDiskToHclTerraform(struct?: ComputeInstanceBootDiskOutputReference | ComputeInstanceBootDisk): any; export declare class ComputeInstanceBootDiskOutputReference 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(): ComputeInstanceBootDisk | undefined; set internalValue(value: ComputeInstanceBootDisk | undefined); private _autoDelete?; get autoDelete(): boolean | cdktf.IResolvable; set autoDelete(value: boolean | cdktf.IResolvable); resetAutoDelete(): void; get autoDeleteInput(): any; private _deviceName?; get deviceName(): string; set deviceName(value: string); resetDeviceName(): void; get deviceNameInput(): string; private _diskId?; get diskId(): string; set diskId(value: string); resetDiskId(): void; get diskIdInput(): string; private _mode?; get mode(): string; set mode(value: string); resetMode(): void; get modeInput(): string; private _initializeParams; get initializeParams(): ComputeInstanceBootDiskInitializeParamsOutputReference; putInitializeParams(value: ComputeInstanceBootDiskInitializeParams): void; resetInitializeParams(): void; get initializeParamsInput(): ComputeInstanceBootDiskInitializeParams; } export interface ComputeInstanceFilesystem { /** * Name of the device representing the filesystem on the instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#device_name ComputeInstance#device_name} */ readonly deviceName?: string; /** * ID of the filesystem that should be attached. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#filesystem_id ComputeInstance#filesystem_id} */ readonly filesystemId: string; /** * Mode of access to the filesystem that should be attached. By default, filesystem is attached in `READ_WRITE` mode. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#mode ComputeInstance#mode} */ readonly mode?: string; } export declare function computeInstanceFilesystemToTerraform(struct?: ComputeInstanceFilesystem | cdktf.IResolvable): any; export declare function computeInstanceFilesystemToHclTerraform(struct?: ComputeInstanceFilesystem | cdktf.IResolvable): any; export declare class ComputeInstanceFilesystemOutputReference 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(): ComputeInstanceFilesystem | cdktf.IResolvable | undefined; set internalValue(value: ComputeInstanceFilesystem | cdktf.IResolvable | undefined); private _deviceName?; get deviceName(): string; set deviceName(value: string); resetDeviceName(): void; get deviceNameInput(): string; private _filesystemId?; get filesystemId(): string; set filesystemId(value: string); get filesystemIdInput(): string; private _mode?; get mode(): string; set mode(value: string); resetMode(): void; get modeInput(): string; } export declare class ComputeInstanceFilesystemList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeInstanceFilesystem[] | 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): ComputeInstanceFilesystemOutputReference; } export interface ComputeInstanceLocalDisk { /** * Size of the disk, specified in bytes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#size_bytes ComputeInstance#size_bytes} */ readonly sizeBytes: number; } export declare function computeInstanceLocalDiskToTerraform(struct?: ComputeInstanceLocalDisk | cdktf.IResolvable): any; export declare function computeInstanceLocalDiskToHclTerraform(struct?: ComputeInstanceLocalDisk | cdktf.IResolvable): any; export declare class ComputeInstanceLocalDiskOutputReference 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(): ComputeInstanceLocalDisk | cdktf.IResolvable | undefined; set internalValue(value: ComputeInstanceLocalDisk | cdktf.IResolvable | undefined); get deviceName(): any; private _sizeBytes?; get sizeBytes(): number; set sizeBytes(value: number); get sizeBytesInput(): number; } export declare class ComputeInstanceLocalDiskList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeInstanceLocalDisk[] | 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): ComputeInstanceLocalDiskOutputReference; } export interface ComputeInstanceMetadataOptions { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#aws_v1_http_endpoint ComputeInstance#aws_v1_http_endpoint} */ readonly awsV1HttpEndpoint?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#aws_v1_http_token ComputeInstance#aws_v1_http_token} */ readonly awsV1HttpToken?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#gce_http_endpoint ComputeInstance#gce_http_endpoint} */ readonly gceHttpEndpoint?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#gce_http_token ComputeInstance#gce_http_token} */ readonly gceHttpToken?: number; } export declare function computeInstanceMetadataOptionsToTerraform(struct?: ComputeInstanceMetadataOptionsOutputReference | ComputeInstanceMetadataOptions): any; export declare function computeInstanceMetadataOptionsToHclTerraform(struct?: ComputeInstanceMetadataOptionsOutputReference | ComputeInstanceMetadataOptions): any; export declare class ComputeInstanceMetadataOptionsOutputReference 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(): ComputeInstanceMetadataOptions | undefined; set internalValue(value: ComputeInstanceMetadataOptions | undefined); private _awsV1HttpEndpoint?; get awsV1HttpEndpoint(): number; set awsV1HttpEndpoint(value: number); resetAwsV1HttpEndpoint(): void; get awsV1HttpEndpointInput(): number; private _awsV1HttpToken?; get awsV1HttpToken(): number; set awsV1HttpToken(value: number); resetAwsV1HttpToken(): void; get awsV1HttpTokenInput(): number; private _gceHttpEndpoint?; get gceHttpEndpoint(): number; set gceHttpEndpoint(value: number); resetGceHttpEndpoint(): void; get gceHttpEndpointInput(): number; private _gceHttpToken?; get gceHttpToken(): number; set gceHttpToken(value: number); resetGceHttpToken(): void; get gceHttpTokenInput(): number; } export interface ComputeInstanceNetworkInterfaceDnsRecord { /** * DNS zone ID (if not set, private zone used). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#dns_zone_id ComputeInstance#dns_zone_id} */ readonly dnsZoneId?: string; /** * DNS record FQDN (must have a dot at the end). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#fqdn ComputeInstance#fqdn} */ readonly fqdn: string; /** * When set to `true`, also create a PTR DNS record. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#ptr ComputeInstance#ptr} */ readonly ptr?: boolean | cdktf.IResolvable; /** * DNS record TTL in seconds. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#ttl ComputeInstance#ttl} */ readonly ttl?: number; } export declare function computeInstanceNetworkInterfaceDnsRecordToTerraform(struct?: ComputeInstanceNetworkInterfaceDnsRecord | cdktf.IResolvable): any; export declare function computeInstanceNetworkInterfaceDnsRecordToHclTerraform(struct?: ComputeInstanceNetworkInterfaceDnsRecord | cdktf.IResolvable): any; export declare class ComputeInstanceNetworkInterfaceDnsRecordOutputReference 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(): ComputeInstanceNetworkInterfaceDnsRecord | cdktf.IResolvable | undefined; set internalValue(value: ComputeInstanceNetworkInterfaceDnsRecord | cdktf.IResolvable | undefined); private _dnsZoneId?; get dnsZoneId(): string; set dnsZoneId(value: string); resetDnsZoneId(): void; get dnsZoneIdInput(): string; private _fqdn?; get fqdn(): string; set fqdn(value: string); get fqdnInput(): string; private _ptr?; get ptr(): boolean | cdktf.IResolvable; set ptr(value: boolean | cdktf.IResolvable); resetPtr(): void; get ptrInput(): any; private _ttl?; get ttl(): number; set ttl(value: number); resetTtl(): void; get ttlInput(): number; } export declare class ComputeInstanceNetworkInterfaceDnsRecordList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeInstanceNetworkInterfaceDnsRecord[] | 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): ComputeInstanceNetworkInterfaceDnsRecordOutputReference; } export interface ComputeInstanceNetworkInterfaceIpv6DnsRecord { /** * DNS zone ID (if not set, private zone used). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#dns_zone_id ComputeInstance#dns_zone_id} */ readonly dnsZoneId?: string; /** * DNS record FQDN (must have a dot at the end). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#fqdn ComputeInstance#fqdn} */ readonly fqdn: string; /** * When set to `true`, also create a PTR DNS record. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#ptr ComputeInstance#ptr} */ readonly ptr?: boolean | cdktf.IResolvable; /** * DNS record TTL in seconds. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#ttl ComputeInstance#ttl} */ readonly ttl?: number; } export declare function computeInstanceNetworkInterfaceIpv6DnsRecordToTerraform(struct?: ComputeInstanceNetworkInterfaceIpv6DnsRecord | cdktf.IResolvable): any; export declare function computeInstanceNetworkInterfaceIpv6DnsRecordToHclTerraform(struct?: ComputeInstanceNetworkInterfaceIpv6DnsRecord | cdktf.IResolvable): any; export declare class ComputeInstanceNetworkInterfaceIpv6DnsRecordOutputReference 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(): ComputeInstanceNetworkInterfaceIpv6DnsRecord | cdktf.IResolvable | undefined; set internalValue(value: ComputeInstanceNetworkInterfaceIpv6DnsRecord | cdktf.IResolvable | undefined); private _dnsZoneId?; get dnsZoneId(): string; set dnsZoneId(value: string); resetDnsZoneId(): void; get dnsZoneIdInput(): string; private _fqdn?; get fqdn(): string; set fqdn(value: string); get fqdnInput(): string; private _ptr?; get ptr(): boolean | cdktf.IResolvable; set ptr(value: boolean | cdktf.IResolvable); resetPtr(): void; get ptrInput(): any; private _ttl?; get ttl(): number; set ttl(value: number); resetTtl(): void; get ttlInput(): number; } export declare class ComputeInstanceNetworkInterfaceIpv6DnsRecordList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeInstanceNetworkInterfaceIpv6DnsRecord[] | 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): ComputeInstanceNetworkInterfaceIpv6DnsRecordOutputReference; } export interface ComputeInstanceNetworkInterfaceNatDnsRecord { /** * DNS zone ID (if not set, private zone used). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#dns_zone_id ComputeInstance#dns_zone_id} */ readonly dnsZoneId?: string; /** * DNS record FQDN (must have a dot at the end). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#fqdn ComputeInstance#fqdn} */ readonly fqdn: string; /** * When set to `true`, also create a PTR DNS record. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#ptr ComputeInstance#ptr} */ readonly ptr?: boolean | cdktf.IResolvable; /** * DNS record TTL in seconds. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#ttl ComputeInstance#ttl} */ readonly ttl?: number; } export declare function computeInstanceNetworkInterfaceNatDnsRecordToTerraform(struct?: ComputeInstanceNetworkInterfaceNatDnsRecord | cdktf.IResolvable): any; export declare function computeInstanceNetworkInterfaceNatDnsRecordToHclTerraform(struct?: ComputeInstanceNetworkInterfaceNatDnsRecord | cdktf.IResolvable): any; export declare class ComputeInstanceNetworkInterfaceNatDnsRecordOutputReference 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(): ComputeInstanceNetworkInterfaceNatDnsRecord | cdktf.IResolvable | undefined; set internalValue(value: ComputeInstanceNetworkInterfaceNatDnsRecord | cdktf.IResolvable | undefined); private _dnsZoneId?; get dnsZoneId(): string; set dnsZoneId(value: string); resetDnsZoneId(): void; get dnsZoneIdInput(): string; private _fqdn?; get fqdn(): string; set fqdn(value: string); get fqdnInput(): string; private _ptr?; get ptr(): boolean | cdktf.IResolvable; set ptr(value: boolean | cdktf.IResolvable); resetPtr(): void; get ptrInput(): any; private _ttl?; get ttl(): number; set ttl(value: number); resetTtl(): void; get ttlInput(): number; } export declare class ComputeInstanceNetworkInterfaceNatDnsRecordList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeInstanceNetworkInterfaceNatDnsRecord[] | 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): ComputeInstanceNetworkInterfaceNatDnsRecordOutputReference; } export interface ComputeInstanceNetworkInterface { /** * Index of network interface, will be calculated automatically for instance create or update operations if not specified. Required for attach/detach operations. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#index ComputeInstance#index} */ readonly index?: number; /** * The private IP address to assign to the instance. If empty, the address will be automatically assigned from the specified subnet. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#ip_address ComputeInstance#ip_address} */ readonly ipAddress?: string; /** * Allocate an IPv4 address for the interface. The default value is `true`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#ipv4 ComputeInstance#ipv4} */ readonly ipv4?: boolean | cdktf.IResolvable; /** * If `true`, allocate an IPv6 address for the interface. The address will be automatically assigned from the specified subnet. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#ipv6 ComputeInstance#ipv6} */ readonly ipv6?: boolean | cdktf.IResolvable; /** * The private IPv6 address to assign to the instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#ipv6_address ComputeInstance#ipv6_address} */ readonly ipv6Address?: string; /** * Provide a public address, for instance, to access the internet over NAT. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#nat ComputeInstance#nat} */ readonly nat?: boolean | cdktf.IResolvable; /** * Provide a public address, for instance, to access the internet over NAT. Address should be already reserved in web UI. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#nat_ip_address ComputeInstance#nat_ip_address} */ readonly natIpAddress?: string; /** * Security Group (SG) IDs for network interface. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#security_group_ids ComputeInstance#security_group_ids} */ readonly securityGroupIds?: string[]; /** * ID of the subnet to attach this interface to. The subnet must exist in the same zone where this instance will be created. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#subnet_id ComputeInstance#subnet_id} */ readonly subnetId: string; /** * dns_record block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#dns_record ComputeInstance#dns_record} */ readonly dnsRecord?: ComputeInstanceNetworkInterfaceDnsRecord[] | cdktf.IResolvable; /** * ipv6_dns_record block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#ipv6_dns_record ComputeInstance#ipv6_dns_record} */ readonly ipv6DnsRecord?: ComputeInstanceNetworkInterfaceIpv6DnsRecord[] | cdktf.IResolvable; /** * nat_dns_record block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#nat_dns_record ComputeInstance#nat_dns_record} */ readonly natDnsRecord?: ComputeInstanceNetworkInterfaceNatDnsRecord[] | cdktf.IResolvable; } export declare function computeInstanceNetworkInterfaceToTerraform(struct?: ComputeInstanceNetworkInterface | cdktf.IResolvable): any; export declare function computeInstanceNetworkInterfaceToHclTerraform(struct?: ComputeInstanceNetworkInterface | cdktf.IResolvable): any; export declare class ComputeInstanceNetworkInterfaceOutputReference 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(): ComputeInstanceNetworkInterface | cdktf.IResolvable | undefined; set internalValue(value: ComputeInstanceNetworkInterface | cdktf.IResolvable | undefined); private _index?; get index(): number; set index(value: number); resetIndex(): void; get indexInput(): number; private _ipAddress?; get ipAddress(): string; set ipAddress(value: string); resetIpAddress(): void; get ipAddressInput(): string; private _ipv4?; get ipv4(): boolean | cdktf.IResolvable; set ipv4(value: boolean | cdktf.IResolvable); resetIpv4(): void; get ipv4Input(): any; private _ipv6?; get ipv6(): boolean | cdktf.IResolvable; set ipv6(value: boolean | cdktf.IResolvable); resetIpv6(): void; get ipv6Input(): any; private _ipv6Address?; get ipv6Address(): string; set ipv6Address(value: string); resetIpv6Address(): void; get ipv6AddressInput(): string; get macAddress(): any; private _nat?; get nat(): boolean | cdktf.IResolvable; set nat(value: boolean | cdktf.IResolvable); resetNat(): void; get natInput(): any; private _natIpAddress?; get natIpAddress(): string; set natIpAddress(value: string); resetNatIpAddress(): void; get natIpAddressInput(): string; get natIpVersion(): any; private _securityGroupIds?; get securityGroupIds(): string[]; set securityGroupIds(value: string[]); resetSecurityGroupIds(): void; get securityGroupIdsInput(): string[]; private _subnetId?; get subnetId(): string; set subnetId(value: string); get subnetIdInput(): string; private _dnsRecord; get dnsRecord(): ComputeInstanceNetworkInterfaceDnsRecordList; putDnsRecord(value: ComputeInstanceNetworkInterfaceDnsRecord[] | cdktf.IResolvable): void; resetDnsRecord(): void; get dnsRecordInput(): any; private _ipv6DnsRecord; get ipv6DnsRecord(): ComputeInstanceNetworkInterfaceIpv6DnsRecordList; putIpv6DnsRecord(value: ComputeInstanceNetworkInterfaceIpv6DnsRecord[] | cdktf.IResolvable): void; resetIpv6DnsRecord(): void; get ipv6DnsRecordInput(): any; private _natDnsRecord; get natDnsRecord(): ComputeInstanceNetworkInterfaceNatDnsRecordList; putNatDnsRecord(value: ComputeInstanceNetworkInterfaceNatDnsRecord[] | cdktf.IResolvable): void; resetNatDnsRecord(): void; get natDnsRecordInput(): any; } export declare class ComputeInstanceNetworkInterfaceList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeInstanceNetworkInterface[] | 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): ComputeInstanceNetworkInterfaceOutputReference; } export interface ComputeInstancePlacementPolicyHostAffinityRules { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#key ComputeInstance#key} */ readonly key?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#op ComputeInstance#op} */ readonly op?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#values ComputeInstance#values} */ readonly values?: string[]; } export declare function computeInstancePlacementPolicyHostAffinityRulesToTerraform(struct?: ComputeInstancePlacementPolicyHostAffinityRules | cdktf.IResolvable): any; export declare function computeInstancePlacementPolicyHostAffinityRulesToHclTerraform(struct?: ComputeInstancePlacementPolicyHostAffinityRules | cdktf.IResolvable): any; export declare class ComputeInstancePlacementPolicyHostAffinityRulesOutputReference 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(): ComputeInstancePlacementPolicyHostAffinityRules | cdktf.IResolvable | undefined; set internalValue(value: ComputeInstancePlacementPolicyHostAffinityRules | cdktf.IResolvable | undefined); private _key?; get key(): string; set key(value: string); resetKey(): void; get keyInput(): string; private _op?; get op(): string; set op(value: string); resetOp(): void; get opInput(): string; private _values?; get values(): string[]; set values(value: string[]); resetValues(): void; get valuesInput(): string[]; } export declare class ComputeInstancePlacementPolicyHostAffinityRulesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeInstancePlacementPolicyHostAffinityRules[] | 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): ComputeInstancePlacementPolicyHostAffinityRulesOutputReference; } export interface ComputeInstancePlacementPolicy { /** * List of host affinity rules. * * ~> Due to terraform limitations, simply deleting the `placement_policy` fields does not work. To reset the values of these fields, you need to set them empty: * * placement_policy { * placement_group_id = "" * host_affinity_rules = [] * } * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#host_affinity_rules ComputeInstance#host_affinity_rules} */ readonly hostAffinityRules?: ComputeInstancePlacementPolicyHostAffinityRules[] | cdktf.IResolvable; /** * Specifies the id of the Placement Group to assign to the instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#placement_group_id ComputeInstance#placement_group_id} */ readonly placementGroupId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#placement_group_partition ComputeInstance#placement_group_partition} */ readonly placementGroupPartition?: number; } export declare function computeInstancePlacementPolicyToTerraform(struct?: ComputeInstancePlacementPolicyOutputReference | ComputeInstancePlacementPolicy): any; export declare function computeInstancePlacementPolicyToHclTerraform(struct?: ComputeInstancePlacementPolicyOutputReference | ComputeInstancePlacementPolicy): any; export declare class ComputeInstancePlacementPolicyOutputReference 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(): ComputeInstancePlacementPolicy | undefined; set internalValue(value: ComputeInstancePlacementPolicy | undefined); private _hostAffinityRules; get hostAffinityRules(): ComputeInstancePlacementPolicyHostAffinityRulesList; putHostAffinityRules(value: ComputeInstancePlacementPolicyHostAffinityRules[] | cdktf.IResolvable): void; resetHostAffinityRules(): void; get hostAffinityRulesInput(): any; private _placementGroupId?; get placementGroupId(): string; set placementGroupId(value: string); resetPlacementGroupId(): void; get placementGroupIdInput(): string; private _placementGroupPartition?; get placementGroupPartition(): number; set placementGroupPartition(value: number); resetPlacementGroupPartition(): void; get placementGroupPartitionInput(): number; } export interface ComputeInstanceResources { /** * If provided, specifies baseline performance for a core as a percent. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#core_fraction ComputeInstance#core_fraction} */ readonly coreFraction?: number; /** * CPU cores for the instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#cores ComputeInstance#cores} */ readonly cores: number; /** * If provided, specifies the number of GPU devices for the instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#gpus ComputeInstance#gpus} */ readonly gpus?: number; /** * Memory size in GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#memory ComputeInstance#memory} */ readonly memory: number; } export declare function computeInstanceResourcesToTerraform(struct?: ComputeInstanceResourcesOutputReference | ComputeInstanceResources): any; export declare function computeInstanceResourcesToHclTerraform(struct?: ComputeInstanceResourcesOutputReference | ComputeInstanceResources): any; export declare class ComputeInstanceResourcesOutputReference 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(): ComputeInstanceResources | undefined; set internalValue(value: ComputeInstanceResources | undefined); private _coreFraction?; get coreFraction(): number; set coreFraction(value: number); resetCoreFraction(): void; get coreFractionInput(): number; private _cores?; get cores(): number; set cores(value: number); get coresInput(): number; private _gpus?; get gpus(): number; set gpus(value: number); resetGpus(): void; get gpusInput(): number; private _memory?; get memory(): number; set memory(value: number); get memoryInput(): number; } export interface ComputeInstanceSchedulingPolicy { /** * Specifies if the instance is preemptible. Defaults to `false`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#preemptible ComputeInstance#preemptible} */ readonly preemptible?: boolean | cdktf.IResolvable; } export declare function computeInstanceSchedulingPolicyToTerraform(struct?: ComputeInstanceSchedulingPolicyOutputReference | ComputeInstanceSchedulingPolicy): any; export declare function computeInstanceSchedulingPolicyToHclTerraform(struct?: ComputeInstanceSchedulingPolicyOutputReference | ComputeInstanceSchedulingPolicy): any; export declare class ComputeInstanceSchedulingPolicyOutputReference 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(): ComputeInstanceSchedulingPolicy | undefined; set internalValue(value: ComputeInstanceSchedulingPolicy | undefined); private _preemptible?; get preemptible(): boolean | cdktf.IResolvable; set preemptible(value: boolean | cdktf.IResolvable); resetPreemptible(): void; get preemptibleInput(): any; } export interface ComputeInstanceSecondaryDisk { /** * Whether the disk is auto-deleted when the instance is deleted. The default value is `false`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#auto_delete ComputeInstance#auto_delete} */ readonly autoDelete?: boolean | cdktf.IResolvable; /** * Name that can be used to access an attached disk under `/dev/disk/by-id/`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#device_name ComputeInstance#device_name} */ readonly deviceName?: string; /** * ID of the disk that is attached to the instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#disk_id ComputeInstance#disk_id} */ readonly diskId: string; /** * Type of access to the disk resource. By default, a disk is attached in `READ_WRITE` mode. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#mode ComputeInstance#mode} */ readonly mode?: string; } export declare function computeInstanceSecondaryDiskToTerraform(struct?: ComputeInstanceSecondaryDisk | cdktf.IResolvable): any; export declare function computeInstanceSecondaryDiskToHclTerraform(struct?: ComputeInstanceSecondaryDisk | cdktf.IResolvable): any; export declare class ComputeInstanceSecondaryDiskOutputReference 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(): ComputeInstanceSecondaryDisk | cdktf.IResolvable | undefined; set internalValue(value: ComputeInstanceSecondaryDisk | cdktf.IResolvable | undefined); private _autoDelete?; get autoDelete(): boolean | cdktf.IResolvable; set autoDelete(value: boolean | cdktf.IResolvable); resetAutoDelete(): void; get autoDeleteInput(): any; private _deviceName?; get deviceName(): string; set deviceName(value: string); resetDeviceName(): void; get deviceNameInput(): string; private _diskId?; get diskId(): string; set diskId(value: string); get diskIdInput(): string; private _mode?; get mode(): string; set mode(value: string); resetMode(): void; get modeInput(): string; } export declare class ComputeInstanceSecondaryDiskList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeInstanceSecondaryDisk[] | 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): ComputeInstanceSecondaryDiskOutputReference; } export interface ComputeInstanceTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#create ComputeInstance#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#delete ComputeInstance#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#update ComputeInstance#update} */ readonly update?: string; } export declare function computeInstanceTimeoutsToTerraform(struct?: ComputeInstanceTimeouts | cdktf.IResolvable): any; export declare function computeInstanceTimeoutsToHclTerraform(struct?: ComputeInstanceTimeouts | cdktf.IResolvable): any; export declare class ComputeInstanceTimeoutsOutputReference 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(): ComputeInstanceTimeouts | cdktf.IResolvable | undefined; set internalValue(value: ComputeInstanceTimeouts | 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 _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/compute_instance yandex_compute_instance} */ export declare class ComputeInstance extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_compute_instance"; /** * Generates CDKTF code for importing a ComputeInstance 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 ComputeInstance to import * @param importFromId The id of the existing ComputeInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ComputeInstance 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/compute_instance yandex_compute_instance} 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 ComputeInstanceConfig */ constructor(scope: Construct, id: string, config: ComputeInstanceConfig); private _allowRecreate?; get allowRecreate(): boolean | cdktf.IResolvable; set allowRecreate(value: boolean | cdktf.IResolvable); resetAllowRecreate(): void; get allowRecreateInput(): any; private _allowStoppingForUpdate?; get allowStoppingForUpdate(): boolean | cdktf.IResolvable; set allowStoppingForUpdate(value: boolean | cdktf.IResolvable); resetAllowStoppingForUpdate(): void; get allowStoppingForUpdateInput(): any; get createdAt(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _folderId?; get folderId(): string; set folderId(value: string); resetFolderId(): void; get folderIdInput(): string; get fqdn(): any; private _gpuClusterId?; get gpuClusterId(): string; set gpuClusterId(value: string); resetGpuClusterId(): void; get gpuClusterIdInput(): string; private _hardwareGeneration; get hardwareGeneration(): ComputeInstanceHardwareGenerationList; private _hostname?; get hostname(): string; set hostname(value: string); resetHostname(): void; get hostnameInput(): 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 _maintenanceGracePeriod?; get maintenanceGracePeriod(): string; set maintenanceGracePeriod(value: string); resetMaintenanceGracePeriod(): void; get maintenanceGracePeriodInput(): string; private _maintenancePolicy?; get maintenancePolicy(): string; set maintenancePolicy(value: string); resetMaintenancePolicy(): void; get maintenancePolicyInput(): string; private _metadata?; get metadata(): { [key: string]: string; }; set metadata(value: { [key: string]: string; }); resetMetadata(): void; get metadataInput(): { [key: string]: string; }; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _networkAccelerationType?; get networkAccelerationType(): string; set networkAccelerationType(value: string); resetNetworkAccelerationType(): void; get networkAccelerationTypeInput(): string; private _platformId?; get platformId(): string; set platformId(value: string); resetPlatformId(): void; get platformIdInput(): string; private _serviceAccountId?; get serviceAccountId(): string; set serviceAccountId(value: string); resetServiceAccountId(): void; get serviceAccountIdInput(): string; get status(): any; private _zone?; get zone(): string; set zone(value: string); resetZone(): void; get zoneInput(): string; private _bootDisk; get bootDisk(): ComputeInstanceBootDiskOutputReference; putBootDisk(value: ComputeInstanceBootDisk): void; get bootDiskInput(): ComputeInstanceBootDisk; private _filesystem; get filesystem(): ComputeInstanceFilesystemList; putFilesystem(value: ComputeInstanceFilesystem[] | cdktf.IResolvable): void; resetFilesystem(): void; get filesystemInput(): any; private _localDisk; get localDisk(): ComputeInstanceLocalDiskList; putLocalDisk(value: ComputeInstanceLocalDisk[] | cdktf.IResolvable): void; resetLocalDisk(): void; get localDiskInput(): any; private _metadataOptions; get metadataOptions(): ComputeInstanceMetadataOptionsOutputReference; putMetadataOptions(value: ComputeInstanceMetadataOptions): void; resetMetadataOptions(): void; get metadataOptionsInput(): ComputeInstanceMetadataOptions; private _networkInterface; get networkInterface(): ComputeInstanceNetworkInterfaceList; putNetworkInterface(value: ComputeInstanceNetworkInterface[] | cdktf.IResolvable): void; get networkInterfaceInput(): any; private _placementPolicy; get placementPolicy(): ComputeInstancePlacementPolicyOutputReference; putPlacementPolicy(value: ComputeInstancePlacementPolicy): void; resetPlacementPolicy(): void; get placementPolicyInput(): ComputeInstancePlacementPolicy; private _resources; get resources(): ComputeInstanceResourcesOutputReference; putResources(value: ComputeInstanceResources): void; get resourcesInput(): ComputeInstanceResources; private _schedulingPolicy; get schedulingPolicy(): ComputeInstanceSchedulingPolicyOutputReference; putSchedulingPolicy(value: ComputeInstanceSchedulingPolicy): void; resetSchedulingPolicy(): void; get schedulingPolicyInput(): ComputeInstanceSchedulingPolicy; private _secondaryDisk; get secondaryDisk(): ComputeInstanceSecondaryDiskList; putSecondaryDisk(value: ComputeInstanceSecondaryDisk[] | cdktf.IResolvable): void; resetSecondaryDisk(): void; get secondaryDiskInput(): any; private _timeouts; get timeouts(): ComputeInstanceTimeoutsOutputReference; putTimeouts(value: ComputeInstanceTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }