Class: Google::Apis::OsconfigV1::PatchInstanceFilter
- Inherits:
-
Object
- Object
- Google::Apis::OsconfigV1::PatchInstanceFilter
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/osconfig_v1/classes.rb,
lib/google/apis/osconfig_v1/representations.rb,
lib/google/apis/osconfig_v1/representations.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.
Instance Attribute Summary collapse
-
#all ⇒ Boolean
(also: #all?)
Target all VM instances in the project.
-
#group_labels ⇒ Array<Google::Apis::OsconfigV1::PatchInstanceFilterGroupLabel>
Targets VM instances matching ANY of these GroupLabels.
-
#instance_name_prefixes ⇒ Array<String>
Targets VMs whose name starts with one of these prefixes.
-
#instances ⇒ Array<String>
Targets any of the VM instances specified.
-
#zones ⇒ Array<String>
Targets VM instances in ANY of these zones.
Instance Method Summary collapse
-
#initialize(**args) ⇒ PatchInstanceFilter
constructor
A new instance of PatchInstanceFilter.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ PatchInstanceFilter
Returns a new instance of PatchInstanceFilter.
3006 3007 3008 |
# File 'lib/google/apis/osconfig_v1/classes.rb', line 3006 def initialize(**args) update!(**args) end |
Instance Attribute Details
#all ⇒ Boolean Also known as: all?
Target all VM instances in the project. If true, no other criteria is
permitted.
Corresponds to the JSON property all
2975 2976 2977 |
# File 'lib/google/apis/osconfig_v1/classes.rb', line 2975 def all @all end |
#group_labels ⇒ Array<Google::Apis::OsconfigV1::PatchInstanceFilterGroupLabel>
Targets VM instances matching ANY of these GroupLabels. This allows targeting
of disparate groups of VM instances.
Corresponds to the JSON property groupLabels
2982 2983 2984 |
# File 'lib/google/apis/osconfig_v1/classes.rb', line 2982 def group_labels @group_labels end |
#instance_name_prefixes ⇒ 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-".
Corresponds to the JSON property instanceNamePrefixes
2989 2990 2991 |
# File 'lib/google/apis/osconfig_v1/classes.rb', line 2989 def instance_name_prefixes @instance_name_prefixes end |
#instances ⇒ 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]
Corresponds to the JSON property instances
2998 2999 3000 |
# File 'lib/google/apis/osconfig_v1/classes.rb', line 2998 def instances @instances end |
#zones ⇒ Array<String>
Targets VM instances in ANY of these zones. Leave empty to target VM instances
in any zone.
Corresponds to the JSON property zones
3004 3005 3006 |
# File 'lib/google/apis/osconfig_v1/classes.rb', line 3004 def zones @zones end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3011 3012 3013 3014 3015 3016 3017 |
# File 'lib/google/apis/osconfig_v1/classes.rb', line 3011 def update!(**args) @all = args[:all] if args.key?(:all) @group_labels = args[:group_labels] if args.key?(:group_labels) @instance_name_prefixes = args[:instance_name_prefixes] if args.key?(:instance_name_prefixes) @instances = args[:instances] if args.key?(:instances) @zones = args[:zones] if args.key?(:zones) end |