Method: globalVmExtensionPolicies.get

Gets details of a global VM extension policy.

HTTP request

GET https://compute.googleapis.com/compute/beta/projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}

The URL uses gRPC Transcoding syntax. To know more about valid error responses that can be thrown by this HTTP request, please refer to the service error catalog

Path parameters

Parameters
project

string

Project ID for this request.

globalVmExtensionPolicy

string

Name of the GlobalVmExtensionPolicy resource to return.

Request body

The request body must be empty.

Response body

Message describing GlobalVmExtensionPolicy object.

If successful, the response body contains data with the following structure:

JSON representation
{ "kind": string, "id": string, "creationTimestamp": string, "updateTimestamp": string, "name": string, "description": string, "selfLink": string, "selfLinkWithId": string, "extensionPolicies": { string: { "stringConfig": string, "pinnedVersion": string }, ... }, "instanceSelectors": [ { "labelSelector": { "inclusionLabels": { string: string, ... } } } ], "priority": integer, "scopedResourceStatus": enum, "rolloutOperation": { "rolloutInput": { "retryUuid": string, "conflictBehavior": string, // Union field rollout_plan can be only one of the following: "name": string, "predefinedRolloutPlan": enum // End of list of possible types for union field rollout_plan. }, "rolloutStatus": { "currentRollouts": [ { "rollout": string, "rolloutPlan": string, "state": enum } ], "previousRollout": { "rollout": string, "rolloutPlan": string, "state": enum } } } }
Fields
kind

string

[Output Only] Type of the resource. Always compute#globalVmExtensionPolicy for globalVmExtensionPolicies.

id

string (uint64 format)

[Output Only] The unique identifier for the resource. This identifier is defined by the server.

creationTimestamp

string

[Output Only] Creation timestamp in RFC3339 text format.

updateTimestamp

string

[Output Only] Update timestamp in RFC3339 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 with RFC1035. 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.

description

string

An optional description of this resource. Provide this property when you create the resource.

extensionPolicies[]

map (key: string, value: object)

Required. Map from extension (eg: "cloudops") to its policy configuration. The key is the name of the extension.

extensionPolicies[].stringConfig

string

Optional. String configuration. Any string payload that the extension understands.

extensionPolicies[].pinnedVersion

string

Optional. The version pinning for the extension. If empty, the extension will be installed with the latest version released by the extension producer.

instanceSelectors[]

object

Optional. Selector to target VMs for a policy. There is a logical "AND" between instanceSelectors.

instanceSelectors[].labelSelector

object

Optional. Labels within the LabelSelector are OR'd.

instanceSelectors[].labelSelector.inclusionLabels

map (key: string, value: string)

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.

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.

scopedResourceStatus

enum

[Output Only] The scoped resource status. It's only for tracking the purging status of the policy.

rolloutOperation

object

Required. The rollout strategy and status.

rolloutOperation.rolloutInput

object

Required. The rollout input which defines the rollout plan.

rolloutOperation.rolloutInput.name

string

Optional. The name of the rollout plan. Ex. projects//locations/global/rolloutPlans/.

rolloutOperation.rolloutInput.predefinedRolloutPlan

enum

Optional. Predefined rollout plan.

rolloutOperation.rolloutInput.retryUuid

string

Optional. The UUID of the retry action. Only set it if this is a retry for an existing resource. This is for the user re-populate the resource without changes. An error will be returned if the retryUuid is set but the resource get modified.

rolloutOperation.rolloutInput.conflictBehavior

string

Optional. [Optional] Specifies the behavior of the Rollout if a conflict is detected in a project during a Rollout. It can be one of the following values: 1) empty : don't overwrite the local value if conflict happens. This is the default behavior. 2) "overwrite" : Overwrite the local value with the rollout value. The concept of "conflict" applies to: 1) Insert action. If the zonal policy already exists when Insert happens, it's a conflict. 2) Update action. If the zonal policy was updated out of band by a zonal API, it's a conflict.

rolloutOperation.rolloutStatus

object

[Output Only] The rollout status of the policy.

rolloutOperation.rolloutStatus.currentRollouts[]

object

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

rolloutOperation.rolloutStatus.currentRollouts[].rollout

string

[Output Only] The name of the rollout. Ex. projects//locations/global/rollouts/.

rolloutOperation.rolloutStatus.currentRollouts[].rolloutPlan

string

[Output Only] The name of the rollout plan. Ex. projects//locations/global/rolloutPlans/.

rolloutOperation.rolloutStatus.currentRollouts[].state

enum

[Output Only] The overall state of the rollout.

rolloutOperation.rolloutStatus.previousRollout

object

[Output Only] The last completed rollout resource. This field will not be populated until the first rollout is completed.

rolloutOperation.rolloutStatus.previousRollout.rollout

string

[Output Only] The name of the rollout. Ex. projects//locations/global/rollouts/.

rolloutOperation.rolloutStatus.previousRollout.rolloutPlan

string

[Output Only] The name of the rollout plan. Ex. projects//locations/global/rolloutPlans/.

rolloutOperation.rolloutStatus.previousRollout.state

enum

[Output Only] The overall state of the rollout.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/compute.readonly
  • https://www.googleapis.com/auth/compute
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

In addition to any permissions specified on the fields above, authorization requires one or more of the following IAM permissions:

  • compute.vmExtensionPolicies.get

To find predefined roles that contain those permissions, see Compute Engine IAM Roles.