googleapis
Version:
Google APIs Client Library for Node.js
1,409 lines • 433 kB
TypeScript
import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosResponseWithHTTP2, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { Readable } from 'stream';
export declare namespace vmmigration_v1 {
export interface Options extends GlobalOptions {
version: 'v1';
}
interface StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth;
/**
* V1 error format.
*/
'$.xgafv'?: string;
/**
* OAuth access token.
*/
access_token?: string;
/**
* Data format for response.
*/
alt?: string;
/**
* JSONP
*/
callback?: string;
/**
* Selector specifying which fields to include in a partial response.
*/
fields?: string;
/**
* API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
*/
key?: string;
/**
* OAuth 2.0 token for the current user.
*/
oauth_token?: string;
/**
* Returns response with indentations and line breaks.
*/
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
*/
quotaUser?: string;
/**
* Legacy upload protocol for media (e.g. "media", "multipart").
*/
uploadType?: string;
/**
* Upload protocol for media (e.g. "raw", "multipart").
*/
upload_protocol?: string;
}
/**
* VM Migration API
*
* Use the Migrate to Virtual Machines API to programmatically migrate workloads.
*
* @example
* ```js
* const {google} = require('googleapis');
* const vmmigration = google.vmmigration('v1');
* ```
*/
export class Vmmigration {
context: APIRequestContext;
projects: Resource$Projects;
constructor(options: GlobalOptions, google?: GoogleConfigurable);
}
/**
* Message describing AWS Credentials using access key id and secret.
*/
export interface Schema$AccessKeyCredentials {
/**
* AWS access key ID.
*/
accessKeyId?: string | null;
/**
* Input only. AWS secret access key.
*/
secretAccessKey?: string | null;
/**
* Input only. AWS session token. Used only when AWS security token service (STS) is responsible for creating the temporary credentials.
*/
sessionToken?: string | null;
}
/**
* AdaptationModifier a modifier to be used for configuration of the OS adaptation process.
*/
export interface Schema$AdaptationModifier {
/**
* Optional. The modifier name.
*/
modifier?: string | null;
/**
* Optional. The value of the modifier. The actual value depends on the modifier and can also be empty.
*/
value?: string | null;
}
/**
* AdaptingOSStep contains specific step details.
*/
export interface Schema$AdaptingOSStep {
}
/**
* Request message for 'AddGroupMigration' request.
*/
export interface Schema$AddGroupMigrationRequest {
/**
* The full path name of the MigratingVm to add.
*/
migratingVm?: string | null;
}
/**
* Describes an appliance version.
*/
export interface Schema$ApplianceVersion {
/**
* Determine whether it's critical to upgrade the appliance to this version.
*/
critical?: boolean | null;
/**
* Link to a page that contains the version release notes.
*/
releaseNotesUri?: string | null;
/**
* A link for downloading the version.
*/
uri?: string | null;
/**
* The appliance version.
*/
version?: string | null;
}
/**
* AppliedLicense holds the license data returned by adaptation module report.
*/
export interface Schema$AppliedLicense {
/**
* The OS license returned from the adaptation module's report.
*/
osLicense?: string | null;
/**
* The license type that was used in OS adaptation.
*/
type?: string | null;
}
/**
* Holds information about the available versions for upgrade.
*/
export interface Schema$AvailableUpdates {
/**
* The latest version for in place update. The current appliance can be updated to this version using the API or m4c CLI.
*/
inPlaceUpdate?: Schema$ApplianceVersion;
/**
* The newest deployable version of the appliance. The current appliance can't be updated into this version, and the owner must manually deploy this OVA to a new appliance.
*/
newDeployableAppliance?: Schema$ApplianceVersion;
}
/**
* The details of an AWS instance disk.
*/
export interface Schema$AwsDiskDetails {
/**
* Output only. The ordinal number of the disk.
*/
diskNumber?: number | null;
/**
* Output only. Size in GB.
*/
sizeGb?: string | null;
/**
* Output only. AWS volume ID.
*/
volumeId?: string | null;
}
/**
* AwsSecurityGroup describes a security group of an AWS VM.
*/
export interface Schema$AwsSecurityGroup {
/**
* The AWS security group id.
*/
id?: string | null;
/**
* The AWS security group name.
*/
name?: string | null;
}
/**
* AwsSourceDetails message describes a specific source details for the AWS source type.
*/
export interface Schema$AwsSourceDetails {
/**
* AWS Credentials using access key id and secret.
*/
accessKeyCreds?: Schema$AccessKeyCredentials;
/**
* Immutable. The AWS region that the source VMs will be migrated from.
*/
awsRegion?: string | null;
/**
* Output only. Provides details on the state of the Source in case of an error.
*/
error?: Schema$Status;
/**
* AWS security group names to limit the scope of the source inventory.
*/
inventorySecurityGroupNames?: string[] | null;
/**
* AWS resource tags to limit the scope of the source inventory.
*/
inventoryTagList?: Schema$Tag[];
/**
* User specified tags to add to every M2VM generated resource in AWS. These tags will be set in addition to the default tags that are set as part of the migration process. The tags must not begin with the reserved prefix `m2vm`.
*/
migrationResourcesUserTags?: {
[key: string]: string;
} | null;
/**
* Output only. The source's public IP. All communication initiated by this source will originate from this IP.
*/
publicIp?: string | null;
/**
* Output only. State of the source as determined by the health check.
*/
state?: string | null;
}
/**
* Represents the source AWS Disk details.
*/
export interface Schema$AwsSourceDiskDetails {
/**
* Optional. Output only. Disk type.
*/
diskType?: string | null;
/**
* Output only. Size in GiB.
*/
sizeGib?: string | null;
/**
* Optional. Output only. A map of AWS volume tags.
*/
tags?: {
[key: string]: string;
} | null;
/**
* Required. AWS volume ID.
*/
volumeId?: string | null;
}
/**
* Represent the source AWS VM details.
*/
export interface Schema$AwsSourceVmDetails {
/**
* Output only. The VM architecture.
*/
architecture?: string | null;
/**
* Output only. The total size of the disks being migrated in bytes.
*/
committedStorageBytes?: string | null;
/**
* Output only. The disks attached to the source VM.
*/
disks?: Schema$AwsDiskDetails[];
/**
* Output only. The firmware type of the source VM.
*/
firmware?: string | null;
/**
* Output only. Information about VM capabilities needed for some Compute Engine features.
*/
vmCapabilitiesInfo?: Schema$VmCapabilities;
}
/**
* AwsVmDetails describes a VM in AWS.
*/
export interface Schema$AwsVmDetails {
/**
* The CPU architecture.
*/
architecture?: string | null;
/**
* The VM Boot Option.
*/
bootOption?: string | null;
/**
* The total size of the storage allocated to the VM in MB.
*/
committedStorageMb?: string | null;
/**
* The number of CPU cores the VM has.
*/
cpuCount?: number | null;
/**
* The number of disks the VM has.
*/
diskCount?: number | null;
/**
* The display name of the VM. Note that this value is not necessarily unique.
*/
displayName?: string | null;
/**
* The instance type of the VM.
*/
instanceType?: string | null;
/**
* The memory size of the VM in MB.
*/
memoryMb?: number | null;
/**
* The VM's OS.
*/
osDescription?: string | null;
/**
* Output only. The power state of the VM at the moment list was taken.
*/
powerState?: string | null;
/**
* The security groups the VM belongs to.
*/
securityGroups?: Schema$AwsSecurityGroup[];
/**
* The descriptive name of the AWS's source this VM is connected to.
*/
sourceDescription?: string | null;
/**
* The id of the AWS's source this VM is connected to.
*/
sourceId?: string | null;
/**
* The tags of the VM.
*/
tags?: {
[key: string]: string;
} | null;
/**
* The number of vCPUs the VM has. It is calculated as the number of CPU cores * threads per CPU the VM has.
*/
vcpuCount?: number | null;
/**
* The virtualization type.
*/
virtualizationType?: string | null;
/**
* The VM ID in AWS.
*/
vmId?: string | null;
/**
* The VPC ID the VM belongs to.
*/
vpcId?: string | null;
/**
* The AWS zone of the VM.
*/
zone?: string | null;
}
/**
* AWSVmsDetails describes VMs in AWS.
*/
export interface Schema$AwsVmsDetails {
/**
* The details of the AWS VMs.
*/
details?: Schema$AwsVmDetails[];
}
/**
* The details of an Azure VM disk.
*/
export interface Schema$AzureDiskDetails {
/**
* Output only. Azure disk ID.
*/
diskId?: string | null;
/**
* Output only. The ordinal number of the disk.
*/
diskNumber?: number | null;
/**
* Output only. Size in GB.
*/
sizeGb?: string | null;
}
/**
* AzureSourceDetails message describes a specific source details for the Azure source type.
*/
export interface Schema$AzureSourceDetails {
/**
* Immutable. The Azure location (region) that the source VMs will be migrated from.
*/
azureLocation?: string | null;
/**
* Azure Credentials using tenant ID, client ID and secret.
*/
clientSecretCreds?: Schema$ClientSecretCredentials;
/**
* Output only. Provides details on the state of the Source in case of an error.
*/
error?: Schema$Status;
/**
* User specified tags to add to every M2VM generated resource in Azure. These tags will be set in addition to the default tags that are set as part of the migration process. The tags must not begin with the reserved prefix `m4ce` or `m2vm`.
*/
migrationResourcesUserTags?: {
[key: string]: string;
} | null;
/**
* Output only. The ID of the Azure resource group that contains all resources related to the migration process of this source.
*/
resourceGroupId?: string | null;
/**
* Output only. State of the source as determined by the health check.
*/
state?: string | null;
/**
* Immutable. Azure subscription ID.
*/
subscriptionId?: string | null;
}
/**
* Represent the source Azure VM details.
*/
export interface Schema$AzureSourceVmDetails {
/**
* Output only. The VM architecture.
*/
architecture?: string | null;
/**
* Output only. The total size of the disks being migrated in bytes.
*/
committedStorageBytes?: string | null;
/**
* Output only. The disks attached to the source VM.
*/
disks?: Schema$AzureDiskDetails[];
/**
* Output only. The firmware type of the source VM.
*/
firmware?: string | null;
/**
* Output only. Information about VM capabilities needed for some Compute Engine features.
*/
vmCapabilitiesInfo?: Schema$VmCapabilities;
}
/**
* AzureVmDetails describes a VM in Azure.
*/
export interface Schema$AzureVmDetails {
/**
* The CPU architecture.
*/
architecture?: string | null;
/**
* The VM Boot Option.
*/
bootOption?: string | null;
/**
* The total size of the storage allocated to the VM in MB.
*/
committedStorageMb?: string | null;
/**
* The VM's ComputerName.
*/
computerName?: string | null;
/**
* The number of cpus the VM has.
*/
cpuCount?: number | null;
/**
* The number of disks the VM has, including OS disk.
*/
diskCount?: number | null;
/**
* Description of the data disks.
*/
disks?: Schema$Disk[];
/**
* The memory size of the VM in MB.
*/
memoryMb?: number | null;
/**
* Description of the OS.
*/
osDescription?: Schema$OSDescription;
/**
* Description of the OS disk.
*/
osDisk?: Schema$OSDisk;
/**
* The power state of the VM at the moment list was taken.
*/
powerState?: string | null;
/**
* The tags of the VM.
*/
tags?: {
[key: string]: string;
} | null;
/**
* The VM full path in Azure.
*/
vmId?: string | null;
/**
* VM size as configured in Azure. Determines the VM's hardware spec.
*/
vmSize?: string | null;
}
/**
* AzureVmsDetails describes VMs in Azure.
*/
export interface Schema$AzureVmsDetails {
/**
* The details of the Azure VMs.
*/
details?: Schema$AzureVmDetails[];
}
/**
* BootDiskDefaults hold information about the boot disk of a VM.
*/
export interface Schema$BootDiskDefaults {
/**
* Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.
*/
deviceName?: string | null;
/**
* Optional. The name of the disk.
*/
diskName?: string | null;
/**
* Optional. The type of disk provisioning to use for the VM.
*/
diskType?: string | null;
/**
* Optional. The encryption to apply to the boot disk.
*/
encryption?: Schema$Encryption;
/**
* The image to use when creating the disk.
*/
image?: Schema$DiskImageDefaults;
}
/**
* Request message for 'CancelCloneJob' request.
*/
export interface Schema$CancelCloneJobRequest {
}
/**
* Request message for 'CancelCutoverJob' request.
*/
export interface Schema$CancelCutoverJobRequest {
}
/**
* Request message for 'CancelDiskMigrationJob' request.
*/
export interface Schema$CancelDiskMigrationJobRequest {
}
/**
* Request message for 'CancelImageImportJob' request.
*/
export interface Schema$CancelImageImportJobRequest {
}
/**
* The request message for Operations.CancelOperation.
*/
export interface Schema$CancelOperationRequest {
}
/**
* Message describing Azure Credentials using tenant ID, client ID and secret.
*/
export interface Schema$ClientSecretCredentials {
/**
* Azure client ID.
*/
clientId?: string | null;
/**
* Input only. Azure client secret.
*/
clientSecret?: string | null;
/**
* Azure tenant ID.
*/
tenantId?: string | null;
}
/**
* CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
*/
export interface Schema$CloneJob {
/**
* Output only. Details of the target Persistent Disks in Compute Engine.
*/
computeEngineDisksTargetDetails?: Schema$ComputeEngineDisksTargetDetails;
/**
* Output only. Details of the target VM in Compute Engine.
*/
computeEngineTargetDetails?: Schema$ComputeEngineTargetDetails;
/**
* Output only. The time the clone job was created (as an API call, not when it was actually created in the target).
*/
createTime?: string | null;
/**
* Output only. The time the clone job was ended.
*/
endTime?: string | null;
/**
* Output only. Provides details for the errors that led to the Clone Job's state.
*/
error?: Schema$Status;
/**
* Output only. The name of the clone.
*/
name?: string | null;
/**
* Output only. State of the clone job.
*/
state?: string | null;
/**
* Output only. The time the state was last updated.
*/
stateTime?: string | null;
/**
* Output only. The clone steps list representing its progress.
*/
steps?: Schema$CloneStep[];
}
/**
* CloneStep holds information about the clone step progress.
*/
export interface Schema$CloneStep {
/**
* Adapting OS step.
*/
adaptingOs?: Schema$AdaptingOSStep;
/**
* The time the step has ended.
*/
endTime?: string | null;
/**
* Instantiating migrated VM step.
*/
instantiatingMigratedVm?: Schema$InstantiatingMigratedVMStep;
/**
* Preparing VM disks step.
*/
preparingVmDisks?: Schema$PreparingVMDisksStep;
/**
* The time the step has started.
*/
startTime?: string | null;
}
/**
* Compute Engine disk target details.
*/
export interface Schema$ComputeEngineDisk {
/**
* Optional. Target Compute Engine Disk ID. This is the resource ID segment of the Compute Engine Disk to create. In the resource name compute/v1/projects/{project\}/zones/{zone\}/disks/disk1 "disk1" is the resource ID for the disk.
*/
diskId?: string | null;
/**
* Required. The disk type to use.
*/
diskType?: string | null;
/**
* Optional. Replication zones of the regional disk. Should be of the form: projects/{target-project\}/locations/{replica-zone\} Currently only one replica zone is supported.
*/
replicaZones?: string[] | null;
/**
* Required. The Compute Engine zone in which to create the disk. Should be of the form: projects/{target-project\}/locations/{zone\}
*/
zone?: string | null;
}
/**
* ComputeEngineDisksTargetDefaults is a collection of details for creating Persistent Disks in a target Compute Engine project.
*/
export interface Schema$ComputeEngineDisksTargetDefaults {
/**
* The details of each Persistent Disk to create.
*/
disks?: Schema$PersistentDiskDefaults[];
/**
* Details of the disk only migration target.
*/
disksTargetDefaults?: Schema$DisksMigrationDisksTargetDefaults;
/**
* The full path of the resource of type TargetProject which represents the Compute Engine project in which to create the Persistent Disks.
*/
targetProject?: string | null;
/**
* Details of the VM migration target.
*/
vmTargetDefaults?: Schema$DisksMigrationVmTargetDefaults;
/**
* The zone in which to create the Persistent Disks.
*/
zone?: string | null;
}
/**
* ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details.
*/
export interface Schema$ComputeEngineDisksTargetDetails {
/**
* The details of each created Persistent Disk.
*/
disks?: Schema$PersistentDisk[];
/**
* Details of the disks-only migration target.
*/
disksTargetDetails?: Schema$DisksMigrationDisksTargetDetails;
/**
* Details for the VM the migrated data disks are attached to.
*/
vmTargetDetails?: Schema$DisksMigrationVmTargetDetails;
}
/**
* ComputeEngineTargetDefaults is a collection of details for creating a VM in a target Compute Engine project.
*/
export interface Schema$ComputeEngineTargetDefaults {
/**
* Optional. AdaptationModifiers are the set of modifiers used during OS adaptation.
*/
adaptationModifiers?: Schema$AdaptationModifier[];
/**
* Additional licenses to assign to the VM.
*/
additionalLicenses?: string[] | null;
/**
* Output only. The OS license returned from the adaptation module report.
*/
appliedLicense?: Schema$AppliedLicense;
/**
* Optional. By default the virtual machine will keep its existing boot option. Setting this property will trigger an internal process which will convert the virtual machine from using the existing boot option to another.
*/
bootConversion?: string | null;
/**
* Output only. The VM Boot Option, as set in the source VM.
*/
bootOption?: string | null;
/**
* Compute instance scheduling information (if empty default is used).
*/
computeScheduling?: Schema$ComputeScheduling;
/**
* Optional. Additional replica zones of the target regional disks. If this list is not empty a regional disk will be created. The first supported zone would be the one stated in the zone field. The rest are taken from this list. Please refer to the [regional disk creation API](https://cloud.google.com/compute/docs/regions-zones/global-regional-zonal-resources) for further details about regional vs zonal disks. If not specified, a zonal disk will be created in the same zone the VM is created.
*/
diskReplicaZones?: string[] | null;
/**
* The disk type to use in the VM.
*/
diskType?: string | null;
/**
* Optional. Defines whether the instance has integrity monitoring enabled. This can be set to true only if the VM boot option is EFI, and vTPM is enabled.
*/
enableIntegrityMonitoring?: boolean | null;
/**
* Optional. Defines whether the instance has vTPM enabled. This can be set to true only if the VM boot option is EFI.
*/
enableVtpm?: boolean | null;
/**
* Optional. Immutable. The encryption to apply to the VM disks.
*/
encryption?: Schema$Encryption;
/**
* The hostname to assign to the VM.
*/
hostname?: string | null;
/**
* A map of labels to associate with the VM.
*/
labels?: {
[key: string]: string;
} | null;
/**
* The license type to use in OS adaptation.
*/
licenseType?: string | null;
/**
* The machine type to create the VM with.
*/
machineType?: string | null;
/**
* The machine type series to create the VM with.
*/
machineTypeSeries?: string | null;
/**
* The metadata key/value pairs to assign to the VM.
*/
metadata?: {
[key: string]: string;
} | null;
/**
* List of NICs connected to this VM.
*/
networkInterfaces?: Schema$NetworkInterface[];
/**
* A list of network tags to associate with the VM.
*/
networkTags?: string[] | null;
/**
* Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
*/
secureBoot?: boolean | null;
/**
* Optional. The service account to associate the VM with.
*/
serviceAccount?: string | null;
/**
* Optional. If specified this will be the storage pool in which the disk is created. This is the full path of the storage pool resource, for example: "projects/my-project/zones/us-central1-a/storagePools/my-storage-pool". The storage pool must be in the same project and zone as the target disks. The storage pool's type must match the disk type.
*/
storagePool?: string | null;
/**
* The full path of the resource of type TargetProject which represents the Compute Engine project in which to create this VM.
*/
targetProject?: string | null;
/**
* The name of the VM to create.
*/
vmName?: string | null;
/**
* The zone in which to create the VM.
*/
zone?: string | null;
}
/**
* ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project.
*/
export interface Schema$ComputeEngineTargetDetails {
/**
* Optional. Modifiers to be used as configuration of the OS adaptation process.
*/
adaptationModifiers?: Schema$AdaptationModifier[];
/**
* Additional licenses to assign to the VM.
*/
additionalLicenses?: string[] | null;
/**
* The OS license returned from the adaptation module report.
*/
appliedLicense?: Schema$AppliedLicense;
/**
* Optional. By default the virtual machine will keep its existing boot option. Setting this property will trigger an internal process which will convert the virtual machine from using the existing boot option to another.
*/
bootConversion?: string | null;
/**
* The VM Boot Option, as set in the source VM.
*/
bootOption?: string | null;
/**
* Compute instance scheduling information (if empty default is used).
*/
computeScheduling?: Schema$ComputeScheduling;
/**
* Optional. Additional replica zones of the target regional disks. If this list is not empty a regional disk will be created. The first supported zone would be the one stated in the zone field. The rest are taken from this list. Please refer to the [regional disk creation API](https://cloud.google.com/compute/docs/regions-zones/global-regional-zonal-resources) for further details about regional vs zonal disks. If not specified, a zonal disk will be created in the same zone the VM is created.
*/
diskReplicaZones?: string[] | null;
/**
* The disk type to use in the VM.
*/
diskType?: string | null;
/**
* Optional. Defines whether the instance has integrity monitoring enabled.
*/
enableIntegrityMonitoring?: boolean | null;
/**
* Optional. Defines whether the instance has vTPM enabled.
*/
enableVtpm?: boolean | null;
/**
* Optional. The encryption to apply to the VM disks.
*/
encryption?: Schema$Encryption;
/**
* The hostname to assign to the VM.
*/
hostname?: string | null;
/**
* A map of labels to associate with the VM.
*/
labels?: {
[key: string]: string;
} | null;
/**
* The license type to use in OS adaptation.
*/
licenseType?: string | null;
/**
* The machine type to create the VM with.
*/
machineType?: string | null;
/**
* The machine type series to create the VM with.
*/
machineTypeSeries?: string | null;
/**
* The metadata key/value pairs to assign to the VM.
*/
metadata?: {
[key: string]: string;
} | null;
/**
* List of NICs connected to this VM.
*/
networkInterfaces?: Schema$NetworkInterface[];
/**
* A list of network tags to associate with the VM.
*/
networkTags?: string[] | null;
/**
* The Google Cloud target project ID or project name.
*/
project?: string | null;
/**
* Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
*/
secureBoot?: boolean | null;
/**
* The service account to associate the VM with.
*/
serviceAccount?: string | null;
/**
* Optional. The storage pool used for the VM disks. If specified this will be the storage pool in which the disk is created. This is the full path of the storage pool resource, for example: "projects/my-project/zones/us-central1-a/storagePools/my-storage-pool". The storage pool must be in the same project and zone as the target disks. The storage pool's type must match the disk type.
*/
storagePool?: string | null;
/**
* The name of the VM to create.
*/
vmName?: string | null;
/**
* The zone in which to create the VM.
*/
zone?: string | null;
}
/**
* Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance.
*/
export interface Schema$ComputeScheduling {
/**
* The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
*/
minNodeCpus?: number | null;
/**
* A set of node affinity and anti-affinity configurations for sole tenant nodes.
*/
nodeAffinities?: Schema$SchedulingNodeAffinity[];
/**
* How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
*/
onHostMaintenance?: string | null;
/**
* Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
*/
restartType?: string | null;
}
/**
* CopyingSourceDiskSnapshotStep contains specific step details.
*/
export interface Schema$CopyingSourceDiskSnapshotStep {
}
/**
* CreatingImageStep contains specific step details.
*/
export interface Schema$CreatingImageStep {
}
/**
* CreatingSourceDiskSnapshotStep contains specific step details.
*/
export interface Schema$CreatingSourceDiskSnapshotStep {
}
/**
* CutoverForecast holds information about future CutoverJobs of a MigratingVm.
*/
export interface Schema$CutoverForecast {
/**
* Output only. Estimation of the CutoverJob duration.
*/
estimatedCutoverJobDuration?: string | null;
}
/**
* CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and cloning the VM using the replicated snapshot.
*/
export interface Schema$CutoverJob {
/**
* Output only. Details of the target Persistent Disks in Compute Engine.
*/
computeEngineDisksTargetDetails?: Schema$ComputeEngineDisksTargetDetails;
/**
* Output only. Details of the target VM in Compute Engine.
*/
computeEngineTargetDetails?: Schema$ComputeEngineTargetDetails;
/**
* Output only. The time the cutover job was created (as an API call, not when it was actually created in the target).
*/
createTime?: string | null;
/**
* Output only. The time the cutover job had finished.
*/
endTime?: string | null;
/**
* Output only. Provides details for the errors that led to the Cutover Job's state.
*/
error?: Schema$Status;
/**
* Output only. The name of the cutover job.
*/
name?: string | null;
/**
* Output only. The current progress in percentage of the cutover job.
*/
progressPercent?: number | null;
/**
* Output only. State of the cutover job.
*/
state?: string | null;
/**
* Output only. A message providing possible extra details about the current state.
*/
stateMessage?: string | null;
/**
* Output only. The time the state was last updated.
*/
stateTime?: string | null;
/**
* Output only. The cutover steps list representing its progress.
*/
steps?: Schema$CutoverStep[];
}
/**
* CutoverStep holds information about the cutover step progress.
*/
export interface Schema$CutoverStep {
/**
* The time the step has ended.
*/
endTime?: string | null;
/**
* Final sync step.
*/
finalSync?: Schema$ReplicationCycle;
/**
* Instantiating migrated VM step.
*/
instantiatingMigratedVm?: Schema$InstantiatingMigratedVMStep;
/**
* Preparing VM disks step.
*/
preparingVmDisks?: Schema$PreparingVMDisksStep;
/**
* A replication cycle prior cutover step.
*/
previousReplicationCycle?: Schema$ReplicationCycle;
/**
* Shutting down VM step.
*/
shuttingDownSourceVm?: Schema$ShuttingDownSourceVMStep;
/**
* The time the step has started.
*/
startTime?: string | null;
}
/**
* CycleStep holds information about a step progress.
*/
export interface Schema$CycleStep {
/**
* The time the cycle step has ended.
*/
endTime?: string | null;
/**
* Initializing replication step.
*/
initializingReplication?: Schema$InitializingReplicationStep;
/**
* Post processing step.
*/
postProcessing?: Schema$PostProcessingStep;
/**
* Replicating step.
*/
replicating?: Schema$ReplicatingStep;
/**
* The time the cycle step has started.
*/
startTime?: string | null;
}
/**
* DatacenterConnector message describes a connector between the Source and Google Cloud, which is installed on a vmware datacenter (an OVA vm installed by the user) to connect the Datacenter to Google Cloud and support vm migration data transfer.
*/
export interface Schema$DatacenterConnector {
/**
* Output only. Appliance OVA version. This is the OVA which is manually installed by the user and contains the infrastructure for the automatically updatable components on the appliance.
*/
applianceInfrastructureVersion?: string | null;
/**
* Output only. Appliance last installed update bundle version. This is the version of the automatically updatable components on the appliance.
*/
applianceSoftwareVersion?: string | null;
/**
* Output only. The available versions for updating this appliance.
*/
availableVersions?: Schema$AvailableUpdates;
/**
* Output only. The communication channel between the datacenter connector and Google Cloud.
*/
bucket?: string | null;
/**
* Output only. The time the connector was created (as an API call, not when it was actually installed).
*/
createTime?: string | null;
/**
* Output only. Provides details on the state of the Datacenter Connector in case of an error.
*/
error?: Schema$Status;
/**
* Output only. The connector's name.
*/
name?: string | null;
/**
* Immutable. A unique key for this connector. This key is internal to the OVA connector and is supplied with its creation during the registration process and can not be modified.
*/
registrationId?: string | null;
/**
* The service account to use in the connector when communicating with the cloud.
*/
serviceAccount?: string | null;
/**
* Output only. State of the DatacenterConnector, as determined by the health checks.
*/
state?: string | null;
/**
* Output only. The time the state was last set.
*/
stateTime?: string | null;
/**
* Output only. The last time the connector was updated with an API call.
*/
updateTime?: string | null;
/**
* Output only. The status of the current / last upgradeAppliance operation.
*/
upgradeStatus?: Schema$UpgradeStatus;
/**
* The version running in the DatacenterConnector. This is supplied by the OVA connector during the registration process and can not be modified.
*/
version?: string | null;
}
/**
* Used when the image import is not using OS adaptation process.
*/
export interface Schema$DataDiskImageImport {
/**
* Optional. A list of guest OS features to apply to the imported image. These features are flags that are used by Compute Engine to enable certain capabilities for virtual machine instances that are created from the image. This field does not change the OS of the image; it only marks the image with the specified features. The user must ensure that the OS is compatible with the features. For a list of available features, see https://cloud.google.com/compute/docs/images/create-custom#guest-os-features.
*/
guestOsFeatures?: string[] | null;
}
/**
* A message describing a data disk.
*/
export interface Schema$Disk {
/**
* The disk's Logical Unit Number (LUN).
*/
lun?: number | null;
/**
* The disk name.
*/
name?: string | null;
/**
* The disk size in GB.
*/
sizeGb?: number | null;
}
/**
* Contains details about the image source used to create the disk.
*/
export interface Schema$DiskImageDefaults {
/**
* Required. The Image resource used when creating the disk.
*/
sourceImage?: string | null;
}
/**
* The target details of the image resource that will be created by the import job.
*/
export interface Schema$DiskImageTargetDetails {
/**
* Optional. Additional licenses to assign to the image. Format: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/licenses/LICENSE_NAME Or https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/licenses/LICENSE_NAME
*/
additionalLicenses?: string[] | null;
/**
* Optional. Use to skip OS adaptation process.
*/
dataDiskImageImport?: Schema$DataDiskImageImport;
/**
* Optional. An optional description of the image.
*/
description?: string | null;
/**
* Immutable. The encryption to apply to the image.
*/
encryption?: Schema$Encryption;
/**
* Optional. The name of the image family to which the new image belongs.
*/
familyName?: string | null;
/**
* Required. The name of the image to be created.
*/
imageName?: string | null;
/**
* Optional. A map of labels to associate with the image.
*/
labels?: {
[key: string]: string;
} | null;
/**
* Optional. Use to set the parameters relevant for the OS adaptation process.
*/
osAdaptationParameters?: Schema$ImageImportOsAdaptationParameters;
/**
* Optional. Set to true to set the image storageLocations to the single region of the import job. When false, the closest multi-region is selected.
*/
singleRegionStorage?: boolean | null;
/**
* Required. Reference to the TargetProject resource that represents the target project in which the imported image will be created.
*/
targetProject?: string | null;
}
/**
* Describes the disk which will be migrated from the source environment. The source disk has to be unattached.
*/
export interface Schema$DiskMigrationJob {
/**
* Details of the unattached AWS source disk.
*/
awsSourceDiskDetails?: Schema$AwsSourceDiskDetails;
/**
* Output only. The time the DiskMigrationJob resource was created.
*/
createTime?: string | null;
/**
* Output only. Provides details on the errors that led to the disk migration job's state in case of an error.
*/
errors?: Schema$Status[];
/**
* Output only. Identifier. The identifier of the DiskMigrationJob.
*/
name?: string | null;
/**
* Output only. State of the DiskMigrationJob.
*/
state?: string | null;
/**
* Output only. The disk migration steps list representing its progress.
*/
steps?: Schema$DiskMigrationStep[];
/**
* Required. Details of the target Disk in Compute Engine.
*/
targetDetails?: Schema$DiskMigrationJobTargetDetails;
/**
* Output only. The last time the DiskMigrationJob resource was updated.
*/
updateTime?: string | null;
}
/**
* Details of the target disk in Compute Engine.
*/
export interface Schema$DiskMigrationJobTargetDetails {
/**
* Optional. The encryption to apply to the disk. If the DiskMigrationJob parent Source resource has an encryption, this field must be set to the same encryption key.
*/
encryption?: Schema$Encryption;
/**
* Optional. A map of labels to associate with the disk.
*/
labels?: {
[key: string]: string;
} | null;
/**
* Required. The target disk.
*/
targetDisk?: Schema$ComputeEngineDisk;
/**
* Required. The name of the resource of type TargetProject which represents the Compute Engine project in which to create the disk. Should be of the form: projects/{project\}/locations/global/targetProjects/{target-project\}
*/
targetProject?: string | null;
}
/**
* DiskMigrationStep holds information about the disk migration step progress.
*/
export interface Schema$DiskMigrationStep {
/**
* Copying source disk snapshot step.
*/
copyingSourceDiskSnapshot?: Schema$CopyingSourceDiskSnapshotStep;
/**
* Creating source disk snapshot step.
*/
creatingSourceDiskSnapshot?: Schema$CreatingSourceDiskSnapshotStep;
/**
* Output only. The time the step has ended.
*/
endTime?: string | null;
/**
* Creating target disk step.
*/
provisioningTargetDisk?: Schema$ProvisioningTargetDiskStep;
/**
* Output only. The time the step has started.
*/
startTime?: string | null;
}
/**
* Details for a disk only migration.
*/
export interface Schema$DisksMigrationDisksTargetDefaults {
}
/**
* Details for a disks-only migration.
*/
export interface Schema$DisksMigrationDisksTargetDetails {
}
/**
* Details for creation of a VM that migrated data disks will be attached to.
*/
export interface Schema$DisksMigrationVmTargetDefaults {
/**
* Optional. Additional licenses to assign to the VM.
*/
additionalLicenses?: string[] | null;
/**
* Optional. Details of the boot disk of the VM.
*/
bootDiskDefaults?: Schema$BootDiskDefaults;
/**
* Optional. Compute instance scheduling information (if empty default is used).
*/
computeScheduling?: Schema$ComputeScheduling;
/**
* Optional. Defines whether the instance has integrity monitoring enabled.
*/
enableIntegrityMonitoring?: boolean | null;
/**
* Optional. Defines whether the instance has vTPM enabled.
*/
enableVtpm?: boolean | null;
/**
* Optional. The encryption to apply to the VM.
*/
encryption?: Schema$Encryption;
/**
* Optional. The hostname to assign to the VM.
*/
hostname?: string | null;
/**
* Optional. A map of labels to associate with the VM.
*/
labels?: {
[key: string]: string;
} | null;
/**
* Required. The machine type to create the VM with.
*/
machineType?: string | null;
/**
* Optional. The machine type series to create the VM with. For presentation only.
*/
machineTypeSeries?: string | null;
/**
* Optional. The metadata key/value pairs to assign to the VM.
*/
metadata?: {
[key: string]: string;
} | null;
/**
* Optional. NICs to attach to the VM.
*/
networkInterfaces?: Schema$NetworkInterface[];
/**
* Optional. A list of network tags to associate with the VM.
*/
networkTags?: string[] | null;
/**
* Optional. Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
*/
secureBoot?: boolean | null;
/**
* Optional. The service account to associate the VM with.
*/
serviceAccount?: string | null;
/**
* Required. The name of the VM to create.
*/
vmName?: string | null;
}
/**
* Details for the VM created VM as part of disks migration.
*/
export interface Schema$DisksMigrationVmTargetDetails {
/**
* Output only. The URI of the Compute Engine VM.
*/
vmUri?: string | null;
}
/**
* A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the resp