Class: Google::Apis::ComputeAlpha::ResourcePolicyGroupPlacementPolicy
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::ResourcePolicyGroupPlacementPolicy
- 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 GroupPlacementPolicy specifies resource placement configuration. It specifies the failure bucket separation as well as network locality
Instance Attribute Summary collapse
-
#availability_domain_count ⇒ Fixnum
The number of availability domains to spread instances across.
-
#collocation ⇒ String
Specifies network collocation Corresponds to the JSON property
collocation
. -
#locality ⇒ String
Specifies network locality Corresponds to the JSON property
locality
. -
#max_distance ⇒ Fixnum
Specifies the number of max logical switches.
-
#scope ⇒ String
Scope specifies the availability domain to which the VMs should be spread.
-
#slice_count ⇒ Fixnum
Specifies the number of slices in a multislice workload.
-
#style ⇒ String
Specifies instances to hosts placement relationship Corresponds to the JSON property
style
. -
#tpu_topology ⇒ String
Specifies the shape of the TPU slice Corresponds to the JSON property
tpuTopology
. -
#vm_count ⇒ Fixnum
Number of VMs in this placement group.
Instance Method Summary collapse
-
#initialize(**args) ⇒ ResourcePolicyGroupPlacementPolicy
constructor
A new instance of ResourcePolicyGroupPlacementPolicy.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ ResourcePolicyGroupPlacementPolicy
Returns a new instance of ResourcePolicyGroupPlacementPolicy.
38618 38619 38620 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 38618 def initialize(**args) update!(**args) end |
Instance Attribute Details
#availability_domain_count ⇒ Fixnum
The number of availability domains to spread instances across. If two
instances are in different availability domain, they are not in the same low
latency network.
Corresponds to the JSON property availabilityDomainCount
38574 38575 38576 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 38574 def availability_domain_count @availability_domain_count end |
#collocation ⇒ String
Specifies network collocation
Corresponds to the JSON property collocation
38579 38580 38581 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 38579 def collocation @collocation end |
#locality ⇒ String
Specifies network locality
Corresponds to the JSON property locality
38584 38585 38586 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 38584 def locality @locality end |
#max_distance ⇒ Fixnum
Specifies the number of max logical switches.
Corresponds to the JSON property maxDistance
38589 38590 38591 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 38589 def max_distance @max_distance end |
#scope ⇒ String
Scope specifies the availability domain to which the VMs should be spread.
Corresponds to the JSON property scope
38594 38595 38596 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 38594 def scope @scope end |
#slice_count ⇒ Fixnum
Specifies the number of slices in a multislice workload.
Corresponds to the JSON property sliceCount
38599 38600 38601 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 38599 def slice_count @slice_count end |
#style ⇒ String
Specifies instances to hosts placement relationship
Corresponds to the JSON property style
38604 38605 38606 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 38604 def style @style end |
#tpu_topology ⇒ String
Specifies the shape of the TPU slice
Corresponds to the JSON property tpuTopology
38609 38610 38611 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 38609 def tpu_topology @tpu_topology end |
#vm_count ⇒ Fixnum
Number of VMs in this placement group. Google does not recommend that you use
this field unless you use a compact policy and you want your policy to work
only if it contains this exact number of VMs.
Corresponds to the JSON property vmCount
38616 38617 38618 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 38616 def vm_count @vm_count end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
38623 38624 38625 38626 38627 38628 38629 38630 38631 38632 38633 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 38623 def update!(**args) @availability_domain_count = args[:availability_domain_count] if args.key?(:availability_domain_count) @collocation = args[:collocation] if args.key?(:collocation) @locality = args[:locality] if args.key?(:locality) @max_distance = args[:max_distance] if args.key?(:max_distance) @scope = args[:scope] if args.key?(:scope) @slice_count = args[:slice_count] if args.key?(:slice_count) @style = args[:style] if args.key?(:style) @tpu_topology = args[:tpu_topology] if args.key?(:tpu_topology) @vm_count = args[:vm_count] if args.key?(:vm_count) end |