Class: Google::Apis::OsconfigV1beta::PatchInstanceFilter
- Inherits:
-
Object
- Object
- Google::Apis::OsconfigV1beta::PatchInstanceFilter
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/osconfig_v1beta/classes.rb,
lib/google/apis/osconfig_v1beta/representations.rb,
lib/google/apis/osconfig_v1beta/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::OsconfigV1beta::PatchInstanceFilterGroupLabel>
Targets VM instances matching at least one of these label sets.
-
#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.
1261 1262 1263 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1261 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
1230 1231 1232 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1230 def all @all end |
#group_labels ⇒ Array<Google::Apis::OsconfigV1beta::PatchInstanceFilterGroupLabel>
Targets VM instances matching at least one of these label sets. This allows
targeting of disparate groups, for example "env=prod or env=staging".
Corresponds to the JSON property groupLabels
1237 1238 1239 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1237 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
1244 1245 1246 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1244 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
1253 1254 1255 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1253 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
1259 1260 1261 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1259 def zones @zones end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1266 1267 1268 1269 1270 1271 1272 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1266 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 |