Class: Google::Apis::ComputeAlpha::BulkInsertInstanceResource

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ BulkInsertInstanceResource

Returns a new instance of BulkInsertInstanceResource.



4924
4925
4926
# File 'lib/google/apis/compute_alpha/classes.rb', line 4924

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)


4855
4856
4857
# File 'lib/google/apis/compute_alpha/classes.rb', line 4855

def count
  @count
end

#instanceGoogle::Apis::ComputeAlpha::Instance

Represents an Instance resource. An instance is a virtual machine that is hosted on Google Cloud Platform. For more information, read Virtual Machine Instances. (== resource_for $ api_version.instances ==) Corresponds to the JSON property instance



4863
4864
4865
# File 'lib/google/apis/compute_alpha/classes.rb', line 4863

def instance
  @instance
end

#instance_propertiesGoogle::Apis::ComputeAlpha::InstanceProperties

Corresponds to the JSON property instanceProperties



4868
4869
4870
# File 'lib/google/apis/compute_alpha/classes.rb', line 4868

def instance_properties
  @instance_properties
end

#location_policyGoogle::Apis::ComputeAlpha::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



4874
4875
4876
# File 'lib/google/apis/compute_alpha/classes.rb', line 4874

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. If min_count instances cannot be created, then no instances will be created. Corresponds to the JSON property minCount

Returns:

  • (Fixnum)


4881
4882
4883
# File 'lib/google/apis/compute_alpha/classes.rb', line 4881

def min_count
  @min_count
end

#name_patternString

The string pattern used for the names of the VMs. Either name_pattern or predefined_names must be set. The pattern should contain one consecutive sequence of placeholder hash characters (#) with each character corresponding to one digit of the generated instance name. Example: name_pattern of inst-#### will generate instance names like inst-0001, inst-0002, ... . If there already exist instance(s) whose names match the name pattern in the same project and zone, then the generated instance numbers will start after the biggest existing number. For example, if there exists an instance with name inst-0050, then instance names generated using the pattern inst-#### will be inst-0051, inst-0052, etc. The name pattern placeholder #...# can contain up to 18 characters. Corresponds to the JSON property namePattern

Returns:

  • (String)


4896
4897
4898
# File 'lib/google/apis/compute_alpha/classes.rb', line 4896

def name_pattern
  @name_pattern
end

#per_instance_propertiesHash<String,Google::Apis::ComputeAlpha::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



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

def per_instance_properties
  @per_instance_properties
end

#predefined_namesArray<String>

List of predefined names. The number of names provided must be equal to count. Corresponds to the JSON property predefinedNames

Returns:

  • (Array<String>)


4907
4908
4909
# File 'lib/google/apis/compute_alpha/classes.rb', line 4907

def predefined_names
  @predefined_names
end

#source_instance_templateString

Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties 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)


4922
4923
4924
# File 'lib/google/apis/compute_alpha/classes.rb', line 4922

def source_instance_template
  @source_instance_template
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
# File 'lib/google/apis/compute_alpha/classes.rb', line 4929

def update!(**args)
  @count = args[:count] if args.key?(:count)
  @instance = args[:instance] if args.key?(:instance)
  @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)
  @predefined_names = args[:predefined_names] if args.key?(:predefined_names)
  @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
end