@@ -7168,6 +7168,11 @@ class BulkInsertInstanceResource
71687168 # @return [Fixnum]
71697169 attr_accessor :count
71707170
7171+ # A flexible specification of machine types for instances to create.
7172+ # Corresponds to the JSON property `instanceFlexibilityPolicy`
7173+ # @return [Google::Apis::ComputeBeta::InstanceFlexibilityPolicy]
7174+ attr_accessor :instance_flexibility_policy
7175+
71717176 # The instance properties defining the VM instances to be created. Required
71727177 # if sourceInstanceTemplate is not provided.
71737178 # Corresponds to the JSON property `instanceProperties`
@@ -7238,6 +7243,7 @@ def initialize(**args)
72387243 # Update properties of this object
72397244 def update!(**args)
72407245 @count = args[:count] if args.key?(:count)
7246+ @instance_flexibility_policy = args[:instance_flexibility_policy] if args.key?(:instance_flexibility_policy)
72417247 @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
72427248 @location_policy = args[:location_policy] if args.key?(:location_policy)
72437249 @min_count = args[:min_count] if args.key?(:min_count)
@@ -21617,6 +21623,76 @@ def update!(**args)
2161721623 end
2161821624 end
2161921625
21626+ # A flexible specification of machine types for instances to create.
21627+ class InstanceFlexibilityPolicy
21628+ include Google::Apis::Core::Hashable
21629+
21630+ # Specification of alternative, flexible instance subsets.
21631+ # One of them will be selected to create the instances
21632+ # based on various criteria, like:
21633+ # - ranks,
21634+ # - location policy,
21635+ # - current capacity,
21636+ # - available reservations (you can specify affinity in
21637+ # InstanceProperties),
21638+ # - SWAN/GOOSE limitations.
21639+ # Key is an arbitrary, unique RFC1035 string that identifies the instance
21640+ # selection.
21641+ # Corresponds to the JSON property `instanceSelections`
21642+ # @return [Hash<String,Google::Apis::ComputeBeta::InstanceFlexibilityPolicyInstanceSelection>]
21643+ attr_accessor :instance_selections
21644+
21645+ def initialize(**args)
21646+ update!(**args)
21647+ end
21648+
21649+ # Update properties of this object
21650+ def update!(**args)
21651+ @instance_selections = args[:instance_selections] if args.key?(:instance_selections)
21652+ end
21653+ end
21654+
21655+ # Specification of machine type to use. Every position inside this message
21656+ # is an alternative.
21657+ # The count specified in the shape flexibility must not exceed the number
21658+ # of entries in per_instance_properties or the capacity of the
21659+ # name_pattern, if used.
21660+ class InstanceFlexibilityPolicyInstanceSelection
21661+ include Google::Apis::Core::Hashable
21662+
21663+ # Disks to be attached to the instances created from in this selection.
21664+ # They override the disks specified in the instance properties.
21665+ # Corresponds to the JSON property `disks`
21666+ # @return [Array<Google::Apis::ComputeBeta::AttachedDisk>]
21667+ attr_accessor :disks
21668+
21669+ # Alternative machine types to use for instances that are created from
21670+ # these properties. This field only accepts a machine type names, for
21671+ # example `n2-standard-4` and not URLs or partial URLs.
21672+ # Corresponds to the JSON property `machineTypes`
21673+ # @return [Array<String>]
21674+ attr_accessor :machine_types
21675+
21676+ # Rank when prioritizing the shape flexibilities.
21677+ # The instance selections with rank are considered
21678+ # first, in the ascending order of the rank.
21679+ # If not set, defaults to 0.
21680+ # Corresponds to the JSON property `rank`
21681+ # @return [Fixnum]
21682+ attr_accessor :rank
21683+
21684+ def initialize(**args)
21685+ update!(**args)
21686+ end
21687+
21688+ # Update properties of this object
21689+ def update!(**args)
21690+ @disks = args[:disks] if args.key?(:disks)
21691+ @machine_types = args[:machine_types] if args.key?(:machine_types)
21692+ @rank = args[:rank] if args.key?(:rank)
21693+ end
21694+ end
21695+
2162021696 # Represents an Instance Group resource.
2162121697 # Instance Groups can be used to configure a target forload
2162221698 # balancing.
@@ -28041,6 +28117,7 @@ class InterconnectAttachment
2804128117 # - BPS_20G: 20 Gbit/s
2804228118 # - BPS_50G: 50 Gbit/s
2804328119 # - BPS_100G: 100 Gbit/s
28120+ # - BPS_400G: 400 Gbit/s
2804428121 # Corresponds to the JSON property `bandwidth`
2804528122 # @return [String]
2804628123 attr_accessor :bandwidth
0 commit comments