2646 lines
106 KiB
Ruby
2646 lines
106 KiB
Ruby
|
# Copyright 2020 Google LLC
|
||
|
#
|
||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
# you may not use this file except in compliance with the License.
|
||
|
# You may obtain a copy of the License at
|
||
|
#
|
||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||
|
#
|
||
|
# Unless required by applicable law or agreed to in writing, software
|
||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
# See the License for the specific language governing permissions and
|
||
|
# limitations under the License.
|
||
|
|
||
|
require 'date'
|
||
|
require 'google/apis/core/base_service'
|
||
|
require 'google/apis/core/json_representation'
|
||
|
require 'google/apis/core/hashable'
|
||
|
require 'google/apis/errors'
|
||
|
|
||
|
module Google
|
||
|
module Apis
|
||
|
module VmmigrationV1alpha1
|
||
|
|
||
|
# Request message for 'AddGroupMigration' request.
|
||
|
class AddGroupMigrationRequest
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# The full path name of the MigratingVm to add.
|
||
|
# Corresponds to the JSON property `migratingVm`
|
||
|
# @return [String]
|
||
|
attr_accessor :migrating_vm
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@migrating_vm = args[:migrating_vm] if args.key?(:migrating_vm)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Describes an appliance version.
|
||
|
class ApplianceVersion
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Determine whether it's critical to upgrade the appliance to this version.
|
||
|
# Corresponds to the JSON property `critical`
|
||
|
# @return [Boolean]
|
||
|
attr_accessor :critical
|
||
|
alias_method :critical?, :critical
|
||
|
|
||
|
# Link to a page that contains the version release notes.
|
||
|
# Corresponds to the JSON property `releaseNotesUri`
|
||
|
# @return [String]
|
||
|
attr_accessor :release_notes_uri
|
||
|
|
||
|
# A link for downloading the version.
|
||
|
# Corresponds to the JSON property `uri`
|
||
|
# @return [String]
|
||
|
attr_accessor :uri
|
||
|
|
||
|
# The appliance version.
|
||
|
# Corresponds to the JSON property `version`
|
||
|
# @return [String]
|
||
|
attr_accessor :version
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@critical = args[:critical] if args.key?(:critical)
|
||
|
@release_notes_uri = args[:release_notes_uri] if args.key?(:release_notes_uri)
|
||
|
@uri = args[:uri] if args.key?(:uri)
|
||
|
@version = args[:version] if args.key?(:version)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# AppliedLicense holds the license data returned by adaptation module report.
|
||
|
class AppliedLicense
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# The OS license returned from the adaptation module's report.
|
||
|
# Corresponds to the JSON property `osLicense`
|
||
|
# @return [String]
|
||
|
attr_accessor :os_license
|
||
|
|
||
|
# The license type that was used in OS adaptation.
|
||
|
# Corresponds to the JSON property `type`
|
||
|
# @return [String]
|
||
|
attr_accessor :type
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@os_license = args[:os_license] if args.key?(:os_license)
|
||
|
@type = args[:type] if args.key?(:type)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Holds informatiom about the available versions for upgrade.
|
||
|
class AvailableUpdates
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Describes an appliance version.
|
||
|
# Corresponds to the JSON property `inPlaceUpdate`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::ApplianceVersion]
|
||
|
attr_accessor :in_place_update
|
||
|
|
||
|
# Describes an appliance version.
|
||
|
# Corresponds to the JSON property `newDeployableAppliance`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::ApplianceVersion]
|
||
|
attr_accessor :new_deployable_appliance
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@in_place_update = args[:in_place_update] if args.key?(:in_place_update)
|
||
|
@new_deployable_appliance = args[:new_deployable_appliance] if args.key?(:new_deployable_appliance)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Request message for 'CancelCloneJob' request.
|
||
|
class CancelCloneJobRequest
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Request message for 'CancelCutoverJob' request.
|
||
|
class CancelCutoverJobRequest
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# The request message for Operations.CancelOperation.
|
||
|
class CancelOperationRequest
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# 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.
|
||
|
class CloneJob
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# ComputeEngineTargetDetails is a collection of details for creating a VM in a
|
||
|
# target Compute Engine project.
|
||
|
# Corresponds to the JSON property `computeEngineTargetDetails`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::ComputeEngineTargetDetails]
|
||
|
attr_accessor :compute_engine_target_details
|
||
|
|
||
|
# TargetVMDetails is a collection of details for creating a VM in a target
|
||
|
# Compute Engine project.
|
||
|
# Corresponds to the JSON property `computeEngineVmDetails`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::TargetVmDetails]
|
||
|
attr_accessor :compute_engine_vm_details
|
||
|
|
||
|
# Output only. The time the clone job was created (as an API call, not when it
|
||
|
# was actually created in the target).
|
||
|
# Corresponds to the JSON property `createTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :create_time
|
||
|
|
||
|
# The `Status` type defines a logical error model that is suitable for different
|
||
|
# programming environments, including REST APIs and RPC APIs. It is used by [
|
||
|
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
||
|
# data: error code, error message, and error details. You can find out more
|
||
|
# about this error model and how to work with it in the [API Design Guide](https:
|
||
|
# //cloud.google.com/apis/design/errors).
|
||
|
# Corresponds to the JSON property `error`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::Status]
|
||
|
attr_accessor :error
|
||
|
|
||
|
# Output only. The name of the clone.
|
||
|
# Corresponds to the JSON property `name`
|
||
|
# @return [String]
|
||
|
attr_accessor :name
|
||
|
|
||
|
# Output only. State of the clone job.
|
||
|
# Corresponds to the JSON property `state`
|
||
|
# @return [String]
|
||
|
attr_accessor :state
|
||
|
|
||
|
# Output only. The time the state was last updated.
|
||
|
# Corresponds to the JSON property `stateTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :state_time
|
||
|
|
||
|
# TargetVMDetails is a collection of details for creating a VM in a target
|
||
|
# Compute Engine project.
|
||
|
# Corresponds to the JSON property `targetDetails`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::TargetVmDetails]
|
||
|
attr_accessor :target_details
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@compute_engine_target_details = args[:compute_engine_target_details] if args.key?(:compute_engine_target_details)
|
||
|
@compute_engine_vm_details = args[:compute_engine_vm_details] if args.key?(:compute_engine_vm_details)
|
||
|
@create_time = args[:create_time] if args.key?(:create_time)
|
||
|
@error = args[:error] if args.key?(:error)
|
||
|
@name = args[:name] if args.key?(:name)
|
||
|
@state = args[:state] if args.key?(:state)
|
||
|
@state_time = args[:state_time] if args.key?(:state_time)
|
||
|
@target_details = args[:target_details] if args.key?(:target_details)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# ComputeEngineTargetDefaults is a collection of details for creating a VM in a
|
||
|
# target Compute Engine project.
|
||
|
class ComputeEngineTargetDefaults
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Additional licenses to assign to the VM.
|
||
|
# Corresponds to the JSON property `additionalLicenses`
|
||
|
# @return [Array<String>]
|
||
|
attr_accessor :additional_licenses
|
||
|
|
||
|
# AppliedLicense holds the license data returned by adaptation module report.
|
||
|
# Corresponds to the JSON property `appliedLicense`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::AppliedLicense]
|
||
|
attr_accessor :applied_license
|
||
|
|
||
|
# Output only. The VM Boot Option, as set in the source vm.
|
||
|
# Corresponds to the JSON property `bootOption`
|
||
|
# @return [String]
|
||
|
attr_accessor :boot_option
|
||
|
|
||
|
# Scheduling information for VM on maintenance/restart behaviour and node
|
||
|
# allocation in sole tenant nodes.
|
||
|
# Corresponds to the JSON property `computeScheduling`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::ComputeScheduling]
|
||
|
attr_accessor :compute_scheduling
|
||
|
|
||
|
# The disk type to use in the VM.
|
||
|
# Corresponds to the JSON property `diskType`
|
||
|
# @return [String]
|
||
|
attr_accessor :disk_type
|
||
|
|
||
|
# A map of labels to associate with the VM.
|
||
|
# Corresponds to the JSON property `labels`
|
||
|
# @return [Hash<String,String>]
|
||
|
attr_accessor :labels
|
||
|
|
||
|
# The license type to use in OS adaptation.
|
||
|
# Corresponds to the JSON property `licenseType`
|
||
|
# @return [String]
|
||
|
attr_accessor :license_type
|
||
|
|
||
|
# The machine type to create the VM with.
|
||
|
# Corresponds to the JSON property `machineType`
|
||
|
# @return [String]
|
||
|
attr_accessor :machine_type
|
||
|
|
||
|
# The machine type series to create the VM with.
|
||
|
# Corresponds to the JSON property `machineTypeSeries`
|
||
|
# @return [String]
|
||
|
attr_accessor :machine_type_series
|
||
|
|
||
|
# The metadata key/value pairs to assign to the VM.
|
||
|
# Corresponds to the JSON property `metadata`
|
||
|
# @return [Hash<String,String>]
|
||
|
attr_accessor :metadata
|
||
|
|
||
|
# List of NICs connected to this VM.
|
||
|
# Corresponds to the JSON property `networkInterfaces`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::NetworkInterface>]
|
||
|
attr_accessor :network_interfaces
|
||
|
|
||
|
# A map of network tags to associate with the VM.
|
||
|
# Corresponds to the JSON property `networkTags`
|
||
|
# @return [Array<String>]
|
||
|
attr_accessor :network_tags
|
||
|
|
||
|
# Defines whether the instance has Secure Boot enabled. This can be set to true
|
||
|
# only if the vm boot option is EFI.
|
||
|
# Corresponds to the JSON property `secureBoot`
|
||
|
# @return [Boolean]
|
||
|
attr_accessor :secure_boot
|
||
|
alias_method :secure_boot?, :secure_boot
|
||
|
|
||
|
# The service account to associate the VM with.
|
||
|
# Corresponds to the JSON property `serviceAccount`
|
||
|
# @return [String]
|
||
|
attr_accessor :service_account
|
||
|
|
||
|
# The full path of the resource of type TargetProject which represents the
|
||
|
# Compute Engine project in which to create this VM.
|
||
|
# Corresponds to the JSON property `targetProject`
|
||
|
# @return [String]
|
||
|
attr_accessor :target_project
|
||
|
|
||
|
# The name of the VM to create.
|
||
|
# Corresponds to the JSON property `vmName`
|
||
|
# @return [String]
|
||
|
attr_accessor :vm_name
|
||
|
|
||
|
# The zone in which to create the VM.
|
||
|
# Corresponds to the JSON property `zone`
|
||
|
# @return [String]
|
||
|
attr_accessor :zone
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@additional_licenses = args[:additional_licenses] if args.key?(:additional_licenses)
|
||
|
@applied_license = args[:applied_license] if args.key?(:applied_license)
|
||
|
@boot_option = args[:boot_option] if args.key?(:boot_option)
|
||
|
@compute_scheduling = args[:compute_scheduling] if args.key?(:compute_scheduling)
|
||
|
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
||
|
@labels = args[:labels] if args.key?(:labels)
|
||
|
@license_type = args[:license_type] if args.key?(:license_type)
|
||
|
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
||
|
@machine_type_series = args[:machine_type_series] if args.key?(:machine_type_series)
|
||
|
@metadata = args[:metadata] if args.key?(:metadata)
|
||
|
@network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
|
||
|
@network_tags = args[:network_tags] if args.key?(:network_tags)
|
||
|
@secure_boot = args[:secure_boot] if args.key?(:secure_boot)
|
||
|
@service_account = args[:service_account] if args.key?(:service_account)
|
||
|
@target_project = args[:target_project] if args.key?(:target_project)
|
||
|
@vm_name = args[:vm_name] if args.key?(:vm_name)
|
||
|
@zone = args[:zone] if args.key?(:zone)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# ComputeEngineTargetDetails is a collection of details for creating a VM in a
|
||
|
# target Compute Engine project.
|
||
|
class ComputeEngineTargetDetails
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Additional licenses to assign to the VM.
|
||
|
# Corresponds to the JSON property `additionalLicenses`
|
||
|
# @return [Array<String>]
|
||
|
attr_accessor :additional_licenses
|
||
|
|
||
|
# AppliedLicense holds the license data returned by adaptation module report.
|
||
|
# Corresponds to the JSON property `appliedLicense`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::AppliedLicense]
|
||
|
attr_accessor :applied_license
|
||
|
|
||
|
# The VM Boot Option, as set in the source vm.
|
||
|
# Corresponds to the JSON property `bootOption`
|
||
|
# @return [String]
|
||
|
attr_accessor :boot_option
|
||
|
|
||
|
# Scheduling information for VM on maintenance/restart behaviour and node
|
||
|
# allocation in sole tenant nodes.
|
||
|
# Corresponds to the JSON property `computeScheduling`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::ComputeScheduling]
|
||
|
attr_accessor :compute_scheduling
|
||
|
|
||
|
# The disk type to use in the VM.
|
||
|
# Corresponds to the JSON property `diskType`
|
||
|
# @return [String]
|
||
|
attr_accessor :disk_type
|
||
|
|
||
|
# A map of labels to associate with the VM.
|
||
|
# Corresponds to the JSON property `labels`
|
||
|
# @return [Hash<String,String>]
|
||
|
attr_accessor :labels
|
||
|
|
||
|
# The license type to use in OS adaptation.
|
||
|
# Corresponds to the JSON property `licenseType`
|
||
|
# @return [String]
|
||
|
attr_accessor :license_type
|
||
|
|
||
|
# The machine type to create the VM with.
|
||
|
# Corresponds to the JSON property `machineType`
|
||
|
# @return [String]
|
||
|
attr_accessor :machine_type
|
||
|
|
||
|
# The machine type series to create the VM with.
|
||
|
# Corresponds to the JSON property `machineTypeSeries`
|
||
|
# @return [String]
|
||
|
attr_accessor :machine_type_series
|
||
|
|
||
|
# The metadata key/value pairs to assign to the VM.
|
||
|
# Corresponds to the JSON property `metadata`
|
||
|
# @return [Hash<String,String>]
|
||
|
attr_accessor :metadata
|
||
|
|
||
|
# List of NICs connected to this VM.
|
||
|
# Corresponds to the JSON property `networkInterfaces`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::NetworkInterface>]
|
||
|
attr_accessor :network_interfaces
|
||
|
|
||
|
# A map of network tags to associate with the VM.
|
||
|
# Corresponds to the JSON property `networkTags`
|
||
|
# @return [Array<String>]
|
||
|
attr_accessor :network_tags
|
||
|
|
||
|
# The GCP target project ID or project name.
|
||
|
# Corresponds to the JSON property `project`
|
||
|
# @return [String]
|
||
|
attr_accessor :project
|
||
|
|
||
|
# Defines whether the instance has Secure Boot enabled. This can be set to true
|
||
|
# only if the vm boot option is EFI.
|
||
|
# Corresponds to the JSON property `secureBoot`
|
||
|
# @return [Boolean]
|
||
|
attr_accessor :secure_boot
|
||
|
alias_method :secure_boot?, :secure_boot
|
||
|
|
||
|
# The service account to associate the VM with.
|
||
|
# Corresponds to the JSON property `serviceAccount`
|
||
|
# @return [String]
|
||
|
attr_accessor :service_account
|
||
|
|
||
|
# The name of the VM to create.
|
||
|
# Corresponds to the JSON property `vmName`
|
||
|
# @return [String]
|
||
|
attr_accessor :vm_name
|
||
|
|
||
|
# The zone in which to create the VM.
|
||
|
# Corresponds to the JSON property `zone`
|
||
|
# @return [String]
|
||
|
attr_accessor :zone
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@additional_licenses = args[:additional_licenses] if args.key?(:additional_licenses)
|
||
|
@applied_license = args[:applied_license] if args.key?(:applied_license)
|
||
|
@boot_option = args[:boot_option] if args.key?(:boot_option)
|
||
|
@compute_scheduling = args[:compute_scheduling] if args.key?(:compute_scheduling)
|
||
|
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
||
|
@labels = args[:labels] if args.key?(:labels)
|
||
|
@license_type = args[:license_type] if args.key?(:license_type)
|
||
|
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
||
|
@machine_type_series = args[:machine_type_series] if args.key?(:machine_type_series)
|
||
|
@metadata = args[:metadata] if args.key?(:metadata)
|
||
|
@network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
|
||
|
@network_tags = args[:network_tags] if args.key?(:network_tags)
|
||
|
@project = args[:project] if args.key?(:project)
|
||
|
@secure_boot = args[:secure_boot] if args.key?(:secure_boot)
|
||
|
@service_account = args[:service_account] if args.key?(:service_account)
|
||
|
@vm_name = args[:vm_name] if args.key?(:vm_name)
|
||
|
@zone = args[:zone] if args.key?(:zone)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Scheduling information for VM on maintenance/restart behaviour and node
|
||
|
# allocation in sole tenant nodes.
|
||
|
class ComputeScheduling
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
#
|
||
|
# Corresponds to the JSON property `automaticRestart`
|
||
|
# @return [Boolean]
|
||
|
attr_accessor :automatic_restart
|
||
|
alias_method :automatic_restart?, :automatic_restart
|
||
|
|
||
|
# The minimum number of virtual CPUs this instance will consume when running on
|
||
|
# a sole-tenant node. Ignored if no node_affinites are configured.
|
||
|
# Corresponds to the JSON property `minNodeCpus`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :min_node_cpus
|
||
|
|
||
|
# A set of node affinity and anti-affinity configurations for sole tenant nodes.
|
||
|
# Corresponds to the JSON property `nodeAffinities`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::SchedulingNodeAffinity>]
|
||
|
attr_accessor :node_affinities
|
||
|
|
||
|
# How the instance should behave when the host machine undergoes maintenance
|
||
|
# that may temporarily impact instance performance.
|
||
|
# Corresponds to the JSON property `onHostMaintenance`
|
||
|
# @return [String]
|
||
|
attr_accessor :on_host_maintenance
|
||
|
|
||
|
# 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.
|
||
|
# Corresponds to the JSON property `restartType`
|
||
|
# @return [String]
|
||
|
attr_accessor :restart_type
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
|
||
|
@min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
|
||
|
@node_affinities = args[:node_affinities] if args.key?(:node_affinities)
|
||
|
@on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
|
||
|
@restart_type = args[:restart_type] if args.key?(:restart_type)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# 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.
|
||
|
class CutoverJob
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# ComputeEngineTargetDetails is a collection of details for creating a VM in a
|
||
|
# target Compute Engine project.
|
||
|
# Corresponds to the JSON property `computeEngineTargetDetails`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::ComputeEngineTargetDetails]
|
||
|
attr_accessor :compute_engine_target_details
|
||
|
|
||
|
# TargetVMDetails is a collection of details for creating a VM in a target
|
||
|
# Compute Engine project.
|
||
|
# Corresponds to the JSON property `computeEngineVmDetails`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::TargetVmDetails]
|
||
|
attr_accessor :compute_engine_vm_details
|
||
|
|
||
|
# Output only. The time the cutover job was created (as an API call, not when it
|
||
|
# was actually created in the target).
|
||
|
# Corresponds to the JSON property `createTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :create_time
|
||
|
|
||
|
# The `Status` type defines a logical error model that is suitable for different
|
||
|
# programming environments, including REST APIs and RPC APIs. It is used by [
|
||
|
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
||
|
# data: error code, error message, and error details. You can find out more
|
||
|
# about this error model and how to work with it in the [API Design Guide](https:
|
||
|
# //cloud.google.com/apis/design/errors).
|
||
|
# Corresponds to the JSON property `error`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::Status]
|
||
|
attr_accessor :error
|
||
|
|
||
|
# Output only. The name of the cutover job.
|
||
|
# Corresponds to the JSON property `name`
|
||
|
# @return [String]
|
||
|
attr_accessor :name
|
||
|
|
||
|
# Output only. The current progress in percentage of the cutover job.
|
||
|
# Corresponds to the JSON property `progress`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :progress
|
||
|
|
||
|
# Output only. The current progress in percentage of the cutover job.
|
||
|
# Corresponds to the JSON property `progressPercent`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :progress_percent
|
||
|
|
||
|
# Output only. State of the cutover job.
|
||
|
# Corresponds to the JSON property `state`
|
||
|
# @return [String]
|
||
|
attr_accessor :state
|
||
|
|
||
|
# Output only. A message providing possible extra details about the current
|
||
|
# state.
|
||
|
# Corresponds to the JSON property `stateMessage`
|
||
|
# @return [String]
|
||
|
attr_accessor :state_message
|
||
|
|
||
|
# Output only. The time the state was last updated.
|
||
|
# Corresponds to the JSON property `stateTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :state_time
|
||
|
|
||
|
# TargetVMDetails is a collection of details for creating a VM in a target
|
||
|
# Compute Engine project.
|
||
|
# Corresponds to the JSON property `targetDetails`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::TargetVmDetails]
|
||
|
attr_accessor :target_details
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@compute_engine_target_details = args[:compute_engine_target_details] if args.key?(:compute_engine_target_details)
|
||
|
@compute_engine_vm_details = args[:compute_engine_vm_details] if args.key?(:compute_engine_vm_details)
|
||
|
@create_time = args[:create_time] if args.key?(:create_time)
|
||
|
@error = args[:error] if args.key?(:error)
|
||
|
@name = args[:name] if args.key?(:name)
|
||
|
@progress = args[:progress] if args.key?(:progress)
|
||
|
@progress_percent = args[:progress_percent] if args.key?(:progress_percent)
|
||
|
@state = args[:state] if args.key?(:state)
|
||
|
@state_message = args[:state_message] if args.key?(:state_message)
|
||
|
@state_time = args[:state_time] if args.key?(:state_time)
|
||
|
@target_details = args[:target_details] if args.key?(:target_details)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# CycleStep hold information about a step progress.
|
||
|
class CycleStep
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# The time the cycle step has ended.
|
||
|
# Corresponds to the JSON property `endTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :end_time
|
||
|
|
||
|
# InitializingReplicationStep contains specific step details.
|
||
|
# Corresponds to the JSON property `initializingReplication`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::InitializingReplicationStep]
|
||
|
attr_accessor :initializing_replication
|
||
|
|
||
|
# PostProcessingStep contains specific step details.
|
||
|
# Corresponds to the JSON property `postProcessing`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::PostProcessingStep]
|
||
|
attr_accessor :post_processing
|
||
|
|
||
|
# ReplicatingStep contains specific step details.
|
||
|
# Corresponds to the JSON property `replicating`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::ReplicatingStep]
|
||
|
attr_accessor :replicating
|
||
|
|
||
|
# The time the cycle step has started.
|
||
|
# Corresponds to the JSON property `startTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :start_time
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@end_time = args[:end_time] if args.key?(:end_time)
|
||
|
@initializing_replication = args[:initializing_replication] if args.key?(:initializing_replication)
|
||
|
@post_processing = args[:post_processing] if args.key?(:post_processing)
|
||
|
@replicating = args[:replicating] if args.key?(:replicating)
|
||
|
@start_time = args[:start_time] if args.key?(:start_time)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# DatacenterConnector message describes a connector between the Source and GCP,
|
||
|
# which is installed on a vmware datacenter (an OVA vm installed by the user) to
|
||
|
# connect the Datacenter to GCP and support vm migration data transfer.
|
||
|
class DatacenterConnector
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# 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.
|
||
|
# Corresponds to the JSON property `applianceInfrastructureVersion`
|
||
|
# @return [String]
|
||
|
attr_accessor :appliance_infrastructure_version
|
||
|
|
||
|
# Output only. Appliance last installed update bundle version. This is the
|
||
|
# version of the automatically updatable components on the appliance.
|
||
|
# Corresponds to the JSON property `applianceSoftwareVersion`
|
||
|
# @return [String]
|
||
|
attr_accessor :appliance_software_version
|
||
|
|
||
|
# Holds informatiom about the available versions for upgrade.
|
||
|
# Corresponds to the JSON property `availableVersions`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::AvailableUpdates]
|
||
|
attr_accessor :available_versions
|
||
|
|
||
|
# Output only. The communication channel between the datacenter connector and
|
||
|
# GCP.
|
||
|
# Corresponds to the JSON property `bucket`
|
||
|
# @return [String]
|
||
|
attr_accessor :bucket
|
||
|
|
||
|
# Output only. The time the connector was created (as an API call, not when it
|
||
|
# was actually installed).
|
||
|
# Corresponds to the JSON property `createTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :create_time
|
||
|
|
||
|
# The `Status` type defines a logical error model that is suitable for different
|
||
|
# programming environments, including REST APIs and RPC APIs. It is used by [
|
||
|
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
||
|
# data: error code, error message, and error details. You can find out more
|
||
|
# about this error model and how to work with it in the [API Design Guide](https:
|
||
|
# //cloud.google.com/apis/design/errors).
|
||
|
# Corresponds to the JSON property `error`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::Status]
|
||
|
attr_accessor :error
|
||
|
|
||
|
# Output only. The connector's name.
|
||
|
# Corresponds to the JSON property `name`
|
||
|
# @return [String]
|
||
|
attr_accessor :name
|
||
|
|
||
|
# 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.
|
||
|
# Corresponds to the JSON property `registrationId`
|
||
|
# @return [String]
|
||
|
attr_accessor :registration_id
|
||
|
|
||
|
# The service account to use in the connector when communicating with the cloud.
|
||
|
# Corresponds to the JSON property `serviceAccount`
|
||
|
# @return [String]
|
||
|
attr_accessor :service_account
|
||
|
|
||
|
# Output only. State of the DatacenterConnector, as determined by the health
|
||
|
# checks.
|
||
|
# Corresponds to the JSON property `state`
|
||
|
# @return [String]
|
||
|
attr_accessor :state
|
||
|
|
||
|
# Output only. The time the state was last set.
|
||
|
# Corresponds to the JSON property `stateTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :state_time
|
||
|
|
||
|
# Output only. The last time the connector was updated with an API call.
|
||
|
# Corresponds to the JSON property `updateTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :update_time
|
||
|
|
||
|
# UpgradeStatus contains information about upgradeAppliance operation.
|
||
|
# Corresponds to the JSON property `upgradeStatus`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::UpgradeStatus]
|
||
|
attr_accessor :upgrade_status
|
||
|
|
||
|
# The version running in the DatacenterConnector. This is supplied by the OVA
|
||
|
# connector during the registration process and can not be modified.
|
||
|
# Corresponds to the JSON property `version`
|
||
|
# @return [String]
|
||
|
attr_accessor :version
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@appliance_infrastructure_version = args[:appliance_infrastructure_version] if args.key?(:appliance_infrastructure_version)
|
||
|
@appliance_software_version = args[:appliance_software_version] if args.key?(:appliance_software_version)
|
||
|
@available_versions = args[:available_versions] if args.key?(:available_versions)
|
||
|
@bucket = args[:bucket] if args.key?(:bucket)
|
||
|
@create_time = args[:create_time] if args.key?(:create_time)
|
||
|
@error = args[:error] if args.key?(:error)
|
||
|
@name = args[:name] if args.key?(:name)
|
||
|
@registration_id = args[:registration_id] if args.key?(:registration_id)
|
||
|
@service_account = args[:service_account] if args.key?(:service_account)
|
||
|
@state = args[:state] if args.key?(:state)
|
||
|
@state_time = args[:state_time] if args.key?(:state_time)
|
||
|
@update_time = args[:update_time] if args.key?(:update_time)
|
||
|
@upgrade_status = args[:upgrade_status] if args.key?(:upgrade_status)
|
||
|
@version = args[:version] if args.key?(:version)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# 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); `
|
||
|
class Empty
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Response message for fetchInventory.
|
||
|
class FetchInventoryResponse
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Output only. The timestamp when the source was last queried (if the result is
|
||
|
# from the cache).
|
||
|
# Corresponds to the JSON property `updateTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :update_time
|
||
|
|
||
|
# VmwareVmsDetails describes VMs in vCenter.
|
||
|
# Corresponds to the JSON property `vmwareVms`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::VmwareVmsDetails]
|
||
|
attr_accessor :vmware_vms
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@update_time = args[:update_time] if args.key?(:update_time)
|
||
|
@vmware_vms = args[:vmware_vms] if args.key?(:vmware_vms)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Request message for 'FinalizeMigration' request.
|
||
|
class FinalizeMigrationRequest
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Describes message for 'Group' resource. The Group is a collections of several
|
||
|
# MigratingVms.
|
||
|
class Group
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Output only. The create time timestamp.
|
||
|
# Corresponds to the JSON property `createTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :create_time
|
||
|
|
||
|
# User-provided description of the group.
|
||
|
# Corresponds to the JSON property `description`
|
||
|
# @return [String]
|
||
|
attr_accessor :description
|
||
|
|
||
|
# Display name is a user defined name for this group which can be updated.
|
||
|
# Corresponds to the JSON property `displayName`
|
||
|
# @return [String]
|
||
|
attr_accessor :display_name
|
||
|
|
||
|
# Output only. The Group name.
|
||
|
# Corresponds to the JSON property `name`
|
||
|
# @return [String]
|
||
|
attr_accessor :name
|
||
|
|
||
|
# Output only. The update time timestamp.
|
||
|
# Corresponds to the JSON property `updateTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :update_time
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@create_time = args[:create_time] if args.key?(:create_time)
|
||
|
@description = args[:description] if args.key?(:description)
|
||
|
@display_name = args[:display_name] if args.key?(:display_name)
|
||
|
@name = args[:name] if args.key?(:name)
|
||
|
@update_time = args[:update_time] if args.key?(:update_time)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# InitializingReplicationStep contains specific step details.
|
||
|
class InitializingReplicationStep
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Describes a URL link.
|
||
|
class Link
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Describes what the link offers.
|
||
|
# Corresponds to the JSON property `description`
|
||
|
# @return [String]
|
||
|
attr_accessor :description
|
||
|
|
||
|
# The URL of the link.
|
||
|
# Corresponds to the JSON property `url`
|
||
|
# @return [String]
|
||
|
attr_accessor :url
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@description = args[:description] if args.key?(:description)
|
||
|
@url = args[:url] if args.key?(:url)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Response message for 'ListCloneJobs' request.
|
||
|
class ListCloneJobsResponse
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Output only. The list of clone jobs response.
|
||
|
# Corresponds to the JSON property `cloneJobs`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::CloneJob>]
|
||
|
attr_accessor :clone_jobs
|
||
|
|
||
|
# 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.
|
||
|
# Corresponds to the JSON property `nextPageToken`
|
||
|
# @return [String]
|
||
|
attr_accessor :next_page_token
|
||
|
|
||
|
# Output only. Locations that could not be reached.
|
||
|
# Corresponds to the JSON property `unreachable`
|
||
|
# @return [Array<String>]
|
||
|
attr_accessor :unreachable
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@clone_jobs = args[:clone_jobs] if args.key?(:clone_jobs)
|
||
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
|
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Response message for 'ListCutoverJobs' request.
|
||
|
class ListCutoverJobsResponse
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Output only. The list of cutover jobs response.
|
||
|
# Corresponds to the JSON property `cutoverJobs`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::CutoverJob>]
|
||
|
attr_accessor :cutover_jobs
|
||
|
|
||
|
# 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.
|
||
|
# Corresponds to the JSON property `nextPageToken`
|
||
|
# @return [String]
|
||
|
attr_accessor :next_page_token
|
||
|
|
||
|
# Output only. Locations that could not be reached.
|
||
|
# Corresponds to the JSON property `unreachable`
|
||
|
# @return [Array<String>]
|
||
|
attr_accessor :unreachable
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@cutover_jobs = args[:cutover_jobs] if args.key?(:cutover_jobs)
|
||
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
|
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Response message for 'ListDatacenterConnectors' request.
|
||
|
class ListDatacenterConnectorsResponse
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Output only. The list of sources response.
|
||
|
# Corresponds to the JSON property `datacenterConnectors`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::DatacenterConnector>]
|
||
|
attr_accessor :datacenter_connectors
|
||
|
|
||
|
# 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.
|
||
|
# Corresponds to the JSON property `nextPageToken`
|
||
|
# @return [String]
|
||
|
attr_accessor :next_page_token
|
||
|
|
||
|
# Output only. Locations that could not be reached.
|
||
|
# Corresponds to the JSON property `unreachable`
|
||
|
# @return [Array<String>]
|
||
|
attr_accessor :unreachable
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@datacenter_connectors = args[:datacenter_connectors] if args.key?(:datacenter_connectors)
|
||
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
|
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Response message for 'ListGroups' request.
|
||
|
class ListGroupsResponse
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Output only. The list of groups response.
|
||
|
# Corresponds to the JSON property `groups`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::Group>]
|
||
|
attr_accessor :groups
|
||
|
|
||
|
# 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.
|
||
|
# Corresponds to the JSON property `nextPageToken`
|
||
|
# @return [String]
|
||
|
attr_accessor :next_page_token
|
||
|
|
||
|
# Output only. Locations that could not be reached.
|
||
|
# Corresponds to the JSON property `unreachable`
|
||
|
# @return [Array<String>]
|
||
|
attr_accessor :unreachable
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@groups = args[:groups] if args.key?(:groups)
|
||
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
|
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# The response message for Locations.ListLocations.
|
||
|
class ListLocationsResponse
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# A list of locations that matches the specified filter in the request.
|
||
|
# Corresponds to the JSON property `locations`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::Location>]
|
||
|
attr_accessor :locations
|
||
|
|
||
|
# The standard List next-page token.
|
||
|
# Corresponds to the JSON property `nextPageToken`
|
||
|
# @return [String]
|
||
|
attr_accessor :next_page_token
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@locations = args[:locations] if args.key?(:locations)
|
||
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Response message for 'ListMigratingVms' request.
|
||
|
class ListMigratingVmsResponse
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Output only. The list of Migrating VMs response.
|
||
|
# Corresponds to the JSON property `migratingVms`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::MigratingVm>]
|
||
|
attr_accessor :migrating_vms
|
||
|
|
||
|
# 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.
|
||
|
# Corresponds to the JSON property `nextPageToken`
|
||
|
# @return [String]
|
||
|
attr_accessor :next_page_token
|
||
|
|
||
|
# Output only. Locations that could not be reached.
|
||
|
# Corresponds to the JSON property `unreachable`
|
||
|
# @return [Array<String>]
|
||
|
attr_accessor :unreachable
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@migrating_vms = args[:migrating_vms] if args.key?(:migrating_vms)
|
||
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
|
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# The response message for Operations.ListOperations.
|
||
|
class ListOperationsResponse
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# The standard List next-page token.
|
||
|
# Corresponds to the JSON property `nextPageToken`
|
||
|
# @return [String]
|
||
|
attr_accessor :next_page_token
|
||
|
|
||
|
# A list of operations that matches the specified filter in the request.
|
||
|
# Corresponds to the JSON property `operations`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::Operation>]
|
||
|
attr_accessor :operations
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
|
@operations = args[:operations] if args.key?(:operations)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Response message for 'ListSources' request.
|
||
|
class ListSourcesResponse
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# 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.
|
||
|
# Corresponds to the JSON property `nextPageToken`
|
||
|
# @return [String]
|
||
|
attr_accessor :next_page_token
|
||
|
|
||
|
# Output only. The list of sources response.
|
||
|
# Corresponds to the JSON property `sources`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::Source>]
|
||
|
attr_accessor :sources
|
||
|
|
||
|
# Output only. Locations that could not be reached.
|
||
|
# Corresponds to the JSON property `unreachable`
|
||
|
# @return [Array<String>]
|
||
|
attr_accessor :unreachable
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
|
@sources = args[:sources] if args.key?(:sources)
|
||
|
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Response message for 'ListTargetProjects' call.
|
||
|
class ListTargetProjectsResponse
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# 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.
|
||
|
# Corresponds to the JSON property `nextPageToken`
|
||
|
# @return [String]
|
||
|
attr_accessor :next_page_token
|
||
|
|
||
|
# Output only. The list of target response.
|
||
|
# Corresponds to the JSON property `targetProjects`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::TargetProject>]
|
||
|
attr_accessor :target_projects
|
||
|
|
||
|
# Output only. Locations that could not be reached.
|
||
|
# Corresponds to the JSON property `unreachable`
|
||
|
# @return [Array<String>]
|
||
|
attr_accessor :unreachable
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
|
@target_projects = args[:target_projects] if args.key?(:target_projects)
|
||
|
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Response message for 'ListUtilizationReports' request.
|
||
|
class ListUtilizationReportsResponse
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# 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.
|
||
|
# Corresponds to the JSON property `nextPageToken`
|
||
|
# @return [String]
|
||
|
attr_accessor :next_page_token
|
||
|
|
||
|
# Output only. Locations that could not be reached.
|
||
|
# Corresponds to the JSON property `unreachable`
|
||
|
# @return [Array<String>]
|
||
|
attr_accessor :unreachable
|
||
|
|
||
|
# Output only. The list of reports.
|
||
|
# Corresponds to the JSON property `utilizationReports`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::UtilizationReport>]
|
||
|
attr_accessor :utilization_reports
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
|
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
||
|
@utilization_reports = args[:utilization_reports] if args.key?(:utilization_reports)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Provides a localized error message that is safe to return to the user which
|
||
|
# can be attached to an RPC error.
|
||
|
class LocalizedMessage
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# The locale used following the specification defined at http://www.rfc-editor.
|
||
|
# org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
|
||
|
# Corresponds to the JSON property `locale`
|
||
|
# @return [String]
|
||
|
attr_accessor :locale
|
||
|
|
||
|
# The localized error message in the above locale.
|
||
|
# Corresponds to the JSON property `message`
|
||
|
# @return [String]
|
||
|
attr_accessor :message
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@locale = args[:locale] if args.key?(:locale)
|
||
|
@message = args[:message] if args.key?(:message)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# A resource that represents Google Cloud Platform location.
|
||
|
class Location
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# The friendly name for this location, typically a nearby city name. For example,
|
||
|
# "Tokyo".
|
||
|
# Corresponds to the JSON property `displayName`
|
||
|
# @return [String]
|
||
|
attr_accessor :display_name
|
||
|
|
||
|
# Cross-service attributes for the location. For example `"cloud.googleapis.com/
|
||
|
# region": "us-east1"`
|
||
|
# Corresponds to the JSON property `labels`
|
||
|
# @return [Hash<String,String>]
|
||
|
attr_accessor :labels
|
||
|
|
||
|
# The canonical id for this location. For example: `"us-east1"`.
|
||
|
# Corresponds to the JSON property `locationId`
|
||
|
# @return [String]
|
||
|
attr_accessor :location_id
|
||
|
|
||
|
# Service-specific metadata. For example the available capacity at the given
|
||
|
# location.
|
||
|
# Corresponds to the JSON property `metadata`
|
||
|
# @return [Hash<String,Object>]
|
||
|
attr_accessor :metadata
|
||
|
|
||
|
# Resource name for the location, which may vary between implementations. For
|
||
|
# example: `"projects/example-project/locations/us-east1"`
|
||
|
# Corresponds to the JSON property `name`
|
||
|
# @return [String]
|
||
|
attr_accessor :name
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@display_name = args[:display_name] if args.key?(:display_name)
|
||
|
@labels = args[:labels] if args.key?(:labels)
|
||
|
@location_id = args[:location_id] if args.key?(:location_id)
|
||
|
@metadata = args[:metadata] if args.key?(:metadata)
|
||
|
@name = args[:name] if args.key?(:name)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# MigratingVm describes the VM that will be migrated from a Source environment
|
||
|
# and its replication state.
|
||
|
class MigratingVm
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# ComputeEngineTargetDefaults is a collection of details for creating a VM in a
|
||
|
# target Compute Engine project.
|
||
|
# Corresponds to the JSON property `computeEngineTargetDefaults`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::ComputeEngineTargetDefaults]
|
||
|
attr_accessor :compute_engine_target_defaults
|
||
|
|
||
|
# TargetVMDetails is a collection of details for creating a VM in a target
|
||
|
# Compute Engine project.
|
||
|
# Corresponds to the JSON property `computeEngineVmDefaults`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::TargetVmDetails]
|
||
|
attr_accessor :compute_engine_vm_defaults
|
||
|
|
||
|
# 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).
|
||
|
# Corresponds to the JSON property `createTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :create_time
|
||
|
|
||
|
# ReplicationCycle contains information about the current replication cycle
|
||
|
# status.
|
||
|
# Corresponds to the JSON property `currentSyncInfo`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::ReplicationCycle]
|
||
|
attr_accessor :current_sync_info
|
||
|
|
||
|
# The description attached to the migrating VM by the user.
|
||
|
# Corresponds to the JSON property `description`
|
||
|
# @return [String]
|
||
|
attr_accessor :description
|
||
|
|
||
|
# The display name attached to the MigratingVm by the user.
|
||
|
# Corresponds to the JSON property `displayName`
|
||
|
# @return [String]
|
||
|
attr_accessor :display_name
|
||
|
|
||
|
# The `Status` type defines a logical error model that is suitable for different
|
||
|
# programming environments, including REST APIs and RPC APIs. It is used by [
|
||
|
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
||
|
# data: error code, error message, and error details. You can find out more
|
||
|
# about this error model and how to work with it in the [API Design Guide](https:
|
||
|
# //cloud.google.com/apis/design/errors).
|
||
|
# Corresponds to the JSON property `error`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::Status]
|
||
|
attr_accessor :error
|
||
|
|
||
|
# 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.
|
||
|
# Corresponds to the JSON property `group`
|
||
|
# @return [String]
|
||
|
attr_accessor :group
|
||
|
|
||
|
# The labels of the migrating VM.
|
||
|
# Corresponds to the JSON property `labels`
|
||
|
# @return [Hash<String,String>]
|
||
|
attr_accessor :labels
|
||
|
|
||
|
# ReplicationSync contain information about the last replica sync to the cloud.
|
||
|
# Corresponds to the JSON property `lastSync`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::ReplicationSync]
|
||
|
attr_accessor :last_sync
|
||
|
|
||
|
# Output only. The identifier of the MigratingVm.
|
||
|
# Corresponds to the JSON property `name`
|
||
|
# @return [String]
|
||
|
attr_accessor :name
|
||
|
|
||
|
# A policy for scheduling replications.
|
||
|
# Corresponds to the JSON property `policy`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::SchedulePolicy]
|
||
|
attr_accessor :policy
|
||
|
|
||
|
# 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.
|
||
|
# Corresponds to the JSON property `recentCloneJobs`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::CloneJob>]
|
||
|
attr_accessor :recent_clone_jobs
|
||
|
|
||
|
# 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.
|
||
|
# Corresponds to the JSON property `recentCutoverJobs`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::CutoverJob>]
|
||
|
attr_accessor :recent_cutover_jobs
|
||
|
|
||
|
# 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-.
|
||
|
# Corresponds to the JSON property `sourceVmId`
|
||
|
# @return [String]
|
||
|
attr_accessor :source_vm_id
|
||
|
|
||
|
# Output only. State of the MigratingVm.
|
||
|
# Corresponds to the JSON property `state`
|
||
|
# @return [String]
|
||
|
attr_accessor :state
|
||
|
|
||
|
# Output only. The last time the migrating VM state was updated.
|
||
|
# Corresponds to the JSON property `stateTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :state_time
|
||
|
|
||
|
# TargetVMDetails is a collection of details for creating a VM in a target
|
||
|
# Compute Engine project.
|
||
|
# Corresponds to the JSON property `targetDefaults`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::TargetVmDetails]
|
||
|
attr_accessor :target_defaults
|
||
|
|
||
|
# Output only. The last time the migrating VM resource was updated.
|
||
|
# Corresponds to the JSON property `updateTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :update_time
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@compute_engine_target_defaults = args[:compute_engine_target_defaults] if args.key?(:compute_engine_target_defaults)
|
||
|
@compute_engine_vm_defaults = args[:compute_engine_vm_defaults] if args.key?(:compute_engine_vm_defaults)
|
||
|
@create_time = args[:create_time] if args.key?(:create_time)
|
||
|
@current_sync_info = args[:current_sync_info] if args.key?(:current_sync_info)
|
||
|
@description = args[:description] if args.key?(:description)
|
||
|
@display_name = args[:display_name] if args.key?(:display_name)
|
||
|
@error = args[:error] if args.key?(:error)
|
||
|
@group = args[:group] if args.key?(:group)
|
||
|
@labels = args[:labels] if args.key?(:labels)
|
||
|
@last_sync = args[:last_sync] if args.key?(:last_sync)
|
||
|
@name = args[:name] if args.key?(:name)
|
||
|
@policy = args[:policy] if args.key?(:policy)
|
||
|
@recent_clone_jobs = args[:recent_clone_jobs] if args.key?(:recent_clone_jobs)
|
||
|
@recent_cutover_jobs = args[:recent_cutover_jobs] if args.key?(:recent_cutover_jobs)
|
||
|
@source_vm_id = args[:source_vm_id] if args.key?(:source_vm_id)
|
||
|
@state = args[:state] if args.key?(:state)
|
||
|
@state_time = args[:state_time] if args.key?(:state_time)
|
||
|
@target_defaults = args[:target_defaults] if args.key?(:target_defaults)
|
||
|
@update_time = args[:update_time] if args.key?(:update_time)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# 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.
|
||
|
class MigrationError
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Provides a localized error message that is safe to return to the user which
|
||
|
# can be attached to an RPC error.
|
||
|
# Corresponds to the JSON property `actionItem`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::LocalizedMessage]
|
||
|
attr_accessor :action_item
|
||
|
|
||
|
# Output only. The error code.
|
||
|
# Corresponds to the JSON property `code`
|
||
|
# @return [String]
|
||
|
attr_accessor :code
|
||
|
|
||
|
# Provides a localized error message that is safe to return to the user which
|
||
|
# can be attached to an RPC error.
|
||
|
# Corresponds to the JSON property `errorMessage`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::LocalizedMessage]
|
||
|
attr_accessor :error_message
|
||
|
|
||
|
# Output only. The time the error occurred.
|
||
|
# Corresponds to the JSON property `errorTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :error_time
|
||
|
|
||
|
# Output only. URL(s) pointing to additional information on handling the current
|
||
|
# error.
|
||
|
# Corresponds to the JSON property `helpLinks`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::Link>]
|
||
|
attr_accessor :help_links
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@action_item = args[:action_item] if args.key?(:action_item)
|
||
|
@code = args[:code] if args.key?(:code)
|
||
|
@error_message = args[:error_message] if args.key?(:error_message)
|
||
|
@error_time = args[:error_time] if args.key?(:error_time)
|
||
|
@help_links = args[:help_links] if args.key?(:help_links)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# NetworkInterface represents a NIC of a VM.
|
||
|
class NetworkInterface
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# The external IP to define in the NIC.
|
||
|
# Corresponds to the JSON property `externalIp`
|
||
|
# @return [String]
|
||
|
attr_accessor :external_ip
|
||
|
|
||
|
# The internal IP to define in the NIC. The formats accepted are: `ephemeral` \
|
||
|
# ipv4 address \ a named address resource full path.
|
||
|
# Corresponds to the JSON property `internalIp`
|
||
|
# @return [String]
|
||
|
attr_accessor :internal_ip
|
||
|
|
||
|
# The network to connect the NIC to.
|
||
|
# Corresponds to the JSON property `network`
|
||
|
# @return [String]
|
||
|
attr_accessor :network
|
||
|
|
||
|
# The subnetwork to connect the NIC to.
|
||
|
# Corresponds to the JSON property `subnetwork`
|
||
|
# @return [String]
|
||
|
attr_accessor :subnetwork
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@external_ip = args[:external_ip] if args.key?(:external_ip)
|
||
|
@internal_ip = args[:internal_ip] if args.key?(:internal_ip)
|
||
|
@network = args[:network] if args.key?(:network)
|
||
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# This resource represents a long-running operation that is the result of a
|
||
|
# network API call.
|
||
|
class Operation
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# 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.
|
||
|
# Corresponds to the JSON property `done`
|
||
|
# @return [Boolean]
|
||
|
attr_accessor :done
|
||
|
alias_method :done?, :done
|
||
|
|
||
|
# The `Status` type defines a logical error model that is suitable for different
|
||
|
# programming environments, including REST APIs and RPC APIs. It is used by [
|
||
|
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
||
|
# data: error code, error message, and error details. You can find out more
|
||
|
# about this error model and how to work with it in the [API Design Guide](https:
|
||
|
# //cloud.google.com/apis/design/errors).
|
||
|
# Corresponds to the JSON property `error`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::Status]
|
||
|
attr_accessor :error
|
||
|
|
||
|
# 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.
|
||
|
# Corresponds to the JSON property `metadata`
|
||
|
# @return [Hash<String,Object>]
|
||
|
attr_accessor :metadata
|
||
|
|
||
|
# 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``.
|
||
|
# Corresponds to the JSON property `name`
|
||
|
# @return [String]
|
||
|
attr_accessor :name
|
||
|
|
||
|
# 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`.
|
||
|
# Corresponds to the JSON property `response`
|
||
|
# @return [Hash<String,Object>]
|
||
|
attr_accessor :response
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@done = args[:done] if args.key?(:done)
|
||
|
@error = args[:error] if args.key?(:error)
|
||
|
@metadata = args[:metadata] if args.key?(:metadata)
|
||
|
@name = args[:name] if args.key?(:name)
|
||
|
@response = args[:response] if args.key?(:response)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Represents the metadata of the long-running operation.
|
||
|
class OperationMetadata
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Output only. API version used to start the operation.
|
||
|
# Corresponds to the JSON property `apiVersion`
|
||
|
# @return [String]
|
||
|
attr_accessor :api_version
|
||
|
|
||
|
# Output only. The time the operation was created.
|
||
|
# Corresponds to the JSON property `createTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :create_time
|
||
|
|
||
|
# Output only. The time the operation finished running.
|
||
|
# Corresponds to the JSON property `endTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :end_time
|
||
|
|
||
|
# 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`.
|
||
|
# Corresponds to the JSON property `requestedCancellation`
|
||
|
# @return [Boolean]
|
||
|
attr_accessor :requested_cancellation
|
||
|
alias_method :requested_cancellation?, :requested_cancellation
|
||
|
|
||
|
# Output only. Human-readable status of the operation, if any.
|
||
|
# Corresponds to the JSON property `statusMessage`
|
||
|
# @return [String]
|
||
|
attr_accessor :status_message
|
||
|
|
||
|
# Output only. Server-defined resource path for the target of the operation.
|
||
|
# Corresponds to the JSON property `target`
|
||
|
# @return [String]
|
||
|
attr_accessor :target
|
||
|
|
||
|
# Output only. Name of the verb executed by the operation.
|
||
|
# Corresponds to the JSON property `verb`
|
||
|
# @return [String]
|
||
|
attr_accessor :verb
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@api_version = args[:api_version] if args.key?(:api_version)
|
||
|
@create_time = args[:create_time] if args.key?(:create_time)
|
||
|
@end_time = args[:end_time] if args.key?(:end_time)
|
||
|
@requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
|
||
|
@status_message = args[:status_message] if args.key?(:status_message)
|
||
|
@target = args[:target] if args.key?(:target)
|
||
|
@verb = args[:verb] if args.key?(:verb)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Request message for 'PauseMigration' request.
|
||
|
class PauseMigrationRequest
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# PostProcessingStep contains specific step details.
|
||
|
class PostProcessingStep
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Request message for 'RemoveMigration' request.
|
||
|
class RemoveGroupMigrationRequest
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# The MigratingVm to remove.
|
||
|
# Corresponds to the JSON property `migratingVm`
|
||
|
# @return [String]
|
||
|
attr_accessor :migrating_vm
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@migrating_vm = args[:migrating_vm] if args.key?(:migrating_vm)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# ReplicatingStep contains specific step details.
|
||
|
class ReplicatingStep
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# The source disks replication rate for the last 30 minutes in bytes per second.
|
||
|
# Corresponds to the JSON property `lastThirtyMinutesAverageBytesPerSecond`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :last_thirty_minutes_average_bytes_per_second
|
||
|
|
||
|
# The source disks replication rate for the last 2 minutes in bytes per second.
|
||
|
# Corresponds to the JSON property `lastTwoMinutesAverageBytesPerSecond`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :last_two_minutes_average_bytes_per_second
|
||
|
|
||
|
# Replicated bytes in the step.
|
||
|
# Corresponds to the JSON property `replicatedBytes`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :replicated_bytes
|
||
|
|
||
|
# Total bytes to be handled in the step.
|
||
|
# Corresponds to the JSON property `totalBytes`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :total_bytes
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@last_thirty_minutes_average_bytes_per_second = args[:last_thirty_minutes_average_bytes_per_second] if args.key?(:last_thirty_minutes_average_bytes_per_second)
|
||
|
@last_two_minutes_average_bytes_per_second = args[:last_two_minutes_average_bytes_per_second] if args.key?(:last_two_minutes_average_bytes_per_second)
|
||
|
@replicated_bytes = args[:replicated_bytes] if args.key?(:replicated_bytes)
|
||
|
@total_bytes = args[:total_bytes] if args.key?(:total_bytes)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# ReplicationCycle contains information about the current replication cycle
|
||
|
# status.
|
||
|
class ReplicationCycle
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# The current progress in percentage of this cycle.
|
||
|
# Corresponds to the JSON property `progress`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :progress
|
||
|
|
||
|
# The current progress in percentage of this cycle.
|
||
|
# Corresponds to the JSON property `progressPercent`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :progress_percent
|
||
|
|
||
|
# The time the replication cycle has started.
|
||
|
# Corresponds to the JSON property `startTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :start_time
|
||
|
|
||
|
# The cycle's steps list representing its progress.
|
||
|
# Corresponds to the JSON property `steps`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::CycleStep>]
|
||
|
attr_accessor :steps
|
||
|
|
||
|
# The accumulated duration the replication cycle was paused.
|
||
|
# Corresponds to the JSON property `totalPauseDuration`
|
||
|
# @return [String]
|
||
|
attr_accessor :total_pause_duration
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@progress = args[:progress] if args.key?(:progress)
|
||
|
@progress_percent = args[:progress_percent] if args.key?(:progress_percent)
|
||
|
@start_time = args[:start_time] if args.key?(:start_time)
|
||
|
@steps = args[:steps] if args.key?(:steps)
|
||
|
@total_pause_duration = args[:total_pause_duration] if args.key?(:total_pause_duration)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# ReplicationSync contain information about the last replica sync to the cloud.
|
||
|
class ReplicationSync
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# The most updated snapshot created time in the source that finished replication.
|
||
|
# Corresponds to the JSON property `lastSyncTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :last_sync_time
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@last_sync_time = args[:last_sync_time] if args.key?(:last_sync_time)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Request message for 'ResumeMigration' request.
|
||
|
class ResumeMigrationRequest
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# A policy for scheduling replications.
|
||
|
class SchedulePolicy
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# The idle duration between replication stages.
|
||
|
# Corresponds to the JSON property `idleDuration`
|
||
|
# @return [String]
|
||
|
attr_accessor :idle_duration
|
||
|
|
||
|
# A flag to indicate whether to skip OS adaptation during the replication sync.
|
||
|
# OS adaptation is a process where the VM's operating system undergoes changes
|
||
|
# and adaptations to fully function on Compute Engine.
|
||
|
# Corresponds to the JSON property `skipOsAdaptation`
|
||
|
# @return [Boolean]
|
||
|
attr_accessor :skip_os_adaptation
|
||
|
alias_method :skip_os_adaptation?, :skip_os_adaptation
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@idle_duration = args[:idle_duration] if args.key?(:idle_duration)
|
||
|
@skip_os_adaptation = args[:skip_os_adaptation] if args.key?(:skip_os_adaptation)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Node Affinity: the configuration of desired nodes onto which this Instance
|
||
|
# could be scheduled. Based on https://cloud.google.com/compute/docs/reference/
|
||
|
# rest/v1/instances/setScheduling
|
||
|
class SchedulingNodeAffinity
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# The label key of Node resource to reference.
|
||
|
# Corresponds to the JSON property `key`
|
||
|
# @return [String]
|
||
|
attr_accessor :key
|
||
|
|
||
|
# The operator to use for the node resources specified in the `values` parameter.
|
||
|
# Corresponds to the JSON property `operator`
|
||
|
# @return [String]
|
||
|
attr_accessor :operator
|
||
|
|
||
|
# Corresponds to the label values of Node resource.
|
||
|
# Corresponds to the JSON property `values`
|
||
|
# @return [Array<String>]
|
||
|
attr_accessor :values
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@key = args[:key] if args.key?(:key)
|
||
|
@operator = args[:operator] if args.key?(:operator)
|
||
|
@values = args[:values] if args.key?(:values)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Source message describes a specific vm migration Source resource. It contains
|
||
|
# the source environment information.
|
||
|
class Source
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Output only. The create time timestamp.
|
||
|
# Corresponds to the JSON property `createTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :create_time
|
||
|
|
||
|
# User-provided description of the source.
|
||
|
# Corresponds to the JSON property `description`
|
||
|
# @return [String]
|
||
|
attr_accessor :description
|
||
|
|
||
|
# The `Status` type defines a logical error model that is suitable for different
|
||
|
# programming environments, including REST APIs and RPC APIs. It is used by [
|
||
|
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
||
|
# data: error code, error message, and error details. You can find out more
|
||
|
# about this error model and how to work with it in the [API Design Guide](https:
|
||
|
# //cloud.google.com/apis/design/errors).
|
||
|
# Corresponds to the JSON property `error`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::Status]
|
||
|
attr_accessor :error
|
||
|
|
||
|
# The labels of the source.
|
||
|
# Corresponds to the JSON property `labels`
|
||
|
# @return [Hash<String,String>]
|
||
|
attr_accessor :labels
|
||
|
|
||
|
# Output only. The Source name.
|
||
|
# Corresponds to the JSON property `name`
|
||
|
# @return [String]
|
||
|
attr_accessor :name
|
||
|
|
||
|
# Output only. The update time timestamp.
|
||
|
# Corresponds to the JSON property `updateTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :update_time
|
||
|
|
||
|
# VmwareSourceDetails message describes a specific source details for the vmware
|
||
|
# source type.
|
||
|
# Corresponds to the JSON property `vmware`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::VmwareSourceDetails]
|
||
|
attr_accessor :vmware
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@create_time = args[:create_time] if args.key?(:create_time)
|
||
|
@description = args[:description] if args.key?(:description)
|
||
|
@error = args[:error] if args.key?(:error)
|
||
|
@labels = args[:labels] if args.key?(:labels)
|
||
|
@name = args[:name] if args.key?(:name)
|
||
|
@update_time = args[:update_time] if args.key?(:update_time)
|
||
|
@vmware = args[:vmware] if args.key?(:vmware)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Request message for 'StartMigrationRequest' request.
|
||
|
class StartMigrationRequest
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# The `Status` type defines a logical error model that is suitable for different
|
||
|
# programming environments, including REST APIs and RPC APIs. It is used by [
|
||
|
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
||
|
# data: error code, error message, and error details. You can find out more
|
||
|
# about this error model and how to work with it in the [API Design Guide](https:
|
||
|
# //cloud.google.com/apis/design/errors).
|
||
|
class Status
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# The status code, which should be an enum value of google.rpc.Code.
|
||
|
# Corresponds to the JSON property `code`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :code
|
||
|
|
||
|
# A list of messages that carry the error details. There is a common set of
|
||
|
# message types for APIs to use.
|
||
|
# Corresponds to the JSON property `details`
|
||
|
# @return [Array<Hash<String,Object>>]
|
||
|
attr_accessor :details
|
||
|
|
||
|
# A developer-facing error message, which should be in English. Any user-facing
|
||
|
# error message should be localized and sent in the google.rpc.Status.details
|
||
|
# field, or localized by the client.
|
||
|
# Corresponds to the JSON property `message`
|
||
|
# @return [String]
|
||
|
attr_accessor :message
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@code = args[:code] if args.key?(:code)
|
||
|
@details = args[:details] if args.key?(:details)
|
||
|
@message = args[:message] if args.key?(:message)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# TargetProject message represents a target Compute Engine project for a
|
||
|
# migration or a clone.
|
||
|
class TargetProject
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Output only. The time this target project resource was created (not related to
|
||
|
# when the Compute Engine project it points to was created).
|
||
|
# Corresponds to the JSON property `createTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :create_time
|
||
|
|
||
|
# The target project's description.
|
||
|
# Corresponds to the JSON property `description`
|
||
|
# @return [String]
|
||
|
attr_accessor :description
|
||
|
|
||
|
# Output only. The name of the target project.
|
||
|
# Corresponds to the JSON property `name`
|
||
|
# @return [String]
|
||
|
attr_accessor :name
|
||
|
|
||
|
# The target project ID (number) or project name.
|
||
|
# Corresponds to the JSON property `project`
|
||
|
# @return [String]
|
||
|
attr_accessor :project
|
||
|
|
||
|
# Output only. The last time the target project resource was updated.
|
||
|
# Corresponds to the JSON property `updateTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :update_time
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@create_time = args[:create_time] if args.key?(:create_time)
|
||
|
@description = args[:description] if args.key?(:description)
|
||
|
@name = args[:name] if args.key?(:name)
|
||
|
@project = args[:project] if args.key?(:project)
|
||
|
@update_time = args[:update_time] if args.key?(:update_time)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# TargetVMDetails is a collection of details for creating a VM in a target
|
||
|
# Compute Engine project.
|
||
|
class TargetVmDetails
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# AppliedLicense holds the license data returned by adaptation module report.
|
||
|
# Corresponds to the JSON property `appliedLicense`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::AppliedLicense]
|
||
|
attr_accessor :applied_license
|
||
|
|
||
|
# Output only. The VM Boot Option, as set in the source vm.
|
||
|
# Corresponds to the JSON property `bootOption`
|
||
|
# @return [String]
|
||
|
attr_accessor :boot_option
|
||
|
|
||
|
# Scheduling information for VM on maintenance/restart behaviour and node
|
||
|
# allocation in sole tenant nodes.
|
||
|
# Corresponds to the JSON property `computeScheduling`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::ComputeScheduling]
|
||
|
attr_accessor :compute_scheduling
|
||
|
|
||
|
# The disk type to use in the VM.
|
||
|
# Corresponds to the JSON property `diskType`
|
||
|
# @return [String]
|
||
|
attr_accessor :disk_type
|
||
|
|
||
|
# The external IP to define in the VM.
|
||
|
# Corresponds to the JSON property `externalIp`
|
||
|
# @return [String]
|
||
|
attr_accessor :external_ip
|
||
|
|
||
|
# The internal IP to define in the VM. The formats accepted are: `ephemeral` \
|
||
|
# ipv4 address \ a named address resource full path.
|
||
|
# Corresponds to the JSON property `internalIp`
|
||
|
# @return [String]
|
||
|
attr_accessor :internal_ip
|
||
|
|
||
|
# A map of labels to associate with the VM.
|
||
|
# Corresponds to the JSON property `labels`
|
||
|
# @return [Hash<String,String>]
|
||
|
attr_accessor :labels
|
||
|
|
||
|
# The license type to use in OS adaptation.
|
||
|
# Corresponds to the JSON property `licenseType`
|
||
|
# @return [String]
|
||
|
attr_accessor :license_type
|
||
|
|
||
|
# The machine type to create the VM with.
|
||
|
# Corresponds to the JSON property `machineType`
|
||
|
# @return [String]
|
||
|
attr_accessor :machine_type
|
||
|
|
||
|
# The machine type series to create the VM with.
|
||
|
# Corresponds to the JSON property `machineTypeSeries`
|
||
|
# @return [String]
|
||
|
attr_accessor :machine_type_series
|
||
|
|
||
|
# The metadata key/value pairs to assign to the VM.
|
||
|
# Corresponds to the JSON property `metadata`
|
||
|
# @return [Hash<String,String>]
|
||
|
attr_accessor :metadata
|
||
|
|
||
|
# The name of the VM to create.
|
||
|
# Corresponds to the JSON property `name`
|
||
|
# @return [String]
|
||
|
attr_accessor :name
|
||
|
|
||
|
# The network to connect the VM to.
|
||
|
# Corresponds to the JSON property `network`
|
||
|
# @return [String]
|
||
|
attr_accessor :network
|
||
|
|
||
|
# List of NICs connected to this VM.
|
||
|
# Corresponds to the JSON property `networkInterfaces`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::NetworkInterface>]
|
||
|
attr_accessor :network_interfaces
|
||
|
|
||
|
# A map of network tags to associate with the VM.
|
||
|
# Corresponds to the JSON property `networkTags`
|
||
|
# @return [Array<String>]
|
||
|
attr_accessor :network_tags
|
||
|
|
||
|
# Output only. The project in which to create the VM.
|
||
|
# Corresponds to the JSON property `project`
|
||
|
# @return [String]
|
||
|
attr_accessor :project
|
||
|
|
||
|
# Defines whether the instance has Secure Boot enabled. This can be set to true
|
||
|
# only if the vm boot option is EFI.
|
||
|
# Corresponds to the JSON property `secureBoot`
|
||
|
# @return [Boolean]
|
||
|
attr_accessor :secure_boot
|
||
|
alias_method :secure_boot?, :secure_boot
|
||
|
|
||
|
# The service account to associate the VM with.
|
||
|
# Corresponds to the JSON property `serviceAccount`
|
||
|
# @return [String]
|
||
|
attr_accessor :service_account
|
||
|
|
||
|
# The subnetwork to connect the VM to.
|
||
|
# Corresponds to the JSON property `subnetwork`
|
||
|
# @return [String]
|
||
|
attr_accessor :subnetwork
|
||
|
|
||
|
# The full path of the resource of type TargetProject which represents the
|
||
|
# Compute Engine project in which to create this VM.
|
||
|
# Corresponds to the JSON property `targetProject`
|
||
|
# @return [String]
|
||
|
attr_accessor :target_project
|
||
|
|
||
|
# The zone in which to create the VM.
|
||
|
# Corresponds to the JSON property `zone`
|
||
|
# @return [String]
|
||
|
attr_accessor :zone
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@applied_license = args[:applied_license] if args.key?(:applied_license)
|
||
|
@boot_option = args[:boot_option] if args.key?(:boot_option)
|
||
|
@compute_scheduling = args[:compute_scheduling] if args.key?(:compute_scheduling)
|
||
|
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
||
|
@external_ip = args[:external_ip] if args.key?(:external_ip)
|
||
|
@internal_ip = args[:internal_ip] if args.key?(:internal_ip)
|
||
|
@labels = args[:labels] if args.key?(:labels)
|
||
|
@license_type = args[:license_type] if args.key?(:license_type)
|
||
|
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
||
|
@machine_type_series = args[:machine_type_series] if args.key?(:machine_type_series)
|
||
|
@metadata = args[:metadata] if args.key?(:metadata)
|
||
|
@name = args[:name] if args.key?(:name)
|
||
|
@network = args[:network] if args.key?(:network)
|
||
|
@network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
|
||
|
@network_tags = args[:network_tags] if args.key?(:network_tags)
|
||
|
@project = args[:project] if args.key?(:project)
|
||
|
@secure_boot = args[:secure_boot] if args.key?(:secure_boot)
|
||
|
@service_account = args[:service_account] if args.key?(:service_account)
|
||
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
||
|
@target_project = args[:target_project] if args.key?(:target_project)
|
||
|
@zone = args[:zone] if args.key?(:zone)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Request message for 'UpgradeAppliance' request.
|
||
|
class UpgradeApplianceRequest
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# A request ID to identify requests. Specify a unique request ID so that if you
|
||
|
# must retry your request, the server will know to ignore the request if it has
|
||
|
# already been completed. The server will guarantee that for at least 60 minutes
|
||
|
# after the first request. For example, consider a situation where you make an
|
||
|
# initial request and t he request times out. If you make the request again with
|
||
|
# the same request ID, the server can check if original operation with the same
|
||
|
# request ID was received, and if so, will ignore the second request. This
|
||
|
# prevents clients from accidentally creating duplicate commitments. The request
|
||
|
# ID must be a valid UUID with the exception that zero UUID is not supported (
|
||
|
# 00000000-0000-0000-0000-000000000000).
|
||
|
# Corresponds to the JSON property `requestId`
|
||
|
# @return [String]
|
||
|
attr_accessor :request_id
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@request_id = args[:request_id] if args.key?(:request_id)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# UpgradeStatus contains information about upgradeAppliance operation.
|
||
|
class UpgradeStatus
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# The `Status` type defines a logical error model that is suitable for different
|
||
|
# programming environments, including REST APIs and RPC APIs. It is used by [
|
||
|
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
||
|
# data: error code, error message, and error details. You can find out more
|
||
|
# about this error model and how to work with it in the [API Design Guide](https:
|
||
|
# //cloud.google.com/apis/design/errors).
|
||
|
# Corresponds to the JSON property `error`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::Status]
|
||
|
attr_accessor :error
|
||
|
|
||
|
# The version from which we upgraded.
|
||
|
# Corresponds to the JSON property `previousVersion`
|
||
|
# @return [String]
|
||
|
attr_accessor :previous_version
|
||
|
|
||
|
# The time the operation was started.
|
||
|
# Corresponds to the JSON property `startTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :start_time
|
||
|
|
||
|
# The state of the upgradeAppliance operation.
|
||
|
# Corresponds to the JSON property `state`
|
||
|
# @return [String]
|
||
|
attr_accessor :state
|
||
|
|
||
|
# The version to upgrade to.
|
||
|
# Corresponds to the JSON property `version`
|
||
|
# @return [String]
|
||
|
attr_accessor :version
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@error = args[:error] if args.key?(:error)
|
||
|
@previous_version = args[:previous_version] if args.key?(:previous_version)
|
||
|
@start_time = args[:start_time] if args.key?(:start_time)
|
||
|
@state = args[:state] if args.key?(:state)
|
||
|
@version = args[:version] if args.key?(:version)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Utilization report details the utilization (CPU, memory, etc.) of selected
|
||
|
# source VMs.
|
||
|
class UtilizationReport
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Output only. The time the report was created (this refers to the time of the
|
||
|
# request, not the time the report creation completed).
|
||
|
# Corresponds to the JSON property `createTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :create_time
|
||
|
|
||
|
# The report display name, as assigned by the user.
|
||
|
# Corresponds to the JSON property `displayName`
|
||
|
# @return [String]
|
||
|
attr_accessor :display_name
|
||
|
|
||
|
# The `Status` type defines a logical error model that is suitable for different
|
||
|
# programming environments, including REST APIs and RPC APIs. It is used by [
|
||
|
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
||
|
# data: error code, error message, and error details. You can find out more
|
||
|
# about this error model and how to work with it in the [API Design Guide](https:
|
||
|
# //cloud.google.com/apis/design/errors).
|
||
|
# Corresponds to the JSON property `error`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::Status]
|
||
|
attr_accessor :error
|
||
|
|
||
|
# Output only. The point in time when the time frame ends. Notice that the time
|
||
|
# frame is counted backwards. For instance if the "frame_end_time" value is 2021/
|
||
|
# 01/20 and the time frame is WEEK then the report covers the week between 2021/
|
||
|
# 01/20 and 2021/01/14.
|
||
|
# Corresponds to the JSON property `frameEndTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :frame_end_time
|
||
|
|
||
|
# Output only. The report unique name.
|
||
|
# Corresponds to the JSON property `name`
|
||
|
# @return [String]
|
||
|
attr_accessor :name
|
||
|
|
||
|
# Output only. Current state of the report.
|
||
|
# Corresponds to the JSON property `state`
|
||
|
# @return [String]
|
||
|
attr_accessor :state
|
||
|
|
||
|
# Output only. The time the state was last set.
|
||
|
# Corresponds to the JSON property `stateTime`
|
||
|
# @return [String]
|
||
|
attr_accessor :state_time
|
||
|
|
||
|
# Time frame of the report.
|
||
|
# Corresponds to the JSON property `timeFrame`
|
||
|
# @return [String]
|
||
|
attr_accessor :time_frame
|
||
|
|
||
|
# Output only. Total number of VMs included in the report.
|
||
|
# Corresponds to the JSON property `vmCount`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :vm_count
|
||
|
|
||
|
# List of utilization information per VM. When sent as part of the request, the "
|
||
|
# vm_id" field is used in order to specify which VMs to include in the report.
|
||
|
# In that case all other fields are ignored.
|
||
|
# Corresponds to the JSON property `vms`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::VmUtilizationInfo>]
|
||
|
attr_accessor :vms
|
||
|
|
||
|
# Output only. Total number of VMs included in the report.
|
||
|
# Corresponds to the JSON property `vmsCount`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :vms_count
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@create_time = args[:create_time] if args.key?(:create_time)
|
||
|
@display_name = args[:display_name] if args.key?(:display_name)
|
||
|
@error = args[:error] if args.key?(:error)
|
||
|
@frame_end_time = args[:frame_end_time] if args.key?(:frame_end_time)
|
||
|
@name = args[:name] if args.key?(:name)
|
||
|
@state = args[:state] if args.key?(:state)
|
||
|
@state_time = args[:state_time] if args.key?(:state_time)
|
||
|
@time_frame = args[:time_frame] if args.key?(:time_frame)
|
||
|
@vm_count = args[:vm_count] if args.key?(:vm_count)
|
||
|
@vms = args[:vms] if args.key?(:vms)
|
||
|
@vms_count = args[:vms_count] if args.key?(:vms_count)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Utilization information of a single VM.
|
||
|
class VmUtilizationInfo
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Utilization metrics values for a single VM.
|
||
|
# Corresponds to the JSON property `utilization`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::VmUtilizationMetrics]
|
||
|
attr_accessor :utilization
|
||
|
|
||
|
# The VM's ID in the source.
|
||
|
# Corresponds to the JSON property `vmId`
|
||
|
# @return [String]
|
||
|
attr_accessor :vm_id
|
||
|
|
||
|
# VmwareVmDetails describes a VM in vCenter.
|
||
|
# Corresponds to the JSON property `vmwareVmDetails`
|
||
|
# @return [Google::Apis::VmmigrationV1alpha1::VmwareVmDetails]
|
||
|
attr_accessor :vmware_vm_details
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@utilization = args[:utilization] if args.key?(:utilization)
|
||
|
@vm_id = args[:vm_id] if args.key?(:vm_id)
|
||
|
@vmware_vm_details = args[:vmware_vm_details] if args.key?(:vmware_vm_details)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Utilization metrics values for a single VM.
|
||
|
class VmUtilizationMetrics
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Average CPU usage, percent.
|
||
|
# Corresponds to the JSON property `cpuAverage`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :cpu_average
|
||
|
|
||
|
# Average CPU usage, percent.
|
||
|
# Corresponds to the JSON property `cpuAveragePercent`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :cpu_average_percent
|
||
|
|
||
|
# Max CPU usage, percent.
|
||
|
# Corresponds to the JSON property `cpuMax`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :cpu_max
|
||
|
|
||
|
# Max CPU usage, percent.
|
||
|
# Corresponds to the JSON property `cpuMaxPercent`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :cpu_max_percent
|
||
|
|
||
|
# Average disk IO rate, in kilobytes per second.
|
||
|
# Corresponds to the JSON property `diskIoRateAverage`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :disk_io_rate_average
|
||
|
|
||
|
# Average disk IO rate, in kilobytes per second.
|
||
|
# Corresponds to the JSON property `diskIoRateAverageKbps`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :disk_io_rate_average_kbps
|
||
|
|
||
|
# Max disk IO rate, in kilobytes per second.
|
||
|
# Corresponds to the JSON property `diskIoRateMax`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :disk_io_rate_max
|
||
|
|
||
|
# Max disk IO rate, in kilobytes per second.
|
||
|
# Corresponds to the JSON property `diskIoRateMaxKbps`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :disk_io_rate_max_kbps
|
||
|
|
||
|
# Average memory usage, percent.
|
||
|
# Corresponds to the JSON property `memoryAverage`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :memory_average
|
||
|
|
||
|
# Average memory usage, percent.
|
||
|
# Corresponds to the JSON property `memoryAveragePercent`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :memory_average_percent
|
||
|
|
||
|
# Max memory usage, percent.
|
||
|
# Corresponds to the JSON property `memoryMax`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :memory_max
|
||
|
|
||
|
# Max memory usage, percent.
|
||
|
# Corresponds to the JSON property `memoryMaxPercent`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :memory_max_percent
|
||
|
|
||
|
# Average network throughput (combined transmit-rates and receive-rates), in
|
||
|
# kilobytes per second.
|
||
|
# Corresponds to the JSON property `networkThroughputAverage`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :network_throughput_average
|
||
|
|
||
|
# Average network throughput (combined transmit-rates and receive-rates), in
|
||
|
# kilobytes per second.
|
||
|
# Corresponds to the JSON property `networkThroughputAverageKbps`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :network_throughput_average_kbps
|
||
|
|
||
|
# Max network throughput (combined transmit-rates and receive-rates), in
|
||
|
# kilobytes per second.
|
||
|
# Corresponds to the JSON property `networkThroughputMax`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :network_throughput_max
|
||
|
|
||
|
# Max network throughput (combined transmit-rates and receive-rates), in
|
||
|
# kilobytes per second.
|
||
|
# Corresponds to the JSON property `networkThroughputMaxKbps`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :network_throughput_max_kbps
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@cpu_average = args[:cpu_average] if args.key?(:cpu_average)
|
||
|
@cpu_average_percent = args[:cpu_average_percent] if args.key?(:cpu_average_percent)
|
||
|
@cpu_max = args[:cpu_max] if args.key?(:cpu_max)
|
||
|
@cpu_max_percent = args[:cpu_max_percent] if args.key?(:cpu_max_percent)
|
||
|
@disk_io_rate_average = args[:disk_io_rate_average] if args.key?(:disk_io_rate_average)
|
||
|
@disk_io_rate_average_kbps = args[:disk_io_rate_average_kbps] if args.key?(:disk_io_rate_average_kbps)
|
||
|
@disk_io_rate_max = args[:disk_io_rate_max] if args.key?(:disk_io_rate_max)
|
||
|
@disk_io_rate_max_kbps = args[:disk_io_rate_max_kbps] if args.key?(:disk_io_rate_max_kbps)
|
||
|
@memory_average = args[:memory_average] if args.key?(:memory_average)
|
||
|
@memory_average_percent = args[:memory_average_percent] if args.key?(:memory_average_percent)
|
||
|
@memory_max = args[:memory_max] if args.key?(:memory_max)
|
||
|
@memory_max_percent = args[:memory_max_percent] if args.key?(:memory_max_percent)
|
||
|
@network_throughput_average = args[:network_throughput_average] if args.key?(:network_throughput_average)
|
||
|
@network_throughput_average_kbps = args[:network_throughput_average_kbps] if args.key?(:network_throughput_average_kbps)
|
||
|
@network_throughput_max = args[:network_throughput_max] if args.key?(:network_throughput_max)
|
||
|
@network_throughput_max_kbps = args[:network_throughput_max_kbps] if args.key?(:network_throughput_max_kbps)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# VmwareSourceDetails message describes a specific source details for the vmware
|
||
|
# source type.
|
||
|
class VmwareSourceDetails
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Input only. The credentials password. This is write only and can not be read
|
||
|
# in a GET operation.
|
||
|
# Corresponds to the JSON property `password`
|
||
|
# @return [String]
|
||
|
attr_accessor :password
|
||
|
|
||
|
# The thumbprint representing the certificate for the vcenter.
|
||
|
# Corresponds to the JSON property `thumbprint`
|
||
|
# @return [String]
|
||
|
attr_accessor :thumbprint
|
||
|
|
||
|
# The credentials username.
|
||
|
# Corresponds to the JSON property `username`
|
||
|
# @return [String]
|
||
|
attr_accessor :username
|
||
|
|
||
|
# The ip address of the vcenter this Source represents.
|
||
|
# Corresponds to the JSON property `vcenterIp`
|
||
|
# @return [String]
|
||
|
attr_accessor :vcenter_ip
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@password = args[:password] if args.key?(:password)
|
||
|
@thumbprint = args[:thumbprint] if args.key?(:thumbprint)
|
||
|
@username = args[:username] if args.key?(:username)
|
||
|
@vcenter_ip = args[:vcenter_ip] if args.key?(:vcenter_ip)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# VmwareVmDetails describes a VM in vCenter.
|
||
|
class VmwareVmDetails
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Output only. The VM Boot Option.
|
||
|
# Corresponds to the JSON property `bootOption`
|
||
|
# @return [String]
|
||
|
attr_accessor :boot_option
|
||
|
|
||
|
# The total size of the storage allocated to the VM in MB.
|
||
|
# Corresponds to the JSON property `committedStorage`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :committed_storage
|
||
|
|
||
|
# The total size of the storage allocated to the VM in MB.
|
||
|
# Corresponds to the JSON property `committedStorageMb`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :committed_storage_mb
|
||
|
|
||
|
# The number of cpus in the VM.
|
||
|
# Corresponds to the JSON property `cpuCount`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :cpu_count
|
||
|
|
||
|
# The descriptive name of the vCenter's datacenter this VM is contained in.
|
||
|
# Corresponds to the JSON property `datacenterDescription`
|
||
|
# @return [String]
|
||
|
attr_accessor :datacenter_description
|
||
|
|
||
|
# The id of the vCenter's datacenter this VM is contained in.
|
||
|
# Corresponds to the JSON property `datacenterId`
|
||
|
# @return [String]
|
||
|
attr_accessor :datacenter_id
|
||
|
|
||
|
# The number of disks the VM has.
|
||
|
# Corresponds to the JSON property `diskCount`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :disk_count
|
||
|
|
||
|
# The display name of the VM. Note that this is not necessarily unique.
|
||
|
# Corresponds to the JSON property `displayName`
|
||
|
# @return [String]
|
||
|
attr_accessor :display_name
|
||
|
|
||
|
# The VM's OS. See for example https://vdc-repo.vmware.com/vmwb-repository/dcr-
|
||
|
# public/da47f910-60ac-438b-8b9b-6122f4d14524/16b7274a-bf8b-4b4c-a05e-
|
||
|
# 746f2aa93c8c/doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html for types of
|
||
|
# strings this might hold.
|
||
|
# Corresponds to the JSON property `guestDescription`
|
||
|
# @return [String]
|
||
|
attr_accessor :guest_description
|
||
|
|
||
|
# The size of the memory of the VM in MB.
|
||
|
# Corresponds to the JSON property `memoryMb`
|
||
|
# @return [Fixnum]
|
||
|
attr_accessor :memory_mb
|
||
|
|
||
|
# The power state of the VM at the moment list was taken.
|
||
|
# Corresponds to the JSON property `powerState`
|
||
|
# @return [String]
|
||
|
attr_accessor :power_state
|
||
|
|
||
|
# The unique identifier of the VM in vCenter.
|
||
|
# Corresponds to the JSON property `uuid`
|
||
|
# @return [String]
|
||
|
attr_accessor :uuid
|
||
|
|
||
|
# The VM's id in the source (note that this is not the MigratingVm's id). This
|
||
|
# is the moref id of the VM.
|
||
|
# Corresponds to the JSON property `vmId`
|
||
|
# @return [String]
|
||
|
attr_accessor :vm_id
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@boot_option = args[:boot_option] if args.key?(:boot_option)
|
||
|
@committed_storage = args[:committed_storage] if args.key?(:committed_storage)
|
||
|
@committed_storage_mb = args[:committed_storage_mb] if args.key?(:committed_storage_mb)
|
||
|
@cpu_count = args[:cpu_count] if args.key?(:cpu_count)
|
||
|
@datacenter_description = args[:datacenter_description] if args.key?(:datacenter_description)
|
||
|
@datacenter_id = args[:datacenter_id] if args.key?(:datacenter_id)
|
||
|
@disk_count = args[:disk_count] if args.key?(:disk_count)
|
||
|
@display_name = args[:display_name] if args.key?(:display_name)
|
||
|
@guest_description = args[:guest_description] if args.key?(:guest_description)
|
||
|
@memory_mb = args[:memory_mb] if args.key?(:memory_mb)
|
||
|
@power_state = args[:power_state] if args.key?(:power_state)
|
||
|
@uuid = args[:uuid] if args.key?(:uuid)
|
||
|
@vm_id = args[:vm_id] if args.key?(:vm_id)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# VmwareVmsDetails describes VMs in vCenter.
|
||
|
class VmwareVmsDetails
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# The details of the vmware VMs.
|
||
|
# Corresponds to the JSON property `details`
|
||
|
# @return [Array<Google::Apis::VmmigrationV1alpha1::VmwareVmDetails>]
|
||
|
attr_accessor :details
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@details = args[:details] if args.key?(:details)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|