Class: Google::Apis::OsconfigV1beta::Assignment
- Inherits:
-
Object
- Object
- Google::Apis::OsconfigV1beta::Assignment
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- generated/google/apis/osconfig_v1beta/classes.rb,
generated/google/apis/osconfig_v1beta/representations.rb,
generated/google/apis/osconfig_v1beta/representations.rb
Overview
An assignment represents the group or groups of VM instances that the policy applies to. If an assignment is empty, it applies to all VM instances. Otherwise, the targeted VM instances must meet all the criteria specified. So if both labels and zones are specified, the policy applies to VM instances with those labels and in those zones.
Instance Attribute Summary collapse
-
#group_labels ⇒ Array<Google::Apis::OsconfigV1beta::AssignmentGroupLabel>
Targets instances matching at least one of these label sets.
-
#instance_name_prefixes ⇒ Array<String>
Targets VM instances whose name starts with one of these prefixes.
-
#instances ⇒ Array<String>
Targets any of the instances specified.
-
#os_types ⇒ Array<Google::Apis::OsconfigV1beta::AssignmentOsType>
Targets VM instances matching at least one of the following OS types.
-
#zones ⇒ Array<String>
Targets instances in any of these zones.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Assignment
constructor
A new instance of Assignment.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Core::JsonObjectSupport
Methods included from Core::Hashable
Constructor Details
#initialize(**args) ⇒ Assignment
Returns a new instance of Assignment.
159 160 161 |
# File 'generated/google/apis/osconfig_v1beta/classes.rb', line 159 def initialize(**args) update!(**args) end |
Instance Attribute Details
#group_labels ⇒ Array<Google::Apis::OsconfigV1beta::AssignmentGroupLabel>
Targets instances matching at least one of these label sets. This allows
an assignment to target disparate groups, for example "env=prod or
env=staging".
Corresponds to the JSON property groupLabels
123 124 125 |
# File 'generated/google/apis/osconfig_v1beta/classes.rb', line 123 def group_labels @group_labels end |
#instance_name_prefixes ⇒ Array<String>
Targets VM instances whose name starts with one of these prefixes.
Like labels, this is another way to group VM instances when targeting
configs, for example prefix="prod-".
Only supported for project-level policies.
Corresponds to the JSON property instanceNamePrefixes
131 132 133 |
# File 'generated/google/apis/osconfig_v1beta/classes.rb', line 131 def instance_name_prefixes @instance_name_prefixes end |
#instances ⇒ Array<String>
Targets any of the instances specified. Instances are specified by their
URI in the form zones/[ZONE]/instances/[INSTANCE_NAME]
.
Instance targeting is uncommon and is supported to facilitate the
management of changes by the instance or to target specific VM instances
for development and testing.
Only supported for project-level policies and must reference instances
within this project.
Corresponds to the JSON property instances
142 143 144 |
# File 'generated/google/apis/osconfig_v1beta/classes.rb', line 142 def instances @instances end |
#os_types ⇒ Array<Google::Apis::OsconfigV1beta::AssignmentOsType>
Targets VM instances matching at least one of the following OS types.
VM instances must match all supplied criteria for a given OsType to be
included.
Corresponds to the JSON property osTypes
149 150 151 |
# File 'generated/google/apis/osconfig_v1beta/classes.rb', line 149 def os_types @os_types end |
#zones ⇒ Array<String>
Targets instances in any of these zones. Leave empty to target instances
in any zone.
Zonal targeting is uncommon and is supported to facilitate the management
of changes by zone.
Corresponds to the JSON property zones
157 158 159 |
# File 'generated/google/apis/osconfig_v1beta/classes.rb', line 157 def zones @zones end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
164 165 166 167 168 169 170 |
# File 'generated/google/apis/osconfig_v1beta/classes.rb', line 164 def update!(**args) @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) @os_types = args[:os_types] if args.key?(:os_types) @zones = args[:zones] if args.key?(:zones) end |