Class: Google::Cloud::OsConfig::V1::PatchInstanceFilter

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

Overview

A filter to target VM instances for patching. The targeted VMs must meet all criteria specified. So if both labels and zones are specified, the patch job targets only VMs with those labels and in those zones.

Defined Under Namespace

Classes: GroupLabel

Instance Attribute Summary collapse

Instance Attribute Details

#all::Boolean

Returns Target all VM instances in the project. If true, no other criteria is permitted.

Returns:

  • (::Boolean)

    Target all VM instances in the project. If true, no other criteria is permitted.



690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
# File 'proto_docs/google/cloud/osconfig/v1/patch_jobs.rb', line 690

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

  # Targets a group of VM instances by using their [assigned
  # labels](https://cloud.google.com/compute/docs/labeling-resources). Labels
  # are key-value pairs. A `GroupLabel` is a combination of labels
  # that is used to target VMs for a patch job.
  #
  # For example, a patch job can target VMs that have the following
  # `GroupLabel`: `{"env":"test", "app":"web"}`. This means that the patch job
  # is applied to VMs that have both the labels `env=test` and `app=web`.
  # @!attribute [rw] labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Compute Engine instance labels that must be present for a VM
  #     instance to be targeted by this filter.
  class GroupLabel
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class LabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#group_labels::Array<::Google::Cloud::OsConfig::V1::PatchInstanceFilter::GroupLabel>

Returns Targets VM instances matching ANY of these GroupLabels. This allows targeting of disparate groups of VM instances.

Returns:



690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
# File 'proto_docs/google/cloud/osconfig/v1/patch_jobs.rb', line 690

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

  # Targets a group of VM instances by using their [assigned
  # labels](https://cloud.google.com/compute/docs/labeling-resources). Labels
  # are key-value pairs. A `GroupLabel` is a combination of labels
  # that is used to target VMs for a patch job.
  #
  # For example, a patch job can target VMs that have the following
  # `GroupLabel`: `{"env":"test", "app":"web"}`. This means that the patch job
  # is applied to VMs that have both the labels `env=test` and `app=web`.
  # @!attribute [rw] labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Compute Engine instance labels that must be present for a VM
  #     instance to be targeted by this filter.
  class GroupLabel
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class LabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#instance_name_prefixes::Array<::String>

Returns Targets VMs whose name starts with one of these prefixes. Similar to labels, this is another way to group VMs when targeting configs, for example prefix="prod-".

Returns:

  • (::Array<::String>)

    Targets VMs whose name starts with one of these prefixes. Similar to labels, this is another way to group VMs when targeting configs, for example prefix="prod-".



690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
# File 'proto_docs/google/cloud/osconfig/v1/patch_jobs.rb', line 690

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

  # Targets a group of VM instances by using their [assigned
  # labels](https://cloud.google.com/compute/docs/labeling-resources). Labels
  # are key-value pairs. A `GroupLabel` is a combination of labels
  # that is used to target VMs for a patch job.
  #
  # For example, a patch job can target VMs that have the following
  # `GroupLabel`: `{"env":"test", "app":"web"}`. This means that the patch job
  # is applied to VMs that have both the labels `env=test` and `app=web`.
  # @!attribute [rw] labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Compute Engine instance labels that must be present for a VM
  #     instance to be targeted by this filter.
  class GroupLabel
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class LabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#instances::Array<::String>

Returns Targets any of the VM instances specified. Instances are specified by their URI in the form zones/[ZONE]/instances/[INSTANCE_NAME], projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME], or https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME].

Returns:

  • (::Array<::String>)

    Targets any of the VM instances specified. Instances are specified by their URI in the form zones/[ZONE]/instances/[INSTANCE_NAME], projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME], or https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]



690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
# File 'proto_docs/google/cloud/osconfig/v1/patch_jobs.rb', line 690

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

  # Targets a group of VM instances by using their [assigned
  # labels](https://cloud.google.com/compute/docs/labeling-resources). Labels
  # are key-value pairs. A `GroupLabel` is a combination of labels
  # that is used to target VMs for a patch job.
  #
  # For example, a patch job can target VMs that have the following
  # `GroupLabel`: `{"env":"test", "app":"web"}`. This means that the patch job
  # is applied to VMs that have both the labels `env=test` and `app=web`.
  # @!attribute [rw] labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Compute Engine instance labels that must be present for a VM
  #     instance to be targeted by this filter.
  class GroupLabel
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class LabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end

#zones::Array<::String>

Returns Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.

Returns:

  • (::Array<::String>)

    Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.



690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
# File 'proto_docs/google/cloud/osconfig/v1/patch_jobs.rb', line 690

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

  # Targets a group of VM instances by using their [assigned
  # labels](https://cloud.google.com/compute/docs/labeling-resources). Labels
  # are key-value pairs. A `GroupLabel` is a combination of labels
  # that is used to target VMs for a patch job.
  #
  # For example, a patch job can target VMs that have the following
  # `GroupLabel`: `{"env":"test", "app":"web"}`. This means that the patch job
  # is applied to VMs that have both the labels `env=test` and `app=web`.
  # @!attribute [rw] labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Compute Engine instance labels that must be present for a VM
  #     instance to be targeted by this filter.
  class GroupLabel
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class LabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end
end