googleapis
Version:
Google APIs Client Library for Node.js
1,424 lines • 183 kB
TypeScript
/// <reference types="node" />
import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosPromise, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { Readable } from 'stream';
export declare namespace vmmigration_v1alpha1 {
export interface Options extends GlobalOptions {
version: 'v1alpha1';
}
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('v1alpha1');
* ```
*/
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;
}
/**
* 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 informatiom 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 {
/**
* The ordinal number of the disk.
*/
diskNumber?: number | null;
/**
* Size in GB.
*/
sizeGb?: string | null;
/**
* 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;
}
/**
* Represent the source AWS VM details.
*/
export interface Schema$AwsSourceVmDetails {
/**
* The total size of the disks being migrated in bytes.
*/
committedStorageBytes?: string | null;
/**
* The disks attached to the source VM.
*/
disks?: Schema$AwsDiskDetails[];
/**
* The firmware type of the source VM.
*/
firmware?: string | null;
}
/**
* 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 cpus 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 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[];
}
/**
* Request message for 'CancelCloneJob' request.
*/
export interface Schema$CancelCloneJobRequest {
}
/**
* Request message for 'CancelCutoverJob' request.
*/
export interface Schema$CancelCutoverJobRequest {
}
/**
* The request message for Operations.CancelOperation.
*/
export interface Schema$CancelOperationRequest {
}
/**
* 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. Details of the VM in Compute Engine. Deprecated: Use compute_engine_target_details instead.
*/
computeEngineVmDetails?: Schema$TargetVMDetails;
/**
* 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[];
/**
* Output only. Details of the VM to create as the target of this clone job. Deprecated: Use compute_engine_target_details instead.
*/
targetDetails?: Schema$TargetVMDetails;
}
/**
* 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;
}
/**
* 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[];
/**
* 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;
/**
* 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[];
}
/**
* ComputeEngineTargetDefaults is a collection of details for creating a VM in a target Compute Engine project.
*/
export interface Schema$ComputeEngineTargetDefaults {
/**
* Additional licenses to assign to the VM.
*/
additionalLicenses?: string[] | null;
/**
* Output only. The OS license returned from the adaptation module report.
*/
appliedLicense?: Schema$AppliedLicense;
/**
* 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;
/**
* The disk type to use in the VM.
*/
diskType?: string | null;
/**
* 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;
/**
* The service account to associate the VM with.
*/
serviceAccount?: 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 {
/**
* Additional licenses to assign to the VM.
*/
additionalLicenses?: string[] | null;
/**
* The OS license returned from the adaptation module report.
*/
appliedLicense?: Schema$AppliedLicense;
/**
* 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;
/**
* The disk type to use in the VM.
*/
diskType?: string | null;
/**
* 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;
/**
* 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.
*/
export interface Schema$ComputeScheduling {
automaticRestart?: boolean | null;
/**
* 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;
}
/**
* 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 clonning 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. Details of the VM in Compute Engine. Deprecated: Use compute_engine_target_details instead.
*/
computeEngineVmDetails?: Schema$TargetVMDetails;
/**
* 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.
*/
progress?: number | 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[];
/**
* Output only. Details of the VM to create as the target of this cutover job. Deprecated: Use compute_engine_target_details instead.
*/
targetDetails?: Schema$TargetVMDetails;
}
/**
* 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;
}
/**
* 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 response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \}
*/
export interface Schema$Empty {
}
/**
* Response message for fetchInventory.
*/
export interface Schema$FetchInventoryResponse {
/**
* The description of the VMs in a Source of type AWS.
*/
awsVms?: Schema$AwsVmsDetails;
/**
* Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Output only. The timestamp when the source was last queried (if the result is from the cache).
*/
updateTime?: string | null;
/**
* The description of the VMs in a Source of type Vmware.
*/
vmwareVms?: Schema$VmwareVmsDetails;
}
/**
* Request message for 'FinalizeMigration' request.
*/
export interface Schema$FinalizeMigrationRequest {
}
/**
* Describes message for 'Group' resource. The Group is a collections of several MigratingVms.
*/
export interface Schema$Group {
/**
* Output only. The create time timestamp.
*/
createTime?: string | null;
/**
* User-provided description of the group.
*/
description?: string | null;
/**
* Display name is a user defined name for this group which can be updated.
*/
displayName?: string | null;
/**
* Immutable. The target type of this group.
*/
migrationTargetType?: string | null;
/**
* Output only. The Group name.
*/
name?: string | null;
/**
* Output only. The update time timestamp.
*/
updateTime?: string | null;
}
/**
* InitializingReplicationStep contains specific step details.
*/
export interface Schema$InitializingReplicationStep {
}
/**
* InstantiatingMigratedVMStep contains specific step details.
*/
export interface Schema$InstantiatingMigratedVMStep {
}
/**
* Describes a URL link.
*/
export interface Schema$Link {
/**
* Describes what the link offers.
*/
description?: string | null;
/**
* The URL of the link.
*/
url?: string | null;
}
/**
* Response message for 'ListCloneJobs' request.
*/
export interface Schema$ListCloneJobsResponse {
/**
* Output only. The list of clone jobs response.
*/
cloneJobs?: Schema$CloneJob[];
/**
* Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Output only. Locations that could not be reached.
*/
unreachable?: string[] | null;
}
/**
* Response message for 'ListCutoverJobs' request.
*/
export interface Schema$ListCutoverJobsResponse {
/**
* Output only. The list of cutover jobs response.
*/
cutoverJobs?: Schema$CutoverJob[];
/**
* Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Output only. Locations that could not be reached.
*/
unreachable?: string[] | null;
}
/**
* Response message for 'ListDatacenterConnectors' request.
*/
export interface Schema$ListDatacenterConnectorsResponse {
/**
* Output only. The list of sources response.
*/
datacenterConnectors?: Schema$DatacenterConnector[];
/**
* Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Output only. Locations that could not be reached.
*/
unreachable?: string[] | null;
}
/**
* Response message for 'ListGroups' request.
*/
export interface Schema$ListGroupsResponse {
/**
* Output only. The list of groups response.
*/
groups?: Schema$Group[];
/**
* Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Output only. Locations that could not be reached.
*/
unreachable?: string[] | null;
}
/**
* The response message for Locations.ListLocations.
*/
export interface Schema$ListLocationsResponse {
/**
* A list of locations that matches the specified filter in the request.
*/
locations?: Schema$Location[];
/**
* The standard List next-page token.
*/
nextPageToken?: string | null;
}
/**
* Response message for 'ListMigratingVms' request.
*/
export interface Schema$ListMigratingVmsResponse {
/**
* Output only. The list of Migrating VMs response.
*/
migratingVms?: Schema$MigratingVm[];
/**
* Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Output only. Locations that could not be reached.
*/
unreachable?: string[] | null;
}
/**
* The response message for Operations.ListOperations.
*/
export interface Schema$ListOperationsResponse {
/**
* The standard List next-page token.
*/
nextPageToken?: string | null;
/**
* A list of operations that matches the specified filter in the request.
*/
operations?: Schema$Operation[];
}
/**
* Response message for 'ListReplicationCycles' request.
*/
export interface Schema$ListReplicationCyclesResponse {
/**
* Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Output only. The list of replication cycles response.
*/
replicationCycles?: Schema$ReplicationCycle[];
/**
* Output only. Locations that could not be reached.
*/
unreachable?: string[] | null;
}
/**
* Response message for 'ListSources' request.
*/
export interface Schema$ListSourcesResponse {
/**
* Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Output only. The list of sources response.
*/
sources?: Schema$Source[];
/**
* Output only. Locations that could not be reached.
*/
unreachable?: string[] | null;
}
/**
* Response message for 'ListTargetProjects' call.
*/
export interface Schema$ListTargetProjectsResponse {
/**
* Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Output only. The list of target response.
*/
targetProjects?: Schema$TargetProject[];
/**
* Output only. Locations that could not be reached.
*/
unreachable?: string[] | null;
}
/**
* Response message for 'ListUtilizationReports' request.
*/
export interface Schema$ListUtilizationReportsResponse {
/**
* Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
*/
nextPageToken?: string | null;
/**
* Output only. Locations that could not be reached.
*/
unreachable?: string[] | null;
/**
* Output only. The list of reports.
*/
utilizationReports?: Schema$UtilizationReport[];
}
/**
* Provides a localized error message that is safe to return to the user which can be attached to an RPC error.
*/
export interface Schema$LocalizedMessage {
/**
* The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
*/
locale?: string | null;
/**
* The localized error message in the above locale.
*/
message?: string | null;
}
/**
* A resource that represents a Google Cloud location.
*/
export interface Schema$Location {
/**
* The friendly name for this location, typically a nearby city name. For example, "Tokyo".
*/
displayName?: string | null;
/**
* Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\}
*/
labels?: {
[key: string]: string;
} | null;
/**
* The canonical id for this location. For example: `"us-east1"`.
*/
locationId?: string | null;
/**
* Service-specific metadata. For example the available capacity at the given location.
*/
metadata?: {
[key: string]: any;
} | null;
/**
* Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"`
*/
name?: string | null;
}
/**
* MigratingVm describes the VM that will be migrated from a Source environment and its replication state.
*/
export interface Schema$MigratingVm {
/**
* Output only. Details of the VM from an AWS source.
*/
awsSourceVmDetails?: Schema$AwsSourceVmDetails;
/**
* Details of the target Persistent Disks in Compute Engine.
*/
computeEngineDisksTargetDefaults?: Schema$ComputeEngineDisksTargetDefaults;
/**
* Details of the target VM in Compute Engine.
*/
computeEngineTargetDefaults?: Schema$ComputeEngineTargetDefaults;
/**
* Details of the VM in Compute Engine. Deprecated: Use compute_engine_target_defaults instead.
*/
computeEngineVmDefaults?: Schema$TargetVMDetails;
/**
* Output only. The time the migrating VM was created (this refers to this resource and not to the time it was installed in the source).
*/
createTime?: string | null;
/**
* Output only. Details of the current running replication cycle.
*/
currentSyncInfo?: Schema$ReplicationCycle;
/**
* Output only. Provides details of future CutoverJobs of a MigratingVm. Set to empty when cutover forecast is unavailable.
*/
cutoverForecast?: Schema$CutoverForecast;
/**
* The description attached to the migrating VM by the user.
*/
description?: string | null;
/**
* The display name attached to the MigratingVm by the user.
*/
displayName?: string | null;
/**
* Output only. Provides details on the state of the Migrating VM in case of an error in replication.
*/
error?: Schema$Status;
/**
* Output only. The group this migrating vm is included in, if any. The group is represented by the full path of the appropriate Group resource.
*/
group?: string | null;
/**
* The labels of the migrating VM.
*/
labels?: {
[key: string]: string;
} | null;
/**
* Output only. Details of the last replication cycle. This will be updated whenever a replication cycle is finished and is not to be confused with last_sync which is only updated on successful replication cycles.
*/
lastReplicationCycle?: Schema$ReplicationCycle;
/**
* Output only. The most updated snapshot created time in the source that finished replication.
*/
lastSync?: Schema$ReplicationSync;
/**
* Output only. The identifier of the MigratingVm.
*/
name?: string | null;
/**
* The replication schedule policy.
*/
policy?: Schema$SchedulePolicy;
/**
* Output only. The recent clone jobs performed on the migrating VM. This field holds the vm's last completed clone job and the vm's running clone job, if one exists. Note: To have this field populated you need to explicitly request it via the "view" parameter of the Get/List request.
*/
recentCloneJobs?: Schema$CloneJob[];
/**
* Output only. The recent cutover jobs performed on the migrating VM. This field holds the vm's last completed cutover job and the vm's running cutover job, if one exists. Note: To have this field populated you need to explicitly request it via the "view" parameter of the Get/List request.
*/
recentCutoverJobs?: Schema$CutoverJob[];
/**
* The unique ID of the VM in the source. The VM's name in vSphere can be changed, so this is not the VM's name but rather its moRef id. This id is of the form vm-.
*/
sourceVmId?: string | null;
/**
* Output only. State of the MigratingVm.
*/
state?: string | null;
/**
* Output only. The last time the migrating VM state was updated.
*/
stateTime?: string | null;
/**
* The default configuration of the target VM that will be created in Google Cloud as a result of the migration. Deprecated: Use compute_engine_target_defaults instead.
*/
targetDefaults?: Schema$TargetVMDetails;
/**
* Output only. The last time the migrating VM resource was updated.
*/
updateTime?: string | null;
}
/**
* Represents migration resource error information that can be used with google.rpc.Status message. MigrationError is used to present the user with error information in migration operations.
*/
export interface Schema$MigrationError {
/**
* Output only. Suggested action for solving the error.
*/
actionItem?: Schema$LocalizedMessage;
/**
* Output only. The error code.
*/
code?: string | null;
/**
* Output only. The localized error message.
*/
errorMessage?: Schema$LocalizedMessage;
/**
* Output only. The time the error occurred.
*/
errorTime?: string | null;
/**
* Output only. URL(s) pointing to additional information on handling the current error.
*/
helpLinks?: Schema$Link[];
}
/**
* Represents migration resource warning information that can be used with google.rpc.Status message. MigrationWarning is used to present the user with warning information in migration operations.
*/
export interface Schema$MigrationWarning {
/**
* Suggested action for solving the warning.
*/
actionItem?: Schema$LocalizedMessage;
/**
* The warning code.
*/
code?: string | null;
/**
* URL(s) pointing to additional information on handling the current warning.
*/
helpLinks?: Schema$Link[];
/**
* The localized warning message.
*/
warningMessage?: Schema$LocalizedMessage;
/**
* The time the warning occurred.
*/
warningTime?: string | null;
}
/**
* NetworkInterface represents a NIC of a VM.
*/
export interface Schema$NetworkInterface {
/**
* The external IP to define in the NIC.
*/
externalIp?: string | null;
/**
* The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
*/
internalIp?: string | null;
/**
* The network to connect the NIC to.
*/
network?: string | null;
/**
* The subnetwork to connect the NIC to.
*/
subnetwork?: string | null;
}
/**
* This resource represents a long-running operation that is the result of a network API call.
*/
export interface Schema$Operation {
/**
* If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
*/
done?: boolean | null;
/**
* The error result of the operation in case of failure or cancellation.
*/
error?: Schema$Status;
/**
* Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
*/
metadata?: {
[key: string]: any;
} | null;
/**
* The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`.
*/
name?: string | null;
/**
* The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
*/
response?: {
[key: string]: any;
} | null;
}
/**
* Represents the metadata of the long-running operation.
*/
export interface Schema$OperationMetadata {
/**
* Output only. API version used to start the operation.
*/
apiVersion?: string | null;
/**
* Output only. The time the operation was created.
*/
createTime?: string | null;
/**
* Output only. The time the operation finished running.
*/
endTime?: string | null;
/**
* Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
*/
requestedCancellation?: boolean | null;
/**
* Output only. Human-readable status of the operation, if any.
*/
statusMessage?: string | null;
/**
* Output only. Server-defined resource path for the target of the operation.
*/
target?: string | null;
/**
* Output only. Name of the verb executed by the operation.
*/
verb?: string | null;
}
/**
* Request message for 'PauseMigration' request.
*/
export interface Schema$PauseMigrationRequest {
}
/**
* Details of a created Persistent Disk.
*/
export interface Schema$PersistentDisk {
/**
* The URI of the Persistent Disk.
*/
diskUri?: string | null;
/**
* The ordinal number of the source VM disk.
*/
sourceDiskNumber?: number | null;
}
/**
* Details for creation of a Persistent Disk.
*/
export interface Schema$PersistentDiskDefaults {
/**
* A map of labels to associate with the Persistent Disk.
*/
additionalLabels?: {
[key: string]: string;
} | null;
/**
* Optional. The name of the Persistent Disk to create.
*/
diskName?: string | null;
/**
* The disk type to use.
*/
diskType?: string | null;
/**
* Required. The ordinal number of the source VM disk.
*/
sourceDiskNumber?: number | null;
}
/**
* PostProcessingStep contains specific step details.
*/
export interface Schema$PostProcessingStep {
}
/**
* PreparingVMDisksStep contains specific step details.
*/
export interface Schema$PreparingVMDisksStep {
}
/**
* Request message for 'RemoveMigration' request.
*/
export interface Schema$RemoveGroupMigrationRequest {
/**
* The MigratingVm to remove.
*/
migratingVm?: string | null;
}
/**
* ReplicatingStep contains specific step details.
*/
export interface Schema$ReplicatingStep {
/**
* The source disks replication rate for the last 30 minutes in bytes per second.
*/
lastThirtyMinutesAverageBytesPerSecond?: string | null;
/**
* The source disks replication rate for the last 2 minutes in bytes per second.
*/
lastTwoMinutesAverageBytesPerSecond?: string | null;
/**
* Replicated bytes in the step.
*