Class: Google::Apis::ComputeAlpha::BulkInsertInstanceResource
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::BulkInsertInstanceResource
- 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
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
-
#count ⇒ Fixnum
The maximum number of instances to create.
-
#instance_flexibility_policy ⇒ Google::Apis::ComputeAlpha::InstanceFlexibilityPolicy
A flexible specification of machine types for instances to create.
-
#instance_properties ⇒ Google::Apis::ComputeAlpha::InstanceProperties
The instance properties defining the VM instances to be created.
-
#location_policy ⇒ Google::Apis::ComputeAlpha::LocationPolicy
Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region).
-
#min_count ⇒ Fixnum
The minimum number of instances to create.
-
#name_pattern ⇒ String
The string pattern used for the names of the VMs.
-
#per_instance_properties ⇒ Hash<String,Google::Apis::ComputeAlpha::BulkInsertInstanceResourcePerInstanceProperties>
Per-instance properties to be set on individual instances.
-
#source_instance_template ⇒ String
Specifies the instance template from which to create instances.
Instance Method Summary collapse
-
#initialize(**args) ⇒ BulkInsertInstanceResource
constructor
A new instance of BulkInsertInstanceResource.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ BulkInsertInstanceResource
Returns a new instance of BulkInsertInstanceResource.
6824 6825 6826 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 6824 def initialize(**args) update!(**args) end |
Instance Attribute Details
#count ⇒ Fixnum
The maximum number of instances to create.
Corresponds to the JSON property count
6765 6766 6767 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 6765 def count @count end |
#instance_flexibility_policy ⇒ Google::Apis::ComputeAlpha::InstanceFlexibilityPolicy
A flexible specification of machine types for instances to create.
Corresponds to the JSON property instanceFlexibilityPolicy
6770 6771 6772 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 6770 def instance_flexibility_policy @instance_flexibility_policy end |
#instance_properties ⇒ Google::Apis::ComputeAlpha::InstanceProperties
The instance properties defining the VM instances to be created. Required if
sourceInstanceTemplate is not provided.
Corresponds to the JSON property instanceProperties
6776 6777 6778 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 6776 def instance_properties @instance_properties end |
#location_policy ⇒ Google::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
6782 6783 6784 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 6782 def location_policy @location_policy end |
#min_count ⇒ Fixnum
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 and instances already created will be
deleted.
Corresponds to the JSON property minCount
6790 6791 6792 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 6790 def min_count @min_count end |
#name_pattern ⇒ String
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 as inst-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 name inst-0050, then instance
names generated using the pattern inst-#### begin with inst-0051. The name
pattern placeholder #...# can contain up to 18 characters.
Corresponds to the JSON property namePattern
6804 6805 6806 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 6804 def name_pattern @name_pattern end |
#per_instance_properties ⇒ Hash<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
6810 6811 6812 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 6810 def per_instance_properties @per_instance_properties end |
#source_instance_template ⇒ String
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: - https://
www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/
instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate -
global/instanceTemplates/instanceTemplate This field is optional.
Corresponds to the JSON property sourceInstanceTemplate
6822 6823 6824 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 6822 def source_instance_template @source_instance_template end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 6829 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 |