# frozen_string_literal: true # Copyright 2021 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 # # https://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. # Auto-generated by gapic-generator-ruby. DO NOT EDIT! module Google module Cloud module VMMigration module V1 # ReplicationCycle contains information about the current replication cycle # status. # @!attribute [rw] name # @return [::String] # The identifier of the ReplicationCycle. # @!attribute [rw] cycle_number # @return [::Integer] # The cycle's ordinal number. # @!attribute [rw] start_time # @return [::Google::Protobuf::Timestamp] # The time the replication cycle has started. # @!attribute [rw] end_time # @return [::Google::Protobuf::Timestamp] # The time the replication cycle has ended. # @!attribute [rw] total_pause_duration # @return [::Google::Protobuf::Duration] # The accumulated duration the replication cycle was paused. # @!attribute [rw] progress_percent # @return [::Integer] # The current progress in percentage of this cycle. # Was replaced by 'steps' field, which breaks down the cycle progression more # accurately. # @!attribute [rw] steps # @return [::Array<::Google::Cloud::VMMigration::V1::CycleStep>] # The cycle's steps list representing its progress. # @!attribute [rw] state # @return [::Google::Cloud::VMMigration::V1::ReplicationCycle::State] # State of the ReplicationCycle. # @!attribute [rw] error # @return [::Google::Rpc::Status] # Provides details on the state of the cycle in case of an error. class ReplicationCycle include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Possible states of a replication cycle. module State # The state is unknown. This is used for API compatibility only and is not # used by the system. STATE_UNSPECIFIED = 0 # The replication cycle is running. RUNNING = 1 # The replication cycle is paused. PAUSED = 2 # The replication cycle finished with errors. FAILED = 3 # The replication cycle finished successfully. SUCCEEDED = 4 end end # CycleStep holds information about a step progress. # @!attribute [rw] initializing_replication # @return [::Google::Cloud::VMMigration::V1::InitializingReplicationStep] # Initializing replication step. # @!attribute [rw] replicating # @return [::Google::Cloud::VMMigration::V1::ReplicatingStep] # Replicating step. # @!attribute [rw] post_processing # @return [::Google::Cloud::VMMigration::V1::PostProcessingStep] # Post processing step. # @!attribute [rw] start_time # @return [::Google::Protobuf::Timestamp] # The time the cycle step has started. # @!attribute [rw] end_time # @return [::Google::Protobuf::Timestamp] # The time the cycle step has ended. class CycleStep include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # InitializingReplicationStep contains specific step details. class InitializingReplicationStep include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # ReplicatingStep contains specific step details. # @!attribute [rw] total_bytes # @return [::Integer] # Total bytes to be handled in the step. # @!attribute [rw] replicated_bytes # @return [::Integer] # Replicated bytes in the step. # @!attribute [rw] last_two_minutes_average_bytes_per_second # @return [::Integer] # The source disks replication rate for the last 2 minutes in bytes per # second. # @!attribute [rw] last_thirty_minutes_average_bytes_per_second # @return [::Integer] # The source disks replication rate for the last 30 minutes in bytes per # second. class ReplicatingStep include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # PostProcessingStep contains specific step details. class PostProcessingStep include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # ReplicationSync contain information about the last replica sync to the cloud. # @!attribute [rw] last_sync_time # @return [::Google::Protobuf::Timestamp] # The most updated snapshot created time in the source that finished # replication. class ReplicationSync include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # MigratingVm describes the VM that will be migrated from a Source environment # and its replication state. # @!attribute [rw] compute_engine_target_defaults # @return [::Google::Cloud::VMMigration::V1::ComputeEngineTargetDefaults] # Details of the target VM in Compute Engine. # @!attribute [r] aws_source_vm_details # @return [::Google::Cloud::VMMigration::V1::AwsSourceVmDetails] # Output only. Details of the VM from an AWS source. # @!attribute [r] name # @return [::String] # Output only. The identifier of the MigratingVm. # @!attribute [rw] source_vm_id # @return [::String] # 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-. # @!attribute [rw] display_name # @return [::String] # The display name attached to the MigratingVm by the user. # @!attribute [rw] description # @return [::String] # The description attached to the migrating VM by the user. # @!attribute [rw] policy # @return [::Google::Cloud::VMMigration::V1::SchedulePolicy] # The replication schedule policy. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # 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). # @!attribute [r] update_time # @return [::Google::Protobuf::Timestamp] # Output only. The last time the migrating VM resource was updated. # @!attribute [r] last_sync # @return [::Google::Cloud::VMMigration::V1::ReplicationSync] # Output only. The most updated snapshot created time in the source that # finished replication. # @!attribute [r] state # @return [::Google::Cloud::VMMigration::V1::MigratingVm::State] # Output only. State of the MigratingVm. # @!attribute [r] state_time # @return [::Google::Protobuf::Timestamp] # Output only. The last time the migrating VM state was updated. # @!attribute [r] current_sync_info # @return [::Google::Cloud::VMMigration::V1::ReplicationCycle] # Output only. The percentage progress of the current running replication # cycle. # @!attribute [r] group # @return [::String] # Output only. The group this migrating vm is included in, if any. The group # is represented by the full path of the appropriate # {::Google::Cloud::VMMigration::V1::Group Group} resource. # @!attribute [rw] labels # @return [::Google::Protobuf::Map{::String => ::String}] # The labels of the migrating VM. # @!attribute [r] recent_clone_jobs # @return [::Array<::Google::Cloud::VMMigration::V1::CloneJob>] # Output only. The recent {::Google::Cloud::VMMigration::V1::CloneJob 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. # @!attribute [r] error # @return [::Google::Rpc::Status] # Output only. Provides details on the state of the Migrating VM in case of # an error in replication. # @!attribute [r] recent_cutover_jobs # @return [::Array<::Google::Cloud::VMMigration::V1::CutoverJob>] # 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. class MigratingVm include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class LabelsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The possible values of the state/health of source VM. module State # The state was not sampled by the health checks yet. STATE_UNSPECIFIED = 0 # The VM in the source is being verified. PENDING = 1 # The source VM was verified, and it's ready to start replication. READY = 2 # Migration is going through the first sync cycle. FIRST_SYNC = 3 # The replication is active, and it's running or scheduled to run. ACTIVE = 4 # The source VM is being turned off, and a final replication is currently # running. CUTTING_OVER = 7 # The source VM was stopped and replicated. The replication is currently # paused. CUTOVER = 8 # A cutover job is active and replication cycle is running the final sync. FINAL_SYNC = 9 # The replication was paused by the user and no cycles are scheduled to # run. PAUSED = 10 # The migrating VM is being finalized and migration resources are being # removed. FINALIZING = 11 # The replication process is done. The migrating VM is finalized and no # longer consumes billable resources. FINALIZED = 12 # The replication process encountered an unrecoverable error and was # aborted. ERROR = 13 end end # CloneJob describes the process of creating a clone of a # {::Google::Cloud::VMMigration::V1::MigratingVm 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. # @!attribute [r] compute_engine_target_details # @return [::Google::Cloud::VMMigration::V1::ComputeEngineTargetDetails] # Output only. Details of the target VM in Compute Engine. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. The time the clone job was created (as an API call, not when # it was actually created in the target). # @!attribute [r] end_time # @return [::Google::Protobuf::Timestamp] # Output only. The time the clone job was ended. # @!attribute [r] name # @return [::String] # Output only. The name of the clone. # @!attribute [r] state # @return [::Google::Cloud::VMMigration::V1::CloneJob::State] # Output only. State of the clone job. # @!attribute [r] state_time # @return [::Google::Protobuf::Timestamp] # Output only. The time the state was last updated. # @!attribute [r] error # @return [::Google::Rpc::Status] # Output only. Provides details for the errors that led to the Clone Job's # state. # @!attribute [r] steps # @return [::Array<::Google::Cloud::VMMigration::V1::CloneStep>] # Output only. The clone steps list representing its progress. class CloneJob include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Possible states of the clone job. module State # The state is unknown. This is used for API compatibility only and is not # used by the system. STATE_UNSPECIFIED = 0 # The clone job has not yet started. PENDING = 1 # The clone job is active and running. ACTIVE = 2 # The clone job finished with errors. FAILED = 3 # The clone job finished successfully. SUCCEEDED = 4 # The clone job was cancelled. CANCELLED = 5 # The clone job is being cancelled. CANCELLING = 6 # OS adaptation is running as part of the clone job to generate license. ADAPTING_OS = 7 end end # CloneStep holds information about the clone step progress. # @!attribute [rw] adapting_os # @return [::Google::Cloud::VMMigration::V1::AdaptingOSStep] # Adapting OS step. # @!attribute [rw] preparing_vm_disks # @return [::Google::Cloud::VMMigration::V1::PreparingVMDisksStep] # Preparing VM disks step. # @!attribute [rw] instantiating_migrated_vm # @return [::Google::Cloud::VMMigration::V1::InstantiatingMigratedVMStep] # Instantiating migrated VM step. # @!attribute [rw] start_time # @return [::Google::Protobuf::Timestamp] # The time the step has started. # @!attribute [rw] end_time # @return [::Google::Protobuf::Timestamp] # The time the step has ended. class CloneStep include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # AdaptingOSStep contains specific step details. class AdaptingOSStep include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # PreparingVMDisksStep contains specific step details. class PreparingVMDisksStep include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # InstantiatingMigratedVMStep contains specific step details. class InstantiatingMigratedVMStep include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods 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. # @!attribute [r] compute_engine_target_details # @return [::Google::Cloud::VMMigration::V1::ComputeEngineTargetDetails] # Output only. Details of the target VM in Compute Engine. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. The time the cutover job was created (as an API call, not when # it was actually created in the target). # @!attribute [r] end_time # @return [::Google::Protobuf::Timestamp] # Output only. The time the cutover job had finished. # @!attribute [r] name # @return [::String] # Output only. The name of the cutover job. # @!attribute [r] state # @return [::Google::Cloud::VMMigration::V1::CutoverJob::State] # Output only. State of the cutover job. # @!attribute [r] state_time # @return [::Google::Protobuf::Timestamp] # Output only. The time the state was last updated. # @!attribute [r] progress_percent # @return [::Integer] # Output only. The current progress in percentage of the cutover job. # @!attribute [r] error # @return [::Google::Rpc::Status] # Output only. Provides details for the errors that led to the Cutover Job's # state. # @!attribute [r] state_message # @return [::String] # Output only. A message providing possible extra details about the current # state. # @!attribute [r] steps # @return [::Array<::Google::Cloud::VMMigration::V1::CutoverStep>] # Output only. The cutover steps list representing its progress. class CutoverJob include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Possible states of the cutover job. module State # The state is unknown. This is used for API compatibility only and is not # used by the system. STATE_UNSPECIFIED = 0 # The cutover job has not yet started. PENDING = 1 # The cutover job finished with errors. FAILED = 2 # The cutover job finished successfully. SUCCEEDED = 3 # The cutover job was cancelled. CANCELLED = 4 # The cutover job is being cancelled. CANCELLING = 5 # The cutover job is active and running. ACTIVE = 6 # OS adaptation is running as part of the cutover job to generate license. ADAPTING_OS = 7 end end # CutoverStep holds information about the cutover step progress. # @!attribute [rw] previous_replication_cycle # @return [::Google::Cloud::VMMigration::V1::ReplicationCycle] # A replication cycle prior cutover step. # @!attribute [rw] shutting_down_source_vm # @return [::Google::Cloud::VMMigration::V1::ShuttingDownSourceVMStep] # Shutting down VM step. # @!attribute [rw] final_sync # @return [::Google::Cloud::VMMigration::V1::ReplicationCycle] # Final sync step. # @!attribute [rw] preparing_vm_disks # @return [::Google::Cloud::VMMigration::V1::PreparingVMDisksStep] # Preparing VM disks step. # @!attribute [rw] instantiating_migrated_vm # @return [::Google::Cloud::VMMigration::V1::InstantiatingMigratedVMStep] # Instantiating migrated VM step. # @!attribute [rw] start_time # @return [::Google::Protobuf::Timestamp] # The time the step has started. # @!attribute [rw] end_time # @return [::Google::Protobuf::Timestamp] # The time the step has ended. class CutoverStep include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # ShuttingDownSourceVMStep contains specific step details. class ShuttingDownSourceVMStep include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'CreateCloneJob' request. # @!attribute [rw] parent # @return [::String] # Required. The Clone's parent. # @!attribute [rw] clone_job_id # @return [::String] # Required. The clone job identifier. # @!attribute [rw] clone_job # @return [::Google::Cloud::VMMigration::V1::CloneJob] # Required. The clone request body. # @!attribute [rw] request_id # @return [::String] # 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 since 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). class CreateCloneJobRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'CancelCloneJob' request. # @!attribute [rw] name # @return [::String] # Required. The clone job id class CancelCloneJobRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for 'CancelCloneJob' request. class CancelCloneJobResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'ListCloneJobsRequest' request. # @!attribute [rw] parent # @return [::String] # Required. The parent, which owns this collection of source VMs. # @!attribute [rw] page_size # @return [::Integer] # Optional. The maximum number of clone jobs to return. The service may # return fewer than this value. If unspecified, at most 500 clone jobs will # be returned. The maximum value is 1000; values above 1000 will be coerced # to 1000. # @!attribute [rw] page_token # @return [::String] # Required. A page token, received from a previous `ListCloneJobs` call. # Provide this to retrieve the subsequent page. # # When paginating, all other parameters provided to `ListCloneJobs` must # match the call that provided the page token. # @!attribute [rw] filter # @return [::String] # Optional. The filter request. # @!attribute [rw] order_by # @return [::String] # Optional. the order by fields for the result. class ListCloneJobsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for 'ListCloneJobs' request. # @!attribute [r] clone_jobs # @return [::Array<::Google::Cloud::VMMigration::V1::CloneJob>] # Output only. The list of clone jobs response. # @!attribute [r] next_page_token # @return [::String] # 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. # @!attribute [r] unreachable # @return [::Array<::String>] # Output only. Locations that could not be reached. class ListCloneJobsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'GetCloneJob' request. # @!attribute [rw] name # @return [::String] # Required. The name of the CloneJob. class GetCloneJobRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Source message describes a specific vm migration Source resource. It contains # the source environment information. # @!attribute [rw] vmware # @return [::Google::Cloud::VMMigration::V1::VmwareSourceDetails] # Vmware type source details. # @!attribute [rw] aws # @return [::Google::Cloud::VMMigration::V1::AwsSourceDetails] # AWS type source details. # @!attribute [r] name # @return [::String] # Output only. The Source name. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. The create time timestamp. # @!attribute [r] update_time # @return [::Google::Protobuf::Timestamp] # Output only. The update time timestamp. # @!attribute [rw] labels # @return [::Google::Protobuf::Map{::String => ::String}] # The labels of the source. # @!attribute [rw] description # @return [::String] # User-provided description of the source. class Source include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class LabelsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end # VmwareSourceDetails message describes a specific source details for the # vmware source type. # @!attribute [rw] username # @return [::String] # The credentials username. # @!attribute [rw] password # @return [::String] # Input only. The credentials password. This is write only and can not be # read in a GET operation. # @!attribute [rw] vcenter_ip # @return [::String] # The ip address of the vcenter this Source represents. # @!attribute [rw] thumbprint # @return [::String] # The thumbprint representing the certificate for the vcenter. class VmwareSourceDetails include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # AwsSourceDetails message describes a specific source details for the # AWS source type. # @!attribute [rw] access_key_creds # @return [::Google::Cloud::VMMigration::V1::AwsSourceDetails::AccessKeyCredentials] # AWS Credentials using access key id and secret. # @!attribute [rw] aws_region # @return [::String] # Immutable. The AWS region that the source VMs will be migrated from. # @!attribute [r] state # @return [::Google::Cloud::VMMigration::V1::AwsSourceDetails::State] # Output only. State of the source as determined by the health check. # @!attribute [r] error # @return [::Google::Rpc::Status] # Output only. Provides details on the state of the Source in case of an # error. # @!attribute [rw] inventory_tag_list # @return [::Array<::Google::Cloud::VMMigration::V1::AwsSourceDetails::Tag>] # AWS resource tags to limit the scope of the source inventory. # @!attribute [rw] inventory_security_group_names # @return [::Array<::String>] # AWS security group names to limit the scope of the source # inventory. # @!attribute [rw] migration_resources_user_tags # @return [::Google::Protobuf::Map{::String => ::String}] # User specified tags to add to every M2VM generated resource in AWS. # These tags will be set in addition to the default tags that are set as part # of the migration process. The tags must not begin with the reserved prefix # `m2vm`. # @!attribute [r] public_ip # @return [::String] # Output only. The source's public IP. All communication initiated by this # source will originate from this IP. class AwsSourceDetails include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Message describing AWS Credentials using access key id and secret. # @!attribute [rw] access_key_id # @return [::String] # AWS access key ID. # @!attribute [rw] secret_access_key # @return [::String] # Input only. AWS secret access key. class AccessKeyCredentials include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Tag is an AWS tag representation. # @!attribute [rw] key # @return [::String] # Key of tag. # @!attribute [rw] value # @return [::String] # Value of tag. class Tag include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class MigrationResourcesUserTagsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The possible values of the state. module State # The state is unknown. This is used for API compatibility only and is not # used by the system. STATE_UNSPECIFIED = 0 # The state was not sampled by the health checks yet. PENDING = 1 # The source is available but might not be usable yet due to invalid # credentials or another reason. # The error message will contain further details. FAILED = 2 # The source exists and its credentials were verified. ACTIVE = 3 end end # DatacenterConnector message describes a connector between the Source and # Google Cloud, which is installed on a vmware datacenter (an OVA vm installed # by the user) to connect the Datacenter to Google Cloud and support vm # migration data transfer. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. The time the connector was created (as an API call, not when # it was actually installed). # @!attribute [r] update_time # @return [::Google::Protobuf::Timestamp] # Output only. The last time the connector was updated with an API call. # @!attribute [r] name # @return [::String] # Output only. The connector's name. # @!attribute [rw] registration_id # @return [::String] # 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. # @!attribute [rw] service_account # @return [::String] # The service account to use in the connector when communicating with the # cloud. # @!attribute [rw] version # @return [::String] # The version running in the DatacenterConnector. This is supplied by the OVA # connector during the registration process and can not be modified. # @!attribute [r] bucket # @return [::String] # Output only. The communication channel between the datacenter connector and # Google Cloud. # @!attribute [r] state # @return [::Google::Cloud::VMMigration::V1::DatacenterConnector::State] # Output only. State of the DatacenterConnector, as determined by the health # checks. # @!attribute [r] state_time # @return [::Google::Protobuf::Timestamp] # Output only. The time the state was last set. # @!attribute [r] error # @return [::Google::Rpc::Status] # Output only. Provides details on the state of the Datacenter Connector in # case of an error. # @!attribute [r] appliance_infrastructure_version # @return [::String] # 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. # @!attribute [r] appliance_software_version # @return [::String] # Output only. Appliance last installed update bundle version. # This is the version of the automatically updatable components on the # appliance. # @!attribute [r] available_versions # @return [::Google::Cloud::VMMigration::V1::AvailableUpdates] # Output only. The available versions for updating this appliance. # @!attribute [r] upgrade_status # @return [::Google::Cloud::VMMigration::V1::UpgradeStatus] # Output only. The status of the current / last upgradeAppliance operation. class DatacenterConnector include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # The possible values of the state. module State # The state is unknown. This is used for API compatibility only and is not # used by the system. STATE_UNSPECIFIED = 0 # The state was not sampled by the health checks yet. PENDING = 1 # The source was sampled by health checks and is not available. OFFLINE = 2 # The source is available but might not be usable yet due to unvalidated # credentials or another reason. The credentials referred to are the ones # to the Source. The error message will contain further details. FAILED = 3 # The source exists and its credentials were verified. ACTIVE = 4 end end # UpgradeStatus contains information about upgradeAppliance operation. # @!attribute [rw] version # @return [::String] # The version to upgrade to. # @!attribute [rw] state # @return [::Google::Cloud::VMMigration::V1::UpgradeStatus::State] # The state of the upgradeAppliance operation. # @!attribute [rw] error # @return [::Google::Rpc::Status] # Provides details on the state of the upgrade operation in case of an error. # @!attribute [rw] start_time # @return [::Google::Protobuf::Timestamp] # The time the operation was started. # @!attribute [rw] previous_version # @return [::String] # The version from which we upgraded. class UpgradeStatus include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # The possible values of the state. module State # The state was not sampled by the health checks yet. STATE_UNSPECIFIED = 0 # The upgrade has started. RUNNING = 1 # The upgrade failed. FAILED = 2 # The upgrade finished successfully. SUCCEEDED = 3 end end # Holds informatiom about the available versions for upgrade. # @!attribute [rw] new_deployable_appliance # @return [::Google::Cloud::VMMigration::V1::ApplianceVersion] # The newest deployable version of the appliance. # The current appliance can't be updated into this version, and the owner # must manually deploy this OVA to a new appliance. # @!attribute [rw] in_place_update # @return [::Google::Cloud::VMMigration::V1::ApplianceVersion] # The latest version for in place update. # The current appliance can be updated to this version using the API or m4c # CLI. class AvailableUpdates include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Describes an appliance version. # @!attribute [rw] version # @return [::String] # The appliance version. # @!attribute [rw] uri # @return [::String] # A link for downloading the version. # @!attribute [rw] critical # @return [::Boolean] # Determine whether it's critical to upgrade the appliance to this version. # @!attribute [rw] release_notes_uri # @return [::String] # Link to a page that contains the version release notes. class ApplianceVersion include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'ListSources' request. # @!attribute [rw] parent # @return [::String] # Required. The parent, which owns this collection of sources. # @!attribute [rw] page_size # @return [::Integer] # Optional. The maximum number of sources to return. The service may return # fewer than this value. If unspecified, at most 500 sources will be # returned. The maximum value is 1000; values above 1000 will be coerced to # 1000. # @!attribute [rw] page_token # @return [::String] # Required. A page token, received from a previous `ListSources` call. # Provide this to retrieve the subsequent page. # # When paginating, all other parameters provided to `ListSources` must # match the call that provided the page token. # @!attribute [rw] filter # @return [::String] # Optional. The filter request. # @!attribute [rw] order_by # @return [::String] # Optional. the order by fields for the result. class ListSourcesRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for 'ListSources' request. # @!attribute [r] sources # @return [::Array<::Google::Cloud::VMMigration::V1::Source>] # Output only. The list of sources response. # @!attribute [r] next_page_token # @return [::String] # 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. # @!attribute [r] unreachable # @return [::Array<::String>] # Output only. Locations that could not be reached. class ListSourcesResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'GetSource' request. # @!attribute [rw] name # @return [::String] # Required. The Source name. class GetSourceRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'CreateSource' request. # @!attribute [rw] parent # @return [::String] # Required. The Source's parent. # @!attribute [rw] source_id # @return [::String] # Required. The source identifier. # @!attribute [rw] source # @return [::Google::Cloud::VMMigration::V1::Source] # Required. The create request body. # @!attribute [rw] request_id # @return [::String] # 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 since 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). class CreateSourceRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Update message for 'UpdateSources' request. # @!attribute [rw] update_mask # @return [::Google::Protobuf::FieldMask] # Field mask is used to specify the fields to be overwritten in the # Source resource by the update. # The fields specified in the update_mask are relative to the resource, not # the full request. A field will be overwritten if it is in the mask. If the # user does not provide a mask then all fields will be overwritten. # @!attribute [rw] source # @return [::Google::Cloud::VMMigration::V1::Source] # Required. The update request body. # @!attribute [rw] request_id # @return [::String] # 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 since 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). class UpdateSourceRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'DeleteSource' request. # @!attribute [rw] name # @return [::String] # Required. The Source name. # @!attribute [rw] request_id # @return [::String] # Optional. 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). class DeleteSourceRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for # {::Google::Cloud::VMMigration::V1::VMMigration::Client#fetch_inventory fetchInventory}. # @!attribute [rw] source # @return [::String] # Required. The name of the Source. # @!attribute [rw] force_refresh # @return [::Boolean] # If this flag is set to true, the source will be queried instead of using # cached results. Using this flag will make the call slower. class FetchInventoryRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # VmwareVmDetails describes a VM in vCenter. # @!attribute [rw] vm_id # @return [::String] # The VM's id in the source (note that this is not the MigratingVm's id). # This is the moref id of the VM. # @!attribute [rw] datacenter_id # @return [::String] # The id of the vCenter's datacenter this VM is contained in. # @!attribute [rw] datacenter_description # @return [::String] # The descriptive name of the vCenter's datacenter this VM is contained in. # @!attribute [rw] uuid # @return [::String] # The unique identifier of the VM in vCenter. # @!attribute [rw] display_name # @return [::String] # The display name of the VM. Note that this is not necessarily unique. # @!attribute [rw] power_state # @return [::Google::Cloud::VMMigration::V1::VmwareVmDetails::PowerState] # The power state of the VM at the moment list was taken. # @!attribute [rw] cpu_count # @return [::Integer] # The number of cpus in the VM. # @!attribute [rw] memory_mb # @return [::Integer] # The size of the memory of the VM in MB. # @!attribute [rw] disk_count # @return [::Integer] # The number of disks the VM has. # @!attribute [rw] committed_storage_mb # @return [::Integer] # The total size of the storage allocated to the VM in MB. # @!attribute [rw] guest_description # @return [::String] # 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. # @!attribute [r] boot_option # @return [::Google::Cloud::VMMigration::V1::VmwareVmDetails::BootOption] # Output only. The VM Boot Option. class VmwareVmDetails include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Possible values for the power state of the VM. module PowerState # Power state is not specified. POWER_STATE_UNSPECIFIED = 0 # The VM is turned ON. ON = 1 # The VM is turned OFF. OFF = 2 # The VM is suspended. This is similar to hibernation or sleep mode. SUSPENDED = 3 end # Possible values for vm boot option. module BootOption # The boot option is unknown. BOOT_OPTION_UNSPECIFIED = 0 # The boot option is EFI. EFI = 1 # The boot option is BIOS. BIOS = 2 end end # AwsVmDetails describes a VM in AWS. # @!attribute [rw] vm_id # @return [::String] # The VM ID in AWS. # @!attribute [rw] display_name # @return [::String] # The display name of the VM. Note that this value is not necessarily unique. # @!attribute [rw] source_id # @return [::String] # The id of the AWS's source this VM is connected to. # @!attribute [rw] source_description # @return [::String] # The descriptive name of the AWS's source this VM is connected to. # @!attribute [r] power_state # @return [::Google::Cloud::VMMigration::V1::AwsVmDetails::PowerState] # Output only. The power state of the VM at the moment list was taken. # @!attribute [rw] cpu_count # @return [::Integer] # The number of cpus the VM has. # @!attribute [rw] memory_mb # @return [::Integer] # The memory size of the VM in MB. # @!attribute [rw] disk_count # @return [::Integer] # The number of disks the VM has. # @!attribute [rw] committed_storage_mb # @return [::Integer] # The total size of the storage allocated to the VM in MB. # @!attribute [rw] os_description # @return [::String] # The VM's OS. # @!attribute [rw] boot_option # @return [::Google::Cloud::VMMigration::V1::AwsVmDetails::BootOption] # The VM Boot Option. # @!attribute [rw] instance_type # @return [::String] # The instance type of the VM. # @!attribute [rw] vpc_id # @return [::String] # The VPC ID the VM belongs to. # @!attribute [rw] security_groups # @return [::Array<::Google::Cloud::VMMigration::V1::AwsSecurityGroup>] # The security groups the VM belongs to. # @!attribute [rw] tags # @return [::Google::Protobuf::Map{::String => ::String}] # The tags of the VM. # @!attribute [rw] zone # @return [::String] # The AWS zone of the VM. # @!attribute [rw] virtualization_type # @return [::Google::Cloud::VMMigration::V1::AwsVmDetails::VmVirtualizationType] # The virtualization type. # @!attribute [rw] architecture # @return [::Google::Cloud::VMMigration::V1::AwsVmDetails::VmArchitecture] # The CPU architecture. class AwsVmDetails include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class TagsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Possible values for the power state of the VM. module PowerState # Power state is not specified. POWER_STATE_UNSPECIFIED = 0 # The VM is turned on. ON = 1 # The VM is turned off. OFF = 2 # The VM is suspended. This is similar to hibernation or sleep # mode. SUSPENDED = 3 # The VM is starting. PENDING = 4 end # The possible values for the vm boot option. module BootOption # The boot option is unknown. BOOT_OPTION_UNSPECIFIED = 0 # The boot option is UEFI. EFI = 1 # The boot option is LEGACY-BIOS. BIOS = 2 end # Possible values for the virtualization types of the VM. module VmVirtualizationType # The virtualization type is unknown. VM_VIRTUALIZATION_TYPE_UNSPECIFIED = 0 # The virtualziation type is HVM. HVM = 1 # The virtualziation type is PARAVIRTUAL. PARAVIRTUAL = 2 end # Possible values for the architectures of the VM. module VmArchitecture # The architecture is unknown. VM_ARCHITECTURE_UNSPECIFIED = 0 # The architecture is I386. I386 = 1 # The architecture is X86_64. X86_64 = 2 # The architecture is ARM64. ARM64 = 3 # The architecture is X86_64_MAC. X86_64_MAC = 4 end end # AwsSecurityGroup describes a security group of an AWS VM. # @!attribute [rw] id # @return [::String] # The AWS security group id. # @!attribute [rw] name # @return [::String] # The AWS security group name. class AwsSecurityGroup include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # VmwareVmsDetails describes VMs in vCenter. # @!attribute [rw] details # @return [::Array<::Google::Cloud::VMMigration::V1::VmwareVmDetails>] # The details of the vmware VMs. class VmwareVmsDetails include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # AWSVmsDetails describes VMs in AWS. # @!attribute [rw] details # @return [::Array<::Google::Cloud::VMMigration::V1::AwsVmDetails>] # The details of the AWS VMs. class AwsVmsDetails include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for # {::Google::Cloud::VMMigration::V1::VMMigration::Client#fetch_inventory fetchInventory}. # @!attribute [rw] vmware_vms # @return [::Google::Cloud::VMMigration::V1::VmwareVmsDetails] # The description of the VMs in a Source of type Vmware. # @!attribute [rw] aws_vms # @return [::Google::Cloud::VMMigration::V1::AwsVmsDetails] # The description of the VMs in a Source of type AWS. # @!attribute [r] update_time # @return [::Google::Protobuf::Timestamp] # Output only. The timestamp when the source was last queried (if the result # is from the cache). class FetchInventoryResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Utilization report details the utilization (CPU, memory, etc.) of selected # source VMs. # @!attribute [r] name # @return [::String] # Output only. The report unique name. # @!attribute [rw] display_name # @return [::String] # The report display name, as assigned by the user. # @!attribute [r] state # @return [::Google::Cloud::VMMigration::V1::UtilizationReport::State] # Output only. Current state of the report. # @!attribute [r] state_time # @return [::Google::Protobuf::Timestamp] # Output only. The time the state was last set. # @!attribute [r] error # @return [::Google::Rpc::Status] # Output only. Provides details on the state of the report in case of an # error. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. The time the report was created (this refers to the time of # the request, not the time the report creation completed). # @!attribute [rw] time_frame # @return [::Google::Cloud::VMMigration::V1::UtilizationReport::TimeFrame] # Time frame of the report. # @!attribute [r] frame_end_time # @return [::Google::Protobuf::Timestamp] # 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. # @!attribute [r] vm_count # @return [::Integer] # Output only. Total number of VMs included in the report. # @!attribute [rw] vms # @return [::Array<::Google::Cloud::VMMigration::V1::VmUtilizationInfo>] # 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. class UtilizationReport include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Utilization report state. module State # The state is unknown. This value is not in use. STATE_UNSPECIFIED = 0 # The report is in the making. CREATING = 1 # Report creation completed successfully. SUCCEEDED = 2 # Report creation failed. FAILED = 3 end # Report time frame options. module TimeFrame # The time frame was not specified and will default to WEEK. TIME_FRAME_UNSPECIFIED = 0 # One week. WEEK = 1 # One month. MONTH = 2 # One year. YEAR = 3 end end # Utilization information of a single VM. # @!attribute [rw] vmware_vm_details # @return [::Google::Cloud::VMMigration::V1::VmwareVmDetails] # The description of the VM in a Source of type Vmware. # @!attribute [rw] vm_id # @return [::String] # The VM's ID in the source. # @!attribute [rw] utilization # @return [::Google::Cloud::VMMigration::V1::VmUtilizationMetrics] # Utilization metrics for this VM. class VmUtilizationInfo include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Utilization metrics values for a single VM. # @!attribute [rw] cpu_max_percent # @return [::Integer] # Max CPU usage, percent. # @!attribute [rw] cpu_average_percent # @return [::Integer] # Average CPU usage, percent. # @!attribute [rw] memory_max_percent # @return [::Integer] # Max memory usage, percent. # @!attribute [rw] memory_average_percent # @return [::Integer] # Average memory usage, percent. # @!attribute [rw] disk_io_rate_max_kbps # @return [::Integer] # Max disk IO rate, in kilobytes per second. # @!attribute [rw] disk_io_rate_average_kbps # @return [::Integer] # Average disk IO rate, in kilobytes per second. # @!attribute [rw] network_throughput_max_kbps # @return [::Integer] # Max network throughput (combined transmit-rates and receive-rates), in # kilobytes per second. # @!attribute [rw] network_throughput_average_kbps # @return [::Integer] # Average network throughput (combined transmit-rates and receive-rates), in # kilobytes per second. class VmUtilizationMetrics include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'ListUtilizationReports' request. # @!attribute [rw] parent # @return [::String] # Required. The Utilization Reports parent. # @!attribute [rw] view # @return [::Google::Cloud::VMMigration::V1::UtilizationReportView] # Optional. The level of details of each report. # Defaults to BASIC. # @!attribute [rw] page_size # @return [::Integer] # Optional. The maximum number of reports to return. The service may return # fewer than this value. If unspecified, at most 500 reports will be # returned. The maximum value is 1000; values above 1000 will be coerced to # 1000. # @!attribute [rw] page_token # @return [::String] # Required. A page token, received from a previous `ListUtilizationReports` # call. Provide this to retrieve the subsequent page. # # When paginating, all other parameters provided to `ListUtilizationReports` # must match the call that provided the page token. # @!attribute [rw] filter # @return [::String] # Optional. The filter request. # @!attribute [rw] order_by # @return [::String] # Optional. the order by fields for the result. class ListUtilizationReportsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for 'ListUtilizationReports' request. # @!attribute [r] utilization_reports # @return [::Array<::Google::Cloud::VMMigration::V1::UtilizationReport>] # Output only. The list of reports. # @!attribute [r] next_page_token # @return [::String] # 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. # @!attribute [r] unreachable # @return [::Array<::String>] # Output only. Locations that could not be reached. class ListUtilizationReportsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'GetUtilizationReport' request. # @!attribute [rw] name # @return [::String] # Required. The Utilization Report name. # @!attribute [rw] view # @return [::Google::Cloud::VMMigration::V1::UtilizationReportView] # Optional. The level of details of the report. # Defaults to FULL class GetUtilizationReportRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'CreateUtilizationReport' request. # @!attribute [rw] parent # @return [::String] # Required. The Utilization Report's parent. # @!attribute [rw] utilization_report # @return [::Google::Cloud::VMMigration::V1::UtilizationReport] # Required. The report to create. # @!attribute [rw] utilization_report_id # @return [::String] # Required. The ID to use for the report, which will become the final # component of the reports's resource name. # # This value maximum length is 63 characters, and valid characters # are /[a-z][0-9]-/. It must start with an english letter and must not # end with a hyphen. # @!attribute [rw] request_id # @return [::String] # 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 since 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). class CreateUtilizationReportRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'DeleteUtilizationReport' request. # @!attribute [rw] name # @return [::String] # Required. The Utilization Report name. # @!attribute [rw] request_id # @return [::String] # Optional. 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). class DeleteUtilizationReportRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for 'ListDatacenterConnectors' request. # @!attribute [r] datacenter_connectors # @return [::Array<::Google::Cloud::VMMigration::V1::DatacenterConnector>] # Output only. The list of sources response. # @!attribute [r] next_page_token # @return [::String] # 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. # @!attribute [r] unreachable # @return [::Array<::String>] # Output only. Locations that could not be reached. class ListDatacenterConnectorsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'GetDatacenterConnector' request. # @!attribute [rw] name # @return [::String] # Required. The name of the DatacenterConnector. class GetDatacenterConnectorRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'CreateDatacenterConnector' request. # @!attribute [rw] parent # @return [::String] # Required. The DatacenterConnector's parent. # Required. The Source in where the new DatacenterConnector will be created. # For example: # `projects/my-project/locations/us-central1/sources/my-source` # @!attribute [rw] datacenter_connector_id # @return [::String] # Required. The datacenterConnector identifier. # @!attribute [rw] datacenter_connector # @return [::Google::Cloud::VMMigration::V1::DatacenterConnector] # Required. The create request body. # @!attribute [rw] request_id # @return [::String] # 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 since 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). class CreateDatacenterConnectorRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'DeleteDatacenterConnector' request. # @!attribute [rw] name # @return [::String] # Required. The DatacenterConnector name. # @!attribute [rw] request_id # @return [::String] # 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). class DeleteDatacenterConnectorRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'UpgradeAppliance' request. # @!attribute [rw] datacenter_connector # @return [::String] # Required. The DatacenterConnector name. # @!attribute [rw] request_id # @return [::String] # 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). class UpgradeApplianceRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for 'UpgradeAppliance' request. class UpgradeApplianceResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'ListDatacenterConnectors' request. # @!attribute [rw] parent # @return [::String] # Required. The parent, which owns this collection of connectors. # @!attribute [rw] page_size # @return [::Integer] # Optional. The maximum number of connectors to return. The service may # return fewer than this value. If unspecified, at most 500 sources will be # returned. The maximum value is 1000; values above 1000 will be coerced to # 1000. # @!attribute [rw] page_token # @return [::String] # Required. A page token, received from a previous `ListDatacenterConnectors` # call. Provide this to retrieve the subsequent page. # # When paginating, all other parameters provided to # `ListDatacenterConnectors` must match the call that provided the page # token. # @!attribute [rw] filter # @return [::String] # Optional. The filter request. # @!attribute [rw] order_by # @return [::String] # Optional. the order by fields for the result. class ListDatacenterConnectorsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # ComputeEngineTargetDefaults is a collection of details for creating a VM in a # target Compute Engine project. # @!attribute [rw] vm_name # @return [::String] # The name of the VM to create. # @!attribute [rw] target_project # @return [::String] # The full path of the resource of type TargetProject which represents the # Compute Engine project in which to create this VM. # @!attribute [rw] zone # @return [::String] # The zone in which to create the VM. # @!attribute [rw] machine_type_series # @return [::String] # The machine type series to create the VM with. # @!attribute [rw] machine_type # @return [::String] # The machine type to create the VM with. # @!attribute [rw] network_tags # @return [::Array<::String>] # A map of network tags to associate with the VM. # @!attribute [rw] network_interfaces # @return [::Array<::Google::Cloud::VMMigration::V1::NetworkInterface>] # List of NICs connected to this VM. # @!attribute [rw] service_account # @return [::String] # The service account to associate the VM with. # @!attribute [rw] disk_type # @return [::Google::Cloud::VMMigration::V1::ComputeEngineDiskType] # The disk type to use in the VM. # @!attribute [rw] labels # @return [::Google::Protobuf::Map{::String => ::String}] # A map of labels to associate with the VM. # @!attribute [rw] license_type # @return [::Google::Cloud::VMMigration::V1::ComputeEngineLicenseType] # The license type to use in OS adaptation. # @!attribute [r] applied_license # @return [::Google::Cloud::VMMigration::V1::AppliedLicense] # Output only. The OS license returned from the adaptation module report. # @!attribute [rw] compute_scheduling # @return [::Google::Cloud::VMMigration::V1::ComputeScheduling] # Compute instance scheduling information (if empty default is used). # @!attribute [rw] secure_boot # @return [::Boolean] # Defines whether the instance has Secure Boot enabled. # This can be set to true only if the vm boot option is EFI. # @!attribute [r] boot_option # @return [::Google::Cloud::VMMigration::V1::ComputeEngineBootOption] # Output only. The VM Boot Option, as set in the source vm. # @!attribute [rw] metadata # @return [::Google::Protobuf::Map{::String => ::String}] # The metadata key/value pairs to assign to the VM. # @!attribute [rw] additional_licenses # @return [::Array<::String>] # Additional licenses to assign to the VM. # @!attribute [rw] hostname # @return [::String] # The hostname to assign to the VM. class ComputeEngineTargetDefaults include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class LabelsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class MetadataEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end # ComputeEngineTargetDetails is a collection of details for creating a VM in a # target Compute Engine project. # @!attribute [rw] vm_name # @return [::String] # The name of the VM to create. # @!attribute [rw] project # @return [::String] # The Google Cloud target project ID or project name. # @!attribute [rw] zone # @return [::String] # The zone in which to create the VM. # @!attribute [rw] machine_type_series # @return [::String] # The machine type series to create the VM with. # @!attribute [rw] machine_type # @return [::String] # The machine type to create the VM with. # @!attribute [rw] network_tags # @return [::Array<::String>] # A map of network tags to associate with the VM. # @!attribute [rw] network_interfaces # @return [::Array<::Google::Cloud::VMMigration::V1::NetworkInterface>] # List of NICs connected to this VM. # @!attribute [rw] service_account # @return [::String] # The service account to associate the VM with. # @!attribute [rw] disk_type # @return [::Google::Cloud::VMMigration::V1::ComputeEngineDiskType] # The disk type to use in the VM. # @!attribute [rw] labels # @return [::Google::Protobuf::Map{::String => ::String}] # A map of labels to associate with the VM. # @!attribute [rw] license_type # @return [::Google::Cloud::VMMigration::V1::ComputeEngineLicenseType] # The license type to use in OS adaptation. # @!attribute [rw] applied_license # @return [::Google::Cloud::VMMigration::V1::AppliedLicense] # The OS license returned from the adaptation module report. # @!attribute [rw] compute_scheduling # @return [::Google::Cloud::VMMigration::V1::ComputeScheduling] # Compute instance scheduling information (if empty default is used). # @!attribute [rw] secure_boot # @return [::Boolean] # Defines whether the instance has Secure Boot enabled. # This can be set to true only if the vm boot option is EFI. # @!attribute [rw] boot_option # @return [::Google::Cloud::VMMigration::V1::ComputeEngineBootOption] # The VM Boot Option, as set in the source vm. # @!attribute [rw] metadata # @return [::Google::Protobuf::Map{::String => ::String}] # The metadata key/value pairs to assign to the VM. # @!attribute [rw] additional_licenses # @return [::Array<::String>] # Additional licenses to assign to the VM. # @!attribute [rw] hostname # @return [::String] # The hostname to assign to the VM. class ComputeEngineTargetDetails include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class LabelsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class MetadataEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end # NetworkInterface represents a NIC of a VM. # @!attribute [rw] network # @return [::String] # The network to connect the NIC to. # @!attribute [rw] subnetwork # @return [::String] # The subnetwork to connect the NIC to. # @!attribute [rw] internal_ip # @return [::String] # The internal IP to define in the NIC. # The formats accepted are: `ephemeral` \ ipv4 address \ a named address # resource full path. # @!attribute [rw] external_ip # @return [::String] # The external IP to define in the NIC. class NetworkInterface include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # AppliedLicense holds the license data returned by adaptation module report. # @!attribute [rw] type # @return [::Google::Cloud::VMMigration::V1::AppliedLicense::Type] # The license type that was used in OS adaptation. # @!attribute [rw] os_license # @return [::String] # The OS license returned from the adaptation module's report. class AppliedLicense include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # License types used in OS adaptation. module Type # Unspecified license for the OS. TYPE_UNSPECIFIED = 0 # No license available for the OS. NONE = 1 # The license type is Pay As You Go license type. PAYG = 2 # The license type is Bring Your Own License type. BYOL = 3 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 # @!attribute [rw] key # @return [::String] # The label key of Node resource to reference. # @!attribute [rw] operator # @return [::Google::Cloud::VMMigration::V1::SchedulingNodeAffinity::Operator] # The operator to use for the node resources specified in the `values` # parameter. # @!attribute [rw] values # @return [::Array<::String>] # Corresponds to the label values of Node resource. class SchedulingNodeAffinity include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Possible types of node selection operators. Valid operators are IN for # affinity and NOT_IN for anti-affinity. module Operator # An unknown, unexpected behavior. OPERATOR_UNSPECIFIED = 0 # The node resource group should be in these resources affinity. IN = 1 # The node resource group should not be in these resources affinity. NOT_IN = 2 end end # Scheduling information for VM on maintenance/restart behaviour and # node allocation in sole tenant nodes. # @!attribute [rw] on_host_maintenance # @return [::Google::Cloud::VMMigration::V1::ComputeScheduling::OnHostMaintenance] # How the instance should behave when the host machine undergoes # maintenance that may temporarily impact instance performance. # @!attribute [rw] restart_type # @return [::Google::Cloud::VMMigration::V1::ComputeScheduling::RestartType] # 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. # @!attribute [rw] node_affinities # @return [::Array<::Google::Cloud::VMMigration::V1::SchedulingNodeAffinity>] # A set of node affinity and anti-affinity configurations for sole tenant # nodes. # @!attribute [rw] min_node_cpus # @return [::Integer] # The minimum number of virtual CPUs this instance will consume when # running on a sole-tenant node. Ignored if no node_affinites are # configured. class ComputeScheduling include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods module OnHostMaintenance # An unknown, unexpected behavior. ON_HOST_MAINTENANCE_UNSPECIFIED = 0 # Terminate the instance when the host machine undergoes maintenance. TERMINATE = 1 # Migrate the instance when the host machine undergoes maintenance. MIGRATE = 2 end # Defines whether the Instance should be automatically restarted whenever # it is terminated by Compute Engine (not terminated by user). module RestartType # Unspecified behavior. This will use the default. RESTART_TYPE_UNSPECIFIED = 0 # The Instance should be automatically restarted whenever it is # terminated by Compute Engine. AUTOMATIC_RESTART = 1 # The Instance isn't automatically restarted whenever it is # terminated by Compute Engine. NO_AUTOMATIC_RESTART = 2 end end # A policy for scheduling replications. # @!attribute [rw] idle_duration # @return [::Google::Protobuf::Duration] # The idle duration between replication stages. # @!attribute [rw] skip_os_adaptation # @return [::Boolean] # 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. class SchedulePolicy include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'CreateMigratingVm' request. # @!attribute [rw] parent # @return [::String] # Required. The MigratingVm's parent. # @!attribute [rw] migrating_vm_id # @return [::String] # Required. The migratingVm identifier. # @!attribute [rw] migrating_vm # @return [::Google::Cloud::VMMigration::V1::MigratingVm] # Required. The create request body. # @!attribute [rw] request_id # @return [::String] # 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 since 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). class CreateMigratingVmRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'LisMigratingVmsRequest' request. # @!attribute [rw] parent # @return [::String] # Required. The parent, which owns this collection of MigratingVms. # @!attribute [rw] page_size # @return [::Integer] # Optional. The maximum number of migrating VMs to return. The service may # return fewer than this value. If unspecified, at most 500 migrating VMs # will be returned. The maximum value is 1000; values above 1000 will be # coerced to 1000. # @!attribute [rw] page_token # @return [::String] # Required. A page token, received from a previous `ListMigratingVms` call. # Provide this to retrieve the subsequent page. # # When paginating, all other parameters provided to `ListMigratingVms` # must match the call that provided the page token. # @!attribute [rw] filter # @return [::String] # Optional. The filter request. # @!attribute [rw] order_by # @return [::String] # Optional. the order by fields for the result. # @!attribute [rw] view # @return [::Google::Cloud::VMMigration::V1::MigratingVmView] # Optional. The level of details of each migrating VM. class ListMigratingVmsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for 'ListMigratingVms' request. # @!attribute [r] migrating_vms # @return [::Array<::Google::Cloud::VMMigration::V1::MigratingVm>] # Output only. The list of Migrating VMs response. # @!attribute [r] next_page_token # @return [::String] # 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. # @!attribute [r] unreachable # @return [::Array<::String>] # Output only. Locations that could not be reached. class ListMigratingVmsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'GetMigratingVm' request. # @!attribute [rw] name # @return [::String] # Required. The name of the MigratingVm. # @!attribute [rw] view # @return [::Google::Cloud::VMMigration::V1::MigratingVmView] # Optional. The level of details of the migrating VM. class GetMigratingVmRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'UpdateMigratingVm' request. # @!attribute [rw] update_mask # @return [::Google::Protobuf::FieldMask] # Field mask is used to specify the fields to be overwritten in the # MigratingVm resource by the update. # The fields specified in the update_mask are relative to the resource, not # the full request. A field will be overwritten if it is in the mask. If the # user does not provide a mask then all fields will be overwritten. # @!attribute [rw] migrating_vm # @return [::Google::Cloud::VMMigration::V1::MigratingVm] # Required. The update request body. # @!attribute [rw] request_id # @return [::String] # 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 since 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). class UpdateMigratingVmRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'DeleteMigratingVm' request. # @!attribute [rw] name # @return [::String] # Required. The name of the MigratingVm. class DeleteMigratingVmRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'StartMigrationRequest' request. # @!attribute [rw] migrating_vm # @return [::String] # Required. The name of the MigratingVm. class StartMigrationRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for 'StartMigration' request. class StartMigrationResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'PauseMigration' request. # @!attribute [rw] migrating_vm # @return [::String] # Required. The name of the MigratingVm. class PauseMigrationRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for 'PauseMigration' request. class PauseMigrationResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'ResumeMigration' request. # @!attribute [rw] migrating_vm # @return [::String] # Required. The name of the MigratingVm. class ResumeMigrationRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for 'ResumeMigration' request. class ResumeMigrationResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'FinalizeMigration' request. # @!attribute [rw] migrating_vm # @return [::String] # Required. The name of the MigratingVm. class FinalizeMigrationRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for 'FinalizeMigration' request. class FinalizeMigrationResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # TargetProject message represents a target Compute Engine project for a # migration or a clone. # @!attribute [r] name # @return [::String] # Output only. The name of the target project. # @!attribute [rw] project # @return [::String] # The target project ID (number) or project name. # @!attribute [rw] description # @return [::String] # The target project's description. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. The time this target project resource was created (not related # to when the Compute Engine project it points to was created). # @!attribute [r] update_time # @return [::Google::Protobuf::Timestamp] # Output only. The last time the target project resource was updated. class TargetProject include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'GetTargetProject' call. # @!attribute [rw] name # @return [::String] # Required. The TargetProject name. class GetTargetProjectRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'ListTargetProjects' call. # @!attribute [rw] parent # @return [::String] # Required. The parent, which owns this collection of targets. # @!attribute [rw] page_size # @return [::Integer] # Optional. The maximum number of targets to return. The service may return # fewer than this value. If unspecified, at most 500 targets will be # returned. The maximum value is 1000; values above 1000 will be coerced to # 1000. # @!attribute [rw] page_token # @return [::String] # Required. A page token, received from a previous `ListTargets` call. # Provide this to retrieve the subsequent page. # # When paginating, all other parameters provided to `ListTargets` must # match the call that provided the page token. # @!attribute [rw] filter # @return [::String] # Optional. The filter request. # @!attribute [rw] order_by # @return [::String] # Optional. the order by fields for the result. class ListTargetProjectsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for 'ListTargetProjects' call. # @!attribute [r] target_projects # @return [::Array<::Google::Cloud::VMMigration::V1::TargetProject>] # Output only. The list of target response. # @!attribute [r] next_page_token # @return [::String] # 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. # @!attribute [r] unreachable # @return [::Array<::String>] # Output only. Locations that could not be reached. class ListTargetProjectsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'CreateTargetProject' request. # @!attribute [rw] parent # @return [::String] # Required. The TargetProject's parent. # @!attribute [rw] target_project_id # @return [::String] # Required. The target_project identifier. # @!attribute [rw] target_project # @return [::Google::Cloud::VMMigration::V1::TargetProject] # Required. The create request body. # @!attribute [rw] request_id # @return [::String] # 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 since 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). class CreateTargetProjectRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Update message for 'UpdateTargetProject' request. # @!attribute [rw] update_mask # @return [::Google::Protobuf::FieldMask] # Field mask is used to specify the fields to be overwritten in the # TargetProject resource by the update. # The fields specified in the update_mask are relative to the resource, not # the full request. A field will be overwritten if it is in the mask. If the # user does not provide a mask then all fields will be overwritten. # @!attribute [rw] target_project # @return [::Google::Cloud::VMMigration::V1::TargetProject] # Required. The update request body. # @!attribute [rw] request_id # @return [::String] # 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 since 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). class UpdateTargetProjectRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'DeleteTargetProject' request. # @!attribute [rw] name # @return [::String] # Required. The TargetProject name. # @!attribute [rw] request_id # @return [::String] # Optional. 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). class DeleteTargetProjectRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Describes message for 'Group' resource. The Group is a collections of several # MigratingVms. # @!attribute [r] name # @return [::String] # Output only. The Group name. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. The create time timestamp. # @!attribute [r] update_time # @return [::Google::Protobuf::Timestamp] # Output only. The update time timestamp. # @!attribute [rw] description # @return [::String] # User-provided description of the group. # @!attribute [rw] display_name # @return [::String] # Display name is a user defined name for this group which can be updated. class Group include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'ListGroups' request. # @!attribute [rw] parent # @return [::String] # Required. The parent, which owns this collection of groups. # @!attribute [rw] page_size # @return [::Integer] # Optional. The maximum number of groups to return. The service may return # fewer than this value. If unspecified, at most 500 groups will be # returned. The maximum value is 1000; values above 1000 will be coerced to # 1000. # @!attribute [rw] page_token # @return [::String] # Required. A page token, received from a previous `ListGroups` call. # Provide this to retrieve the subsequent page. # # When paginating, all other parameters provided to `ListGroups` must # match the call that provided the page token. # @!attribute [rw] filter # @return [::String] # Optional. The filter request. # @!attribute [rw] order_by # @return [::String] # Optional. the order by fields for the result. class ListGroupsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for 'ListGroups' request. # @!attribute [r] groups # @return [::Array<::Google::Cloud::VMMigration::V1::Group>] # Output only. The list of groups response. # @!attribute [r] next_page_token # @return [::String] # 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. # @!attribute [r] unreachable # @return [::Array<::String>] # Output only. Locations that could not be reached. class ListGroupsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'GetGroup' request. # @!attribute [rw] name # @return [::String] # Required. The group name. class GetGroupRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'CreateGroup' request. # @!attribute [rw] parent # @return [::String] # Required. The Group's parent. # @!attribute [rw] group_id # @return [::String] # Required. The group identifier. # @!attribute [rw] group # @return [::Google::Cloud::VMMigration::V1::Group] # Required. The create request body. # @!attribute [rw] request_id # @return [::String] # 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 since 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). class CreateGroupRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Update message for 'UpdateGroups' request. # @!attribute [rw] update_mask # @return [::Google::Protobuf::FieldMask] # Field mask is used to specify the fields to be overwritten in the # Group resource by the update. # The fields specified in the update_mask are relative to the resource, not # the full request. A field will be overwritten if it is in the mask. If the # user does not provide a mask then all fields will be overwritten. # @!attribute [rw] group # @return [::Google::Cloud::VMMigration::V1::Group] # Required. The update request body. # @!attribute [rw] request_id # @return [::String] # 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 since 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). class UpdateGroupRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'DeleteGroup' request. # @!attribute [rw] name # @return [::String] # Required. The Group name. # @!attribute [rw] request_id # @return [::String] # Optional. 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). class DeleteGroupRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'AddGroupMigration' request. # @!attribute [rw] group # @return [::String] # Required. The full path name of the Group to add to. # @!attribute [rw] migrating_vm # @return [::String] # The full path name of the MigratingVm to add. class AddGroupMigrationRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for 'AddGroupMigration' request. class AddGroupMigrationResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'RemoveMigration' request. # @!attribute [rw] group # @return [::String] # Required. The name of the Group. # @!attribute [rw] migrating_vm # @return [::String] # The MigratingVm to remove. class RemoveGroupMigrationRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for 'RemoveMigration' request. class RemoveGroupMigrationResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'CreateCutoverJob' request. # @!attribute [rw] parent # @return [::String] # Required. The Cutover's parent. # @!attribute [rw] cutover_job_id # @return [::String] # Required. The cutover job identifier. # @!attribute [rw] cutover_job # @return [::Google::Cloud::VMMigration::V1::CutoverJob] # Required. The cutover request body. # @!attribute [rw] request_id # @return [::String] # 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 since 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). class CreateCutoverJobRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'CancelCutoverJob' request. # @!attribute [rw] name # @return [::String] # Required. The cutover job id class CancelCutoverJobRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for 'CancelCutoverJob' request. class CancelCutoverJobResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'ListCutoverJobsRequest' request. # @!attribute [rw] parent # @return [::String] # Required. The parent, which owns this collection of migrating VMs. # @!attribute [rw] page_size # @return [::Integer] # Optional. The maximum number of cutover jobs to return. The service may # return fewer than this value. If unspecified, at most 500 cutover jobs will # be returned. The maximum value is 1000; values above 1000 will be coerced # to 1000. # @!attribute [rw] page_token # @return [::String] # Required. A page token, received from a previous `ListCutoverJobs` call. # Provide this to retrieve the subsequent page. # # When paginating, all other parameters provided to `ListCutoverJobs` must # match the call that provided the page token. # @!attribute [rw] filter # @return [::String] # Optional. The filter request. # @!attribute [rw] order_by # @return [::String] # Optional. the order by fields for the result. class ListCutoverJobsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for 'ListCutoverJobs' request. # @!attribute [r] cutover_jobs # @return [::Array<::Google::Cloud::VMMigration::V1::CutoverJob>] # Output only. The list of cutover jobs response. # @!attribute [r] next_page_token # @return [::String] # 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. # @!attribute [r] unreachable # @return [::Array<::String>] # Output only. Locations that could not be reached. class ListCutoverJobsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'GetCutoverJob' request. # @!attribute [rw] name # @return [::String] # Required. The name of the CutoverJob. class GetCutoverJobRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Represents the metadata of the long-running operation. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. The time the operation was created. # @!attribute [r] end_time # @return [::Google::Protobuf::Timestamp] # Output only. The time the operation finished running. # @!attribute [r] target # @return [::String] # Output only. Server-defined resource path for the target of the operation. # @!attribute [r] verb # @return [::String] # Output only. Name of the verb executed by the operation. # @!attribute [r] status_message # @return [::String] # Output only. Human-readable status of the operation, if any. # @!attribute [r] requested_cancellation # @return [::Boolean] # 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 google.rpc.Status.code} of 1, corresponding to # `Code.CANCELLED`. # @!attribute [r] api_version # @return [::String] # Output only. API version used to start the operation. class OperationMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods 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. # @!attribute [r] code # @return [::Google::Cloud::VMMigration::V1::MigrationError::ErrorCode] # Output only. The error code. # @!attribute [r] error_message # @return [::Google::Rpc::LocalizedMessage] # Output only. The localized error message. # @!attribute [r] action_item # @return [::Google::Rpc::LocalizedMessage] # Output only. Suggested action for solving the error. # @!attribute [r] help_links # @return [::Array<::Google::Rpc::Help::Link>] # Output only. URL(s) pointing to additional information on handling the # current error. # @!attribute [r] error_time # @return [::Google::Protobuf::Timestamp] # Output only. The time the error occurred. class MigrationError include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Represents resource error codes. module ErrorCode # Default value. This value is not used. ERROR_CODE_UNSPECIFIED = 0 # Migrate for Compute encountered an unknown error. UNKNOWN_ERROR = 1 # Migrate for Compute encountered an error while validating replication # source health. SOURCE_VALIDATION_ERROR = 2 # Migrate for Compute encountered an error during source data operation. SOURCE_REPLICATION_ERROR = 3 # Migrate for Compute encountered an error during target data operation. TARGET_REPLICATION_ERROR = 4 # Migrate for Compute encountered an error during OS adaptation. OS_ADAPTATION_ERROR = 5 # Migrate for Compute encountered an error in clone operation. CLONE_ERROR = 6 # Migrate for Compute encountered an error in cutover operation. CUTOVER_ERROR = 7 # Migrate for Compute encountered an error during utilization report # creation. UTILIZATION_REPORT_ERROR = 8 # Migrate for Compute encountered an error during appliance upgrade. APPLIANCE_UPGRADE_ERROR = 9 end end # Represent the source AWS VM details. # @!attribute [rw] firmware # @return [::Google::Cloud::VMMigration::V1::AwsSourceVmDetails::Firmware] # The firmware type of the source VM. # @!attribute [rw] committed_storage_bytes # @return [::Integer] # The total size of the disks being migrated in bytes. class AwsSourceVmDetails include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Possible values for AWS VM firmware. module Firmware # The firmware is unknown. FIRMWARE_UNSPECIFIED = 0 # The firmware is EFI. EFI = 1 # The firmware is BIOS. BIOS = 2 end end # Request message for 'LisReplicationCyclesRequest' request. # @!attribute [rw] parent # @return [::String] # Required. The parent, which owns this collection of ReplicationCycles. # @!attribute [rw] page_size # @return [::Integer] # Optional. The maximum number of replication cycles to return. The service # may return fewer than this value. If unspecified, at most 100 migrating VMs # will be returned. The maximum value is 100; values above 100 will be # coerced to 100. # @!attribute [rw] page_token # @return [::String] # Required. A page token, received from a previous `ListReplicationCycles` # call. Provide this to retrieve the subsequent page. # # When paginating, all other parameters provided to `ListReplicationCycles` # must match the call that provided the page token. # @!attribute [rw] filter # @return [::String] # Optional. The filter request. # @!attribute [rw] order_by # @return [::String] # Optional. the order by fields for the result. class ListReplicationCyclesRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for 'ListReplicationCycles' request. # @!attribute [r] replication_cycles # @return [::Array<::Google::Cloud::VMMigration::V1::ReplicationCycle>] # Output only. The list of replication cycles response. # @!attribute [r] next_page_token # @return [::String] # 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. # @!attribute [r] unreachable # @return [::Array<::String>] # Output only. Locations that could not be reached. class ListReplicationCyclesResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for 'GetReplicationCycle' request. # @!attribute [rw] name # @return [::String] # Required. The name of the ReplicationCycle. class GetReplicationCycleRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Controls the level of details of a Utilization Report. module UtilizationReportView # The default / unset value. # The API will default to FULL on single report request and BASIC for # multiple reports request. UTILIZATION_REPORT_VIEW_UNSPECIFIED = 0 # Get the report metadata, without the list of VMs and their utilization # info. BASIC = 1 # Include everything. FULL = 2 end # Controls the level of details of a Migrating VM. module MigratingVmView # View is unspecified. The API will fallback to the default value. MIGRATING_VM_VIEW_UNSPECIFIED = 0 # Get the migrating VM basic details. # The basic details do not include the recent clone jobs and recent cutover # jobs lists. MIGRATING_VM_VIEW_BASIC = 1 # Include everything. MIGRATING_VM_VIEW_FULL = 2 end # Types of disks supported for Compute Engine VM. module ComputeEngineDiskType # An unspecified disk type. Will be used as STANDARD. COMPUTE_ENGINE_DISK_TYPE_UNSPECIFIED = 0 # A Standard disk type. COMPUTE_ENGINE_DISK_TYPE_STANDARD = 1 # SSD hard disk type. COMPUTE_ENGINE_DISK_TYPE_SSD = 2 # An alternative to SSD persistent disks that balance performance and # cost. COMPUTE_ENGINE_DISK_TYPE_BALANCED = 3 end # Types of licenses used in OS adaptation. module ComputeEngineLicenseType # The license type is the default for the OS. COMPUTE_ENGINE_LICENSE_TYPE_DEFAULT = 0 # The license type is Pay As You Go license type. COMPUTE_ENGINE_LICENSE_TYPE_PAYG = 1 # The license type is Bring Your Own License type. COMPUTE_ENGINE_LICENSE_TYPE_BYOL = 2 end # Possible values for vm boot option. module ComputeEngineBootOption # The boot option is unknown. COMPUTE_ENGINE_BOOT_OPTION_UNSPECIFIED = 0 # The boot option is EFI. COMPUTE_ENGINE_BOOT_OPTION_EFI = 1 # The boot option is BIOS. COMPUTE_ENGINE_BOOT_OPTION_BIOS = 2 end end end end end