Class: Google::Apis::ComputeV1::BulkInsertInstanceResource

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

Overview

A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert . This resource is not persisted anywhere, it is used only for processing the requests.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ BulkInsertInstanceResource

Returns a new instance of BulkInsertInstanceResource.



6680
6681
6682
# File 'lib/google/apis/compute_v1/classes.rb', line 6680

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

Instance Attribute Details

#countFixnum

The maximum number of instances to create. Corresponds to the JSON property count

Returns:

  • (Fixnum)


6610
6611
6612
# File 'lib/google/apis/compute_v1/classes.rb', line 6610

def count
  @count
end

#instance_flexibility_policyGoogle::Apis::ComputeV1::InstanceFlexibilityPolicy

A flexible specification of machine types for instances to create. Corresponds to the JSON property instanceFlexibilityPolicy



6615
6616
6617
# File 'lib/google/apis/compute_v1/classes.rb', line 6615

def instance_flexibility_policy
  @instance_flexibility_policy
end

#instance_propertiesGoogle::Apis::ComputeV1::InstanceProperties

The instance properties defining the VM instances to be created. Required if sourceInstanceTemplate is not provided. Corresponds to the JSON property instanceProperties



6621
6622
6623
# File 'lib/google/apis/compute_v1/classes.rb', line 6621

def instance_properties
  @instance_properties
end

#location_policyGoogle::Apis::ComputeV1::LocationPolicy

Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region). Corresponds to the JSON property locationPolicy



6627
6628
6629
# File 'lib/google/apis/compute_v1/classes.rb', line 6627

def location_policy
  @location_policy
end

#min_countFixnum

The minimum number of instances to create. If no min_count is specified then count is used as the default value. Ifmin_count instances cannot be created, then no instances will be created and instances already created will be deleted. Corresponds to the JSON property minCount

Returns:

  • (Fixnum)


6635
6636
6637
# File 'lib/google/apis/compute_v1/classes.rb', line 6635

def min_count
  @min_count
end

#name_patternString

The string pattern used for the names of the VMs. Either name_pattern or per_instance_properties must be set. The pattern must contain one continuous sequence of placeholder hash characters (#) with each character corresponding to one digit of the generated instance name. Example: a name_pattern of inst-#### generates instance names such asinst-0001 and inst-0002. If existing instances in the same project and zone have names that match the name pattern then the generated instance numbers start after the biggest existing number. For example, if there exists an instance with nameinst-0050, then instance names generated using the patterninst-#### begin with inst-0051. The name pattern placeholder #...# can contain up to 18 characters. Corresponds to the JSON property namePattern

Returns:

  • (String)


6652
6653
6654
# File 'lib/google/apis/compute_v1/classes.rb', line 6652

def name_pattern
  @name_pattern
end

#per_instance_propertiesHash<String,Google::Apis::ComputeV1::BulkInsertInstanceResourcePerInstanceProperties>

Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used. Corresponds to the JSON property perInstanceProperties



6659
6660
6661
# File 'lib/google/apis/compute_v1/classes.rb', line 6659

def per_instance_properties
  @per_instance_properties
end

#source_instance_templateString

Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate withinstanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396. It can be a full or partial URL. For example, the following are all valid URLs to an instance template:

Returns:

  • (String)


6678
6679
6680
# File 'lib/google/apis/compute_v1/classes.rb', line 6678

def source_instance_template
  @source_instance_template
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
# File 'lib/google/apis/compute_v1/classes.rb', line 6685

def update!(**args)
  @count = args[:count] if args.key?(:count)
  @instance_flexibility_policy = args[:instance_flexibility_policy] if args.key?(:instance_flexibility_policy)
  @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
  @location_policy = args[:location_policy] if args.key?(:location_policy)
  @min_count = args[:min_count] if args.key?(:min_count)
  @name_pattern = args[:name_pattern] if args.key?(:name_pattern)
  @per_instance_properties = args[:per_instance_properties] if args.key?(:per_instance_properties)
  @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
end