Class: Google::Cloud::Compute::V1::LocationPolicy

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/compute/v1/compute.rb

Overview

Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region).

Defined Under Namespace

Modules: TargetShape Classes: LocationsEntry

Instance Attribute Summary collapse

Instance Attribute Details

#locations ⇒ ::Google::Protobuf::Map{::String => ::Google::Cloud::Compute::V1::LocationPolicyLocation}

Returns Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a. The bulkInsert operation doesn't create instances in an AI zone, even if an AI zone is available in the specified region. For example, if you set a DENY preference for us-central1-a, Compute Engine will consider us-central1-b and us-central1-c for instance creation, but not us-central1-ai1a. Also, you can't use the locations configuration to allow instance creation in an AI zone. To include an AI zone in bulkInsert operations, use the locationPolicy.zones field.

Returns:

  • (::Google::Protobuf::Map{::String => ::Google::Cloud::Compute::V1::LocationPolicyLocation}) —

    Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a. The bulkInsert operation doesn't create instances in an AI zone, even if an AI zone is available in the specified region. For example, if you set a DENY preference for us-central1-a, Compute Engine will consider us-central1-b and us-central1-c for instance creation, but not us-central1-ai1a. Also, you can't use the locations configuration to allow instance creation in an AI zone. To include an AI zone in bulkInsert operations, use the locationPolicy.zones field.



55662
55663
55664
55665
55666
55667
55668
55669
55670
55671
55672
55673
55674
55675
55676
55677
55678
55679
55680
55681
55682
55683
55684
55685
55686
55687
55688
55689
55690
55691
55692
55693
55694
55695
55696
55697
55698
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 55662

class LocationPolicy
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Compute::V1::LocationPolicyLocation]
  class LocationsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Strategy for distributing VMs across zones in a region.
  module TargetShape
    # A value indicating that the enum field is not set.
    UNDEFINED_TARGET_SHAPE = 0

    # GCE picks zones for creating VM instances to fulfill the requested
    # number of VMs within present resource constraints and to maximize
    # utilization of unused zonal reservations. Recommended for batch workloads
    # that do not require high availability.
    ANY = 64_972

    # GCE always selects a single zone for all the VMs, optimizing for resource
    # quotas, available reservations and general capacity. Recommended for
    # batch workloads that cannot tollerate distribution over multiple zones.
    # This the default shape in Bulk Insert and Capacity Advisor APIs.
    ANY_SINGLE_ZONE = 61_100_880

    # GCE prioritizes acquisition of resources, scheduling VMs in zones
    # where resources are available while distributing VMs as evenly as
    # possible across allowed zones to minimize the impact of zonal failure.
    # Recommended for highly available serving workloads.
    BALANCED = 468_409_608
  end
end

#target_shape ⇒ ::String

Returns Strategy for distributing VMs across zones in a region. Check the TargetShape enum for the list of possible values.

Returns:

  • (::String) —

    Strategy for distributing VMs across zones in a region. Check the TargetShape enum for the list of possible values.



55662
55663
55664
55665
55666
55667
55668
55669
55670
55671
55672
55673
55674
55675
55676
55677
55678
55679
55680
55681
55682
55683
55684
55685
55686
55687
55688
55689
55690
55691
55692
55693
55694
55695
55696
55697
55698
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 55662

class LocationPolicy
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Compute::V1::LocationPolicyLocation]
  class LocationsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Strategy for distributing VMs across zones in a region.
  module TargetShape
    # A value indicating that the enum field is not set.
    UNDEFINED_TARGET_SHAPE = 0

    # GCE picks zones for creating VM instances to fulfill the requested
    # number of VMs within present resource constraints and to maximize
    # utilization of unused zonal reservations. Recommended for batch workloads
    # that do not require high availability.
    ANY = 64_972

    # GCE always selects a single zone for all the VMs, optimizing for resource
    # quotas, available reservations and general capacity. Recommended for
    # batch workloads that cannot tollerate distribution over multiple zones.
    # This the default shape in Bulk Insert and Capacity Advisor APIs.
    ANY_SINGLE_ZONE = 61_100_880

    # GCE prioritizes acquisition of resources, scheduling VMs in zones
    # where resources are available while distributing VMs as evenly as
    # possible across allowed zones to minimize the impact of zonal failure.
    # Recommended for highly available serving workloads.
    BALANCED = 468_409_608
  end
end

#zones ⇒ ::Array<::Google::Cloud::Compute::V1::LocationPolicyZoneConfiguration>

Returns The bulkInsert operation applies any preferences set in the locations field to the specific zones listed in the zones field if the same zones are specified in both fields.

Returns:



55662
55663
55664
55665
55666
55667
55668
55669
55670
55671
55672
55673
55674
55675
55676
55677
55678
55679
55680
55681
55682
55683
55684
55685
55686
55687
55688
55689
55690
55691
55692
55693
55694
55695
55696
55697
55698
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 55662

class LocationPolicy
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::Google::Cloud::Compute::V1::LocationPolicyLocation]
  class LocationsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Strategy for distributing VMs across zones in a region.
  module TargetShape
    # A value indicating that the enum field is not set.
    UNDEFINED_TARGET_SHAPE = 0

    # GCE picks zones for creating VM instances to fulfill the requested
    # number of VMs within present resource constraints and to maximize
    # utilization of unused zonal reservations. Recommended for batch workloads
    # that do not require high availability.
    ANY = 64_972

    # GCE always selects a single zone for all the VMs, optimizing for resource
    # quotas, available reservations and general capacity. Recommended for
    # batch workloads that cannot tollerate distribution over multiple zones.
    # This the default shape in Bulk Insert and Capacity Advisor APIs.
    ANY_SINGLE_ZONE = 61_100_880

    # GCE prioritizes acquisition of resources, scheduling VMs in zones
    # where resources are available while distributing VMs as evenly as
    # possible across allowed zones to minimize the impact of zonal failure.
    # Recommended for highly available serving workloads.
    BALANCED = 468_409_608
  end
end