Class: Google::Apis::VmmigrationV1alpha1::TargetVmDetails

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/vmmigration_v1alpha1/classes.rb,
lib/google/apis/vmmigration_v1alpha1/representations.rb,
lib/google/apis/vmmigration_v1alpha1/representations.rb

Overview

TargetVMDetails is a collection of details for creating a VM in a target Compute Engine project.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ TargetVmDetails

Returns a new instance of TargetVmDetails.



4988
4989
4990
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4988

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#applied_licenseGoogle::Apis::VmmigrationV1alpha1::AppliedLicense

AppliedLicense holds the license data returned by adaptation module report. Corresponds to the JSON property appliedLicense



4880
4881
4882
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4880

def applied_license
  @applied_license
end

#boot_optionString

Output only. The VM Boot Option, as set in the source VM. Corresponds to the JSON property bootOption

Returns:

  • (String)


4885
4886
4887
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4885

def boot_option
  @boot_option
end

#compute_schedulingGoogle::Apis::VmmigrationV1alpha1::ComputeScheduling

Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance. Corresponds to the JSON property computeScheduling



4892
4893
4894
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4892

def compute_scheduling
  @compute_scheduling
end

#disk_typeString

The disk type to use in the VM. Corresponds to the JSON property diskType

Returns:

  • (String)


4897
4898
4899
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4897

def disk_type
  @disk_type
end

#external_ipString

The external IP to define in the VM. Corresponds to the JSON property externalIp

Returns:

  • (String)


4902
4903
4904
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4902

def external_ip
  @external_ip
end

#internal_ipString

The internal IP to define in the VM. The formats accepted are: ephemeral \ ipv4 address \ a named address resource full path. Corresponds to the JSON property internalIp

Returns:

  • (String)


4908
4909
4910
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4908

def internal_ip
  @internal_ip
end

#labelsHash<String,String>

A map of labels to associate with the VM. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


4913
4914
4915
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4913

def labels
  @labels
end

#license_typeString

The license type to use in OS adaptation. Corresponds to the JSON property licenseType

Returns:

  • (String)


4918
4919
4920
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4918

def license_type
  @license_type
end

#machine_typeString

The machine type to create the VM with. Corresponds to the JSON property machineType

Returns:

  • (String)


4923
4924
4925
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4923

def machine_type
  @machine_type
end

#machine_type_seriesString

The machine type series to create the VM with. Corresponds to the JSON property machineTypeSeries

Returns:

  • (String)


4928
4929
4930
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4928

def machine_type_series
  @machine_type_series
end

#metadataHash<String,String>

The metadata key/value pairs to assign to the VM. Corresponds to the JSON property metadata

Returns:

  • (Hash<String,String>)


4933
4934
4935
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4933

def 
  @metadata
end

#nameString

The name of the VM to create. Corresponds to the JSON property name

Returns:

  • (String)


4938
4939
4940
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4938

def name
  @name
end

#networkString

The network to connect the VM to. Corresponds to the JSON property network

Returns:

  • (String)


4943
4944
4945
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4943

def network
  @network
end

#network_interfacesArray<Google::Apis::VmmigrationV1alpha1::NetworkInterface>

List of NICs connected to this VM. Corresponds to the JSON property networkInterfaces



4948
4949
4950
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4948

def network_interfaces
  @network_interfaces
end

#network_tagsArray<String>

A list of network tags to associate with the VM. Corresponds to the JSON property networkTags

Returns:

  • (Array<String>)


4953
4954
4955
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4953

def network_tags
  @network_tags
end

#projectString

Output only. The project in which to create the VM. Corresponds to the JSON property project

Returns:

  • (String)


4958
4959
4960
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4958

def project
  @project
end

#secure_bootBoolean Also known as: secure_boot?

Defines whether the instance has Secure Boot enabled. This can be set to true only if the vm boot option is EFI. Corresponds to the JSON property secureBoot

Returns:

  • (Boolean)


4964
4965
4966
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4964

def secure_boot
  @secure_boot
end

#service_accountString

The service account to associate the VM with. Corresponds to the JSON property serviceAccount

Returns:

  • (String)


4970
4971
4972
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4970

def 
  @service_account
end

#subnetworkString

The subnetwork to connect the VM to. Corresponds to the JSON property subnetwork

Returns:

  • (String)


4975
4976
4977
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4975

def subnetwork
  @subnetwork
end

#target_projectString

The full path of the resource of type TargetProject which represents the Compute Engine project in which to create this VM. Corresponds to the JSON property targetProject

Returns:

  • (String)


4981
4982
4983
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4981

def target_project
  @target_project
end

#zoneString

The zone in which to create the VM. Corresponds to the JSON property zone

Returns:

  • (String)


4986
4987
4988
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4986

def zone
  @zone
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
# File 'lib/google/apis/vmmigration_v1alpha1/classes.rb', line 4993

def update!(**args)
  @applied_license = args[:applied_license] if args.key?(:applied_license)
  @boot_option = args[:boot_option] if args.key?(:boot_option)
  @compute_scheduling = args[:compute_scheduling] if args.key?(:compute_scheduling)
  @disk_type = args[:disk_type] if args.key?(:disk_type)
  @external_ip = args[:external_ip] if args.key?(:external_ip)
  @internal_ip = args[:internal_ip] if args.key?(:internal_ip)
  @labels = args[:labels] if args.key?(:labels)
  @license_type = args[:license_type] if args.key?(:license_type)
  @machine_type = args[:machine_type] if args.key?(:machine_type)
  @machine_type_series = args[:machine_type_series] if args.key?(:machine_type_series)
  @metadata = args[:metadata] if args.key?(:metadata)
  @name = args[:name] if args.key?(:name)
  @network = args[:network] if args.key?(:network)
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
  @network_tags = args[:network_tags] if args.key?(:network_tags)
  @project = args[:project] if args.key?(:project)
  @secure_boot = args[:secure_boot] if args.key?(:secure_boot)
  @service_account = args[:service_account] if args.key?(:service_account)
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
  @target_project = args[:target_project] if args.key?(:target_project)
  @zone = args[:zone] if args.key?(:zone)
end