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.
1202 1203 1204 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1202 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
1171 1172 1173 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1171 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
1178 1179 1180 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1178 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
1185 1186 1187 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1185 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
1194 1195 1196 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1194 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
1200 1201 1202 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1200 def zones @zones end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1207 1208 1209 1210 1211 1212 1213 |
# File 'lib/google/apis/osconfig_v1beta/classes.rb', line 1207 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 |