PatchInstanceFilter

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.

JSON representation
{
  "all": boolean,
  "groupLabels": [
    {
      object (GroupLabel)
    }
  ],
  "zones": [
    string
  ],
  "instances": [
    string
  ],
  "instanceNamePrefixes": [
    string
  ]
}
Fields
all

boolean

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

groupLabels[]

object (GroupLabel)

Targets VM instances matching at least one of these label sets. This allows targeting of disparate groups, for example "env=prod or env=staging".

zones[]

string

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

instances[]

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]

instanceNamePrefixes[]

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-".

GroupLabel

Represents a group of VMs that can be identified as having all these labels, for example "env=prod and app=web".

JSON representation
{
  "labels": {
    string: string,
    ...
  }
}
Fields
labels

map (key: string, value: string)

Compute Engine instance labels that must be present for a VM instance to be targeted by this filter.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.