---
title: "PATCH /projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}"
method: PATCH
path: "/projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}"
tags: ["globalVmExtensionPolicies"]
---

# PATCH /projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}

`PATCH /projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}`

Updates a global VM extension policy.

## Path parameters

- `project` string, required
- `globalVmExtensionPolicy` string, required

## Query parameters

- `requestId` string

## Request body

- GlobalVmExtensionPolicy — Message describing GlobalVmExtensionPolicy object.
  - `selfLink` string — Output only. [Output Only] Server-defined fully-qualified URL for this resource.
  - `priority` integer — Optional. Used to resolve conflicts when multiple policies are active for the same extension. Defaults to 0. Larger the number, higher the priority. When the priority is the same, the policy with the newer create time has higher priority.
  - `id` string, uint64 — Output only. [Output Only] The unique identifier for the resource. This identifier is defined by the server.
  - `scopedResourceStatus` 'SCOPED_RESOURCE_STATUS_DELETING' | 'SCOPED_RESOURCE_STATUS_UNSPECIFIED' — Output only. [Output Only] The scoped resource status. It's only for tracking the purging status of the policy.
  - `selfLinkWithId` string — Output only. [Output Only] Server-defined URL for this resource's resource id.
  - `kind` string — Output only. [Output Only] Type of the resource. Alwayscompute#globalVmExtensionPolicy for globalVmExtensionPolicies.
  - `updateTimestamp` string — Output only. [Output Only] Update timestamp inRFC3339 text format.
  - `name` string — Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply withRFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
  - `instanceSelectors` GlobalVmExtensionPolicyInstanceSelector[] — Optional. Selector to target VMs for a policy. There is a logical "AND" between instance_selectors.
    - `labelSelector` GlobalVmExtensionPolicyLabelSelector — A LabelSelector is applicable for a VM only if it matches all labels in the LabelSelector.
      - `inclusionLabels` object — Optional. Labels as key value pairs. A VM should contain all the pairs specified in this map to be selected; Labels within the LabelSelector are OR'ed.
  - `rolloutOperation` GlobalVmExtensionPolicyRolloutOperation — Represents the rollout operation
    - `rolloutInput` GlobalVmExtensionPolicyRolloutOperationRolloutInput
      - `conflictBehavior` string — Optional. Specifies the behavior of the rollout if a conflict is detected in a project during a rollout. This only applies to `insert` and `update` methods. A conflict occurs in the following cases: * `insert` method: If the zonal policy already exists when the insert happens. * `update` method: If the zonal policy was modified by a zonal API call outside of this rollout. Possible values are the following: * `""` (empty string): If a conflict occurs, the local value is not overwritten. This is the default behavior. * `"overwrite"`: If a conflict occurs, the local value is overwritten with the rollout value.
      - `retryUuid` string — Optional. The UUID that identifies a policy rollout retry attempt for update and delete operations. Set this field only when retrying a rollout for an existing extension policy. * `update` method: Lets you retry policy rollout without changes. An error occurs if you set retry_uuid but the policy is modified. * `delete` method: Lets you retry policy deletion rollout if the previous deletion rollout is not finished and the policy is in the DELETING state. If you set this field when the policy is not in the DELETING state, an error occurs.
      - `name` string — Optional. The name of the rollout plan. Ex. projects//locations/global/rolloutPlans/.
      - `predefinedRolloutPlan` 'FAST_ROLLOUT' | 'ROLLOUT_PLAN_UNSPECIFIED' | 'SLOW_ROLLOUT' — Optional. Specifies the predefined rollout plan for the policy. Valid values are `SLOW_ROLLOUT` and `FAST_ROLLOUT`. The recommended value is `SLOW_ROLLOUT` for progressive rollout. For more information, see Rollout plans for global policies.
    - `rolloutStatus` GlobalVmExtensionPolicyRolloutOperationRolloutStatus
      - `currentRollouts` GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadata[] — Output only. [Output Only] The current rollouts for the latest version of the resource. There should be only one current rollout, but for scalability, we make it repeated.
        - `state` 'STATE_CANCELLED' | 'STATE_COMPLETED' | 'STATE_FAILED' | 'STATE_PAUSED' | 'STATE_PROCESSING' | 'STATE_UNKNOWN' | 'STATE_UNSPECIFIED' — Output only. [Output Only] The overall state of the rollout.
        - `locationRolloutStatus` object — Output only. [Output Only] The rollout status for each location. The list of the locations is the same as the list of locations in the rollout plan.
        - `rolloutPlan` string — Output only. [Output Only] The name of the rollout plan. Ex. projects//locations/global/rolloutPlans/.
        - `rollout` string — Output only. [Output Only] The name of the rollout. Ex. projects//locations/global/rollouts/.
      - `previousRollout` GlobalVmExtensionPolicyRolloutOperationRolloutStatusRolloutMetadata
        - `state` 'STATE_CANCELLED' | 'STATE_COMPLETED' | 'STATE_FAILED' | 'STATE_PAUSED' | 'STATE_PROCESSING' | 'STATE_UNKNOWN' | 'STATE_UNSPECIFIED' — Output only. [Output Only] The overall state of the rollout.
        - `locationRolloutStatus` object — Output only. [Output Only] The rollout status for each location. The list of the locations is the same as the list of locations in the rollout plan.
        - `rolloutPlan` string — Output only. [Output Only] The name of the rollout plan. Ex. projects//locations/global/rolloutPlans/.
        - `rollout` string — Output only. [Output Only] The name of the rollout. Ex. projects//locations/global/rollouts/.
  - `description` string — An optional description of this resource. Provide this property when you create the resource.
  - `creationTimestamp` string — Output only. [Output Only] Creation timestamp inRFC3339 text format.
  - `extensionPolicies` object — Required. Map from extension (eg: "cloudops") to its policy configuration. The key is the name of the extension.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/compute.md) · [All operations](https://skmtc.net/google/apis/compute/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/compute/revisions/6120ed8969d4/schema)
