import _m0 from 'protobufjs/minimal'; import { MaintenancePolicy } from '../../../../yandex/cloud/compute/v1/maintenance'; import { Duration } from '../../../../google/protobuf/duration'; import { HardwareGeneration } from '../../../../yandex/cloud/compute/v1/hardware_generation'; export declare const protobufPackage = "yandex.cloud.compute.v1"; export declare enum IpVersion { IP_VERSION_UNSPECIFIED = 0, /** IPV4 - IPv4 address, for example 192.0.2.235. */ IPV4 = 1, /** IPV6 - IPv6 address. Not available yet. */ IPV6 = 2, UNRECOGNIZED = -1 } export declare function ipVersionFromJSON(object: any): IpVersion; export declare function ipVersionToJSON(object: IpVersion): string; export declare enum MetadataOption { METADATA_OPTION_UNSPECIFIED = 0, /** ENABLED - Option is enabled */ ENABLED = 1, /** DISABLED - Option is disabled */ DISABLED = 2, UNRECOGNIZED = -1 } export declare function metadataOptionFromJSON(object: any): MetadataOption; export declare function metadataOptionToJSON(object: MetadataOption): string; /** An Instance resource. For more information, see [Instances](/docs/compute/concepts/vm). */ export interface Instance { /** ID of the instance. */ id: string; /** ID of the folder that the instance belongs to. */ folderId: string; createdAt?: Date; /** Name of the instance. 1-63 characters long. */ name: string; /** Description of the instance. 0-256 characters long. */ description: string; /** Resource labels as `key:value` pairs. Maximum of 64 per resource. */ labels: { [key: string]: string; }; /** ID of the availability zone where the instance resides. */ zoneId: string; /** ID of the hardware platform configuration for the instance. */ platformId: string; /** Computing resources of the instance such as the amount of memory and number of cores. */ resources?: Resources; /** Status of the instance. */ status: Instance_Status; /** * The metadata `key:value` pairs assigned to this instance. This includes custom metadata and predefined keys. * * For example, you may use the metadata in order to provide your public SSH key to the instance. * For more information, see [Metadata](/docs/compute/concepts/vm-metadata). */ metadata: { [key: string]: string; }; /** Options allow user to configure access to instance's metadata */ metadataOptions?: MetadataOptions; /** Boot disk that is attached to the instance. */ bootDisk?: AttachedDisk; /** Array of secondary disks that are attached to the instance. */ secondaryDisks: AttachedDisk[]; /** Array of local disks that are attached to the instance. */ localDisks: AttachedLocalDisk[]; /** Array of filesystems that are attached to the instance. */ filesystems: AttachedFilesystem[]; /** Array of network interfaces that are attached to the instance. */ networkInterfaces: NetworkInterface[]; /** Serial port settings */ serialPortSettings?: SerialPortSettings; /** GPU settings */ gpuSettings?: GpuSettings; /** * A domain name of the instance. FQDN is defined by the server * in the format `..internal` when the instance is created. * If the hostname were not specified when the instance was created, FQDN would be `.auto.internal`. */ fqdn: string; /** Scheduling policy configuration. */ schedulingPolicy?: SchedulingPolicy; /** * ID of the service account to use for [authentication inside the instance](/docs/compute/operations/vm-connect/auth-inside-vm). * To get the service account ID, use a [yandex.cloud.iam.v1.ServiceAccountService.List] request. */ serviceAccountId: string; /** Network Settings */ networkSettings?: NetworkSettings; /** Placement policy configuration. */ placementPolicy?: PlacementPolicy; /** ID of the dedicated host group that the instance belongs to. */ hostGroupId: string; /** ID of the dedicated host that the instance belongs to. */ hostId: string; /** Behaviour on maintenance events */ maintenancePolicy: MaintenancePolicy; /** Time between notification via metadata service and maintenance */ maintenanceGracePeriod?: Duration; /** This feature set is inherited from the image/disk used as a boot one at the creation of the instance. */ hardwareGeneration?: HardwareGeneration; /** ID of the reserved instance pool that the instance belongs to. */ reservedInstancePoolId: string; } export declare enum Instance_Status { STATUS_UNSPECIFIED = 0, /** PROVISIONING - Instance is waiting for resources to be allocated. */ PROVISIONING = 1, /** RUNNING - Instance is running normally. */ RUNNING = 2, /** STOPPING - Instance is being stopped. */ STOPPING = 3, /** STOPPED - Instance stopped. */ STOPPED = 4, /** STARTING - Instance is being started. */ STARTING = 5, /** RESTARTING - Instance is being restarted. */ RESTARTING = 6, /** UPDATING - Instance is being updated. */ UPDATING = 7, /** ERROR - Instance encountered a problem and cannot operate. */ ERROR = 8, /** CRASHED - Instance crashed and will be restarted automatically. */ CRASHED = 9, /** DELETING - Instance is being deleted. */ DELETING = 10, UNRECOGNIZED = -1 } export declare function instance_StatusFromJSON(object: any): Instance_Status; export declare function instance_StatusToJSON(object: Instance_Status): string; export interface Instance_LabelsEntry { key: string; value: string; } export interface Instance_MetadataEntry { key: string; value: string; } export interface Resources { /** The amount of memory available to the instance, specified in bytes. */ memory: number; /** The number of cores available to the instance. */ cores: number; /** * Baseline level of CPU performance with the ability to burst performance above that baseline level. * This field sets baseline performance for each core. */ coreFraction: number; /** The number of GPUs available to the instance. */ gpus: number; } export interface AttachedDisk { /** Access mode to the Disk resource. */ mode: AttachedDisk_Mode; /** * Serial number that is reflected into the /dev/disk/by-id/ tree * of a Linux operating system running within the instance. * * This value can be used to reference the device for mounting, resizing, and so on, from within the instance. */ deviceName: string; /** Specifies whether the disk will be auto-deleted when the instance is deleted. */ autoDelete: boolean; /** ID of the disk that is attached to the instance. */ diskId: string; } export declare enum AttachedDisk_Mode { MODE_UNSPECIFIED = 0, /** READ_ONLY - Read-only access. */ READ_ONLY = 1, /** READ_WRITE - Read/Write access. */ READ_WRITE = 2, UNRECOGNIZED = -1 } export declare function attachedDisk_ModeFromJSON(object: any): AttachedDisk_Mode; export declare function attachedDisk_ModeToJSON(object: AttachedDisk_Mode): string; export interface AttachedLocalDisk { /** Size of the disk, specified in bytes. */ size: number; /** * Serial number that is reflected into the /dev/disk/by-id/ tree * of a Linux operating system running within the instance. * * This value can be used to reference the device for mounting, resizing, and so on, from within the instance. */ deviceName: string; } export interface AttachedFilesystem { /** Access mode to the filesystem. */ mode: AttachedFilesystem_Mode; /** * Name of the device representing the filesystem on the instance. * * The name should be used for referencing the filesystem from within the instance * when it's being mounted, resized etc. */ deviceName: string; /** ID of the filesystem that is attached to the instance. */ filesystemId: string; } export declare enum AttachedFilesystem_Mode { MODE_UNSPECIFIED = 0, /** READ_ONLY - Read-only access. */ READ_ONLY = 1, /** READ_WRITE - Read/Write access. */ READ_WRITE = 2, UNRECOGNIZED = -1 } export declare function attachedFilesystem_ModeFromJSON(object: any): AttachedFilesystem_Mode; export declare function attachedFilesystem_ModeToJSON(object: AttachedFilesystem_Mode): string; export interface NetworkInterface { /** The index of the network interface, will be generated by the server, 0,1,2... etc if not specified. */ index: string; /** MAC address that is assigned to the network interface. */ macAddress: string; /** ID of the subnet. */ subnetId: string; /** Primary IPv4 address that is assigned to the instance for this network interface. */ primaryV4Address?: PrimaryAddress; /** Primary IPv6 address that is assigned to the instance for this network interface. IPv6 not available yet. */ primaryV6Address?: PrimaryAddress; /** ID's of security groups attached to the interface */ securityGroupIds: string[]; } export interface PrimaryAddress { /** An IPv4 internal network address that is assigned to the instance for this network interface. */ address: string; /** One-to-one NAT configuration. If missing, NAT has not been set up. */ oneToOneNat?: OneToOneNat; /** Internal DNS configuration */ dnsRecords: DnsRecord[]; } export interface OneToOneNat { /** An external IP address associated with this instance. */ address: string; /** IP version for the external IP address. */ ipVersion: IpVersion; /** External DNS configuration */ dnsRecords: DnsRecord[]; } export interface DnsRecord { /** * Name of the A/AAAA record as specified when creating the instance. * Note that if `fqdn' has no trailing '.', it is specified relative to the zone (@see dns_zone_id). */ fqdn: string; /** DNS zone id for the record (optional, if not set, some private zone is used). */ dnsZoneId: string; /** DNS record ttl (optional, if not set, a reasonable default is used.) */ ttl: number; /** When true, indicates there is a corresponding auto-created PTR DNS record. */ ptr: boolean; } export interface SchedulingPolicy { /** True for short-lived compute instances. For more information, see [Preemptible VMs](/docs/compute/concepts/preemptible-vm). */ preemptible: boolean; } export interface NetworkSettings { /** Network Type */ type: NetworkSettings_Type; } export declare enum NetworkSettings_Type { TYPE_UNSPECIFIED = 0, /** STANDARD - Standard network. */ STANDARD = 1, /** SOFTWARE_ACCELERATED - Software accelerated network. */ SOFTWARE_ACCELERATED = 2, /** HARDWARE_ACCELERATED - Hardware accelerated network (not available yet, reserved for future use). */ HARDWARE_ACCELERATED = 3, UNRECOGNIZED = -1 } export declare function networkSettings_TypeFromJSON(object: any): NetworkSettings_Type; export declare function networkSettings_TypeToJSON(object: NetworkSettings_Type): string; export interface GpuSettings { /** Attach instance to specified GPU cluster. */ gpuClusterId: string; } export interface PlacementPolicy { /** Placement group ID. */ placementGroupId: string; /** List of affinity rules. Scheduler will attempt to allocate instances according to order of rules. */ hostAffinityRules: PlacementPolicy_HostAffinityRule[]; /** Placement group partition */ placementGroupPartition: number; } /** Affinity definition */ export interface PlacementPolicy_HostAffinityRule { /** Affinity label or one of reserved values - 'yc.hostId', 'yc.hostGroupId' */ key: string; /** Include or exclude action */ op: PlacementPolicy_HostAffinityRule_Operator; /** Affinity value or host ID or host group ID */ values: string[]; } export declare enum PlacementPolicy_HostAffinityRule_Operator { OPERATOR_UNSPECIFIED = 0, IN = 1, NOT_IN = 2, UNRECOGNIZED = -1 } export declare function placementPolicy_HostAffinityRule_OperatorFromJSON(object: any): PlacementPolicy_HostAffinityRule_Operator; export declare function placementPolicy_HostAffinityRule_OperatorToJSON(object: PlacementPolicy_HostAffinityRule_Operator): string; export interface MetadataOptions { /** Enabled access to GCE flavored metadata */ gceHttpEndpoint: MetadataOption; /** Enabled access to AWS flavored metadata (IMDSv1) */ awsV1HttpEndpoint: MetadataOption; /** Enabled access to IAM credentials with GCE flavored metadata */ gceHttpToken: MetadataOption; /** Enabled access to IAM credentials with AWS flavored metadata (IMDSv1) */ awsV1HttpToken: MetadataOption; } export interface SerialPortSettings { /** Authentication and authorization in serial console when using SSH protocol */ sshAuthorization: SerialPortSettings_SSHAuthorization; } export declare enum SerialPortSettings_SSHAuthorization { SSH_AUTHORIZATION_UNSPECIFIED = 0, /** INSTANCE_METADATA - Authentication and authorization using SSH keys in instance metadata */ INSTANCE_METADATA = 1, /** OS_LOGIN - Authentication and authorization using Oslogin service */ OS_LOGIN = 2, UNRECOGNIZED = -1 } export declare function serialPortSettings_SSHAuthorizationFromJSON(object: any): SerialPortSettings_SSHAuthorization; export declare function serialPortSettings_SSHAuthorizationToJSON(object: SerialPortSettings_SSHAuthorization): string; export declare const Instance: { encode(message: Instance, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Instance; fromJSON(object: any): Instance; toJSON(message: Instance): unknown; fromPartial, never>) | undefined; zoneId?: string | undefined; platformId?: string | undefined; resources?: ({ memory?: number | undefined; cores?: number | undefined; coreFraction?: number | undefined; gpus?: number | undefined; } & { memory?: number | undefined; cores?: number | undefined; coreFraction?: number | undefined; gpus?: number | undefined; } & Record, never>) | undefined; status?: Instance_Status | undefined; metadata?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; metadataOptions?: ({ gceHttpEndpoint?: MetadataOption | undefined; awsV1HttpEndpoint?: MetadataOption | undefined; gceHttpToken?: MetadataOption | undefined; awsV1HttpToken?: MetadataOption | undefined; } & { gceHttpEndpoint?: MetadataOption | undefined; awsV1HttpEndpoint?: MetadataOption | undefined; gceHttpToken?: MetadataOption | undefined; awsV1HttpToken?: MetadataOption | undefined; } & Record, never>) | undefined; bootDisk?: ({ mode?: AttachedDisk_Mode | undefined; deviceName?: string | undefined; autoDelete?: boolean | undefined; diskId?: string | undefined; } & { mode?: AttachedDisk_Mode | undefined; deviceName?: string | undefined; autoDelete?: boolean | undefined; diskId?: string | undefined; } & Record, never>) | undefined; secondaryDisks?: ({ mode?: AttachedDisk_Mode | undefined; deviceName?: string | undefined; autoDelete?: boolean | undefined; diskId?: string | undefined; }[] & ({ mode?: AttachedDisk_Mode | undefined; deviceName?: string | undefined; autoDelete?: boolean | undefined; diskId?: string | undefined; } & { mode?: AttachedDisk_Mode | undefined; deviceName?: string | undefined; autoDelete?: boolean | undefined; diskId?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; localDisks?: ({ size?: number | undefined; deviceName?: string | undefined; }[] & ({ size?: number | undefined; deviceName?: string | undefined; } & { size?: number | undefined; deviceName?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; filesystems?: ({ mode?: AttachedFilesystem_Mode | undefined; deviceName?: string | undefined; filesystemId?: string | undefined; }[] & ({ mode?: AttachedFilesystem_Mode | undefined; deviceName?: string | undefined; filesystemId?: string | undefined; } & { mode?: AttachedFilesystem_Mode | undefined; deviceName?: string | undefined; filesystemId?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; networkInterfaces?: ({ index?: string | undefined; macAddress?: string | undefined; subnetId?: string | undefined; primaryV4Address?: { address?: string | undefined; oneToOneNat?: { address?: string | undefined; ipVersion?: IpVersion | undefined; dnsRecords?: { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; dnsRecords?: { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; primaryV6Address?: { address?: string | undefined; oneToOneNat?: { address?: string | undefined; ipVersion?: IpVersion | undefined; dnsRecords?: { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; dnsRecords?: { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; securityGroupIds?: string[] | undefined; }[] & ({ index?: string | undefined; macAddress?: string | undefined; subnetId?: string | undefined; primaryV4Address?: { address?: string | undefined; oneToOneNat?: { address?: string | undefined; ipVersion?: IpVersion | undefined; dnsRecords?: { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; dnsRecords?: { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; primaryV6Address?: { address?: string | undefined; oneToOneNat?: { address?: string | undefined; ipVersion?: IpVersion | undefined; dnsRecords?: { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; dnsRecords?: { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; securityGroupIds?: string[] | undefined; } & { index?: string | undefined; macAddress?: string | undefined; subnetId?: string | undefined; primaryV4Address?: ({ address?: string | undefined; oneToOneNat?: { address?: string | undefined; ipVersion?: IpVersion | undefined; dnsRecords?: { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; dnsRecords?: { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] | undefined; } & { address?: string | undefined; oneToOneNat?: ({ address?: string | undefined; ipVersion?: IpVersion | undefined; dnsRecords?: { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] | undefined; } & { address?: string | undefined; ipVersion?: IpVersion | undefined; dnsRecords?: ({ fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] & ({ fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; } & { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; dnsRecords?: ({ fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] & ({ fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; } & { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; primaryV6Address?: ({ address?: string | undefined; oneToOneNat?: { address?: string | undefined; ipVersion?: IpVersion | undefined; dnsRecords?: { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; dnsRecords?: { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] | undefined; } & { address?: string | undefined; oneToOneNat?: ({ address?: string | undefined; ipVersion?: IpVersion | undefined; dnsRecords?: { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] | undefined; } & { address?: string | undefined; ipVersion?: IpVersion | undefined; dnsRecords?: ({ fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] & ({ fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; } & { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; dnsRecords?: ({ fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] & ({ fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; } & { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; securityGroupIds?: (string[] & string[] & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; serialPortSettings?: ({ sshAuthorization?: SerialPortSettings_SSHAuthorization | undefined; } & { sshAuthorization?: SerialPortSettings_SSHAuthorization | undefined; } & Record, never>) | undefined; gpuSettings?: ({ gpuClusterId?: string | undefined; } & { gpuClusterId?: string | undefined; } & Record, never>) | undefined; fqdn?: string | undefined; schedulingPolicy?: ({ preemptible?: boolean | undefined; } & { preemptible?: boolean | undefined; } & Record, never>) | undefined; serviceAccountId?: string | undefined; networkSettings?: ({ type?: NetworkSettings_Type | undefined; } & { type?: NetworkSettings_Type | undefined; } & Record, never>) | undefined; placementPolicy?: ({ placementGroupId?: string | undefined; hostAffinityRules?: { key?: string | undefined; op?: PlacementPolicy_HostAffinityRule_Operator | undefined; values?: string[] | undefined; }[] | undefined; placementGroupPartition?: number | undefined; } & { placementGroupId?: string | undefined; hostAffinityRules?: ({ key?: string | undefined; op?: PlacementPolicy_HostAffinityRule_Operator | undefined; values?: string[] | undefined; }[] & ({ key?: string | undefined; op?: PlacementPolicy_HostAffinityRule_Operator | undefined; values?: string[] | undefined; } & { key?: string | undefined; op?: PlacementPolicy_HostAffinityRule_Operator | undefined; values?: (string[] & string[] & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; placementGroupPartition?: number | undefined; } & Record, never>) | undefined; hostGroupId?: string | undefined; hostId?: string | undefined; maintenancePolicy?: MaintenancePolicy | undefined; maintenanceGracePeriod?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & Record, never>) | undefined; hardwareGeneration?: ({ legacyFeatures?: { pciTopology?: import("../../../../yandex/cloud/compute/v1/hardware_generation").PCITopology | undefined; } | undefined; generation2Features?: {} | undefined; } & { legacyFeatures?: ({ pciTopology?: import("../../../../yandex/cloud/compute/v1/hardware_generation").PCITopology | undefined; } & { pciTopology?: import("../../../../yandex/cloud/compute/v1/hardware_generation").PCITopology | undefined; } & Record, never>) | undefined; generation2Features?: ({} & {} & Record, never>) | undefined; } & Record, never>) | undefined; reservedInstancePoolId?: string | undefined; } & Record, never>>(object: I): Instance; }; export declare const Instance_LabelsEntry: { encode(message: Instance_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Instance_LabelsEntry; fromJSON(object: any): Instance_LabelsEntry; toJSON(message: Instance_LabelsEntry): unknown; fromPartial, never>>(object: I): Instance_LabelsEntry; }; export declare const Instance_MetadataEntry: { encode(message: Instance_MetadataEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Instance_MetadataEntry; fromJSON(object: any): Instance_MetadataEntry; toJSON(message: Instance_MetadataEntry): unknown; fromPartial, never>>(object: I): Instance_MetadataEntry; }; export declare const Resources: { encode(message: Resources, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Resources; fromJSON(object: any): Resources; toJSON(message: Resources): unknown; fromPartial, never>>(object: I): Resources; }; export declare const AttachedDisk: { encode(message: AttachedDisk, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): AttachedDisk; fromJSON(object: any): AttachedDisk; toJSON(message: AttachedDisk): unknown; fromPartial, never>>(object: I): AttachedDisk; }; export declare const AttachedLocalDisk: { encode(message: AttachedLocalDisk, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): AttachedLocalDisk; fromJSON(object: any): AttachedLocalDisk; toJSON(message: AttachedLocalDisk): unknown; fromPartial, never>>(object: I): AttachedLocalDisk; }; export declare const AttachedFilesystem: { encode(message: AttachedFilesystem, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): AttachedFilesystem; fromJSON(object: any): AttachedFilesystem; toJSON(message: AttachedFilesystem): unknown; fromPartial, never>>(object: I): AttachedFilesystem; }; export declare const NetworkInterface: { encode(message: NetworkInterface, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): NetworkInterface; fromJSON(object: any): NetworkInterface; toJSON(message: NetworkInterface): unknown; fromPartial, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; dnsRecords?: ({ fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] & ({ fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; } & { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; primaryV6Address?: ({ address?: string | undefined; oneToOneNat?: { address?: string | undefined; ipVersion?: IpVersion | undefined; dnsRecords?: { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; dnsRecords?: { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] | undefined; } & { address?: string | undefined; oneToOneNat?: ({ address?: string | undefined; ipVersion?: IpVersion | undefined; dnsRecords?: { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] | undefined; } & { address?: string | undefined; ipVersion?: IpVersion | undefined; dnsRecords?: ({ fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] & ({ fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; } & { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; dnsRecords?: ({ fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] & ({ fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; } & { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; securityGroupIds?: (string[] & string[] & Record, never>) | undefined; } & Record, never>>(object: I): NetworkInterface; }; export declare const PrimaryAddress: { encode(message: PrimaryAddress, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): PrimaryAddress; fromJSON(object: any): PrimaryAddress; toJSON(message: PrimaryAddress): unknown; fromPartial, never>)[] & Record, never>) | undefined; } & Record, never>) | undefined; dnsRecords?: ({ fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; }[] & ({ fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; } & { fqdn?: string | undefined; dnsZoneId?: string | undefined; ttl?: number | undefined; ptr?: boolean | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>>(object: I): PrimaryAddress; }; export declare const OneToOneNat: { encode(message: OneToOneNat, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): OneToOneNat; fromJSON(object: any): OneToOneNat; toJSON(message: OneToOneNat): unknown; fromPartial, never>)[] & Record, never>) | undefined; } & Record, never>>(object: I): OneToOneNat; }; export declare const DnsRecord: { encode(message: DnsRecord, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): DnsRecord; fromJSON(object: any): DnsRecord; toJSON(message: DnsRecord): unknown; fromPartial, never>>(object: I): DnsRecord; }; export declare const SchedulingPolicy: { encode(message: SchedulingPolicy, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): SchedulingPolicy; fromJSON(object: any): SchedulingPolicy; toJSON(message: SchedulingPolicy): unknown; fromPartial, never>>(object: I): SchedulingPolicy; }; export declare const NetworkSettings: { encode(message: NetworkSettings, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): NetworkSettings; fromJSON(object: any): NetworkSettings; toJSON(message: NetworkSettings): unknown; fromPartial, never>>(object: I): NetworkSettings; }; export declare const GpuSettings: { encode(message: GpuSettings, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): GpuSettings; fromJSON(object: any): GpuSettings; toJSON(message: GpuSettings): unknown; fromPartial, never>>(object: I): GpuSettings; }; export declare const PlacementPolicy: { encode(message: PlacementPolicy, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): PlacementPolicy; fromJSON(object: any): PlacementPolicy; toJSON(message: PlacementPolicy): unknown; fromPartial, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; placementGroupPartition?: number | undefined; } & Record, never>>(object: I): PlacementPolicy; }; export declare const PlacementPolicy_HostAffinityRule: { encode(message: PlacementPolicy_HostAffinityRule, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): PlacementPolicy_HostAffinityRule; fromJSON(object: any): PlacementPolicy_HostAffinityRule; toJSON(message: PlacementPolicy_HostAffinityRule): unknown; fromPartial, never>) | undefined; } & Record, never>>(object: I): PlacementPolicy_HostAffinityRule; }; export declare const MetadataOptions: { encode(message: MetadataOptions, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MetadataOptions; fromJSON(object: any): MetadataOptions; toJSON(message: MetadataOptions): unknown; fromPartial, never>>(object: I): MetadataOptions; }; export declare const SerialPortSettings: { encode(message: SerialPortSettings, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): SerialPortSettings; fromJSON(object: any): SerialPortSettings; toJSON(message: SerialPortSettings): unknown; fromPartial, never>>(object: I): SerialPortSettings; }; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & Record>, never>; export {};