Class: Google::Apis::BaremetalsolutionV2::InstanceConfig

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

Overview

Configuration parameters for a new instance.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ InstanceConfig

Returns a new instance of InstanceConfig.



554
555
556
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 554

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

Instance Attribute Details

#account_networks_enabledBoolean Also known as: account_networks_enabled?

If true networks can be from different projects of the same vendor account. Corresponds to the JSON property accountNetworksEnabled

Returns:

  • (Boolean)


477
478
479
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 477

def 
  @account_networks_enabled
end

#client_networkGoogle::Apis::BaremetalsolutionV2::NetworkAddress

A network. Corresponds to the JSON property clientNetwork



483
484
485
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 483

def client_network
  @client_network
end

#hyperthreadingBoolean Also known as: hyperthreading?

Whether the instance should be provisioned with Hyperthreading enabled. Corresponds to the JSON property hyperthreading

Returns:

  • (Boolean)


488
489
490
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 488

def hyperthreading
  @hyperthreading
end

#idString

A transient unique identifier to idenfity an instance within an ProvisioningConfig request. Corresponds to the JSON property id

Returns:

  • (String)


495
496
497
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 495

def id
  @id
end

#instance_typeString

Instance type. Available types Corresponds to the JSON property instanceType

Returns:

  • (String)


501
502
503
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 501

def instance_type
  @instance_type
end

#kms_key_versionString

Name of the KMS crypto key version used to encrypt the initial passwords. The key has to have ASYMMETRIC_DECRYPT purpose. Corresponds to the JSON property kmsKeyVersion

Returns:

  • (String)


507
508
509
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 507

def kms_key_version
  @kms_key_version
end

#logical_interfacesArray<Google::Apis::BaremetalsolutionV2::GoogleCloudBaremetalsolutionV2LogicalInterface>

List of logical interfaces for the instance. The number of logical interfaces will be the same as number of hardware bond/nic on the chosen network template. Filled if InstanceConfig.multivlan_config is true. Corresponds to the JSON property logicalInterfaces



514
515
516
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 514

def logical_interfaces
  @logical_interfaces
end

#nameString

The name of the instance config. Corresponds to the JSON property name

Returns:

  • (String)


519
520
521
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 519

def name
  @name
end

#network_configString

The type of network configuration on the instance. Corresponds to the JSON property networkConfig

Returns:

  • (String)


524
525
526
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 524

def network_config
  @network_config
end

#network_templateString

Server network template name. Filled if InstanceConfig.multivlan_config is true. Corresponds to the JSON property networkTemplate

Returns:

  • (String)


530
531
532
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 530

def network_template
  @network_template
end

#os_imageString

OS image to initialize the instance. Available images Corresponds to the JSON property osImage

Returns:

  • (String)


536
537
538
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 536

def os_image
  @os_image
end

#private_networkGoogle::Apis::BaremetalsolutionV2::NetworkAddress

A network. Corresponds to the JSON property privateNetwork



541
542
543
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 541

def private_network
  @private_network
end

#ssh_key_namesArray<String>

Optional. List of names of ssh keys used to provision the instance. Corresponds to the JSON property sshKeyNames

Returns:

  • (Array<String>)


546
547
548
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 546

def ssh_key_names
  @ssh_key_names
end

#user_noteString

User note field, it can be used by customers to add additional information for the BMS Ops team . Corresponds to the JSON property userNote

Returns:

  • (String)


552
553
554
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 552

def user_note
  @user_note
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
# File 'lib/google/apis/baremetalsolution_v2/classes.rb', line 559

def update!(**args)
  @account_networks_enabled = args[:account_networks_enabled] if args.key?(:account_networks_enabled)
  @client_network = args[:client_network] if args.key?(:client_network)
  @hyperthreading = args[:hyperthreading] if args.key?(:hyperthreading)
  @id = args[:id] if args.key?(:id)
  @instance_type = args[:instance_type] if args.key?(:instance_type)
  @kms_key_version = args[:kms_key_version] if args.key?(:kms_key_version)
  @logical_interfaces = args[:logical_interfaces] if args.key?(:logical_interfaces)
  @name = args[:name] if args.key?(:name)
  @network_config = args[:network_config] if args.key?(:network_config)
  @network_template = args[:network_template] if args.key?(:network_template)
  @os_image = args[:os_image] if args.key?(:os_image)
  @private_network = args[:private_network] if args.key?(:private_network)
  @ssh_key_names = args[:ssh_key_names] if args.key?(:ssh_key_names)
  @user_note = args[:user_note] if args.key?(:user_note)
end