| <html><body> |
| <style> |
| |
| body, h1, h2, h3, div, span, p, pre, a { |
| margin: 0; |
| padding: 0; |
| border: 0; |
| font-weight: inherit; |
| font-style: inherit; |
| font-size: 100%; |
| font-family: inherit; |
| vertical-align: baseline; |
| } |
| |
| body { |
| font-size: 13px; |
| padding: 1em; |
| } |
| |
| h1 { |
| font-size: 26px; |
| margin-bottom: 1em; |
| } |
| |
| h2 { |
| font-size: 24px; |
| margin-bottom: 1em; |
| } |
| |
| h3 { |
| font-size: 20px; |
| margin-bottom: 1em; |
| margin-top: 1em; |
| } |
| |
| pre, code { |
| line-height: 1.5; |
| font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; |
| } |
| |
| pre { |
| margin-top: 0.5em; |
| } |
| |
| h1, h2, h3, p { |
| font-family: Arial, sans serif; |
| } |
| |
| h1, h2, h3 { |
| border-bottom: solid #CCC 1px; |
| } |
| |
| .toc_element { |
| margin-top: 0.5em; |
| } |
| |
| .firstline { |
| margin-left: 2 em; |
| } |
| |
| .method { |
| margin-top: 1em; |
| border: solid 1px #CCC; |
| padding: 1em; |
| background: #EEE; |
| } |
| |
| .details { |
| font-weight: bold; |
| font-size: 14px; |
| } |
| |
| </style> |
| |
| <h1><a href="compute_alpha.html">Compute Engine API</a> . <a href="compute_alpha.instanceGroupManagers.html">instanceGroupManagers</a></h1> |
| <h2>Instance Methods</h2> |
| <p class="toc_element"> |
| <code><a href="#abandonInstances">abandonInstances(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Flags the specified instances to be removed from the</p> |
| <p class="toc_element"> |
| <code><a href="#aggregatedList">aggregatedList(project, filter=None, includeAllScopes=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, serviceProjectNumber=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Retrieves the list of managed instance groups and groups them by zone.</p> |
| <p class="toc_element"> |
| <code><a href="#aggregatedList_next">aggregatedList_next()</a></code></p> |
| <p class="firstline">Retrieves the next page of results.</p> |
| <p class="toc_element"> |
| <code><a href="#applyUpdatesToInstances">applyUpdatesToInstances(project, zone, instanceGroupManager, body=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Applies changes to selected instances on the managed instance group.</p> |
| <p class="toc_element"> |
| <code><a href="#close">close()</a></code></p> |
| <p class="firstline">Close httplib2 connections.</p> |
| <p class="toc_element"> |
| <code><a href="#createInstances">createInstances(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Creates instances with per-instance configurations in this managed instance</p> |
| <p class="toc_element"> |
| <code><a href="#delete">delete(project, zone, instanceGroupManager, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Deletes the specified managed instance group and all of the instances</p> |
| <p class="toc_element"> |
| <code><a href="#deleteInstances">deleteInstances(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Flags the specified instances in the managed instance group for immediate</p> |
| <p class="toc_element"> |
| <code><a href="#deletePerInstanceConfigs">deletePerInstanceConfigs(project, zone, instanceGroupManager, body=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Deletes selected per-instance configurations for the managed instance</p> |
| <p class="toc_element"> |
| <code><a href="#get">get(project, zone, instanceGroupManager, x__xgafv=None)</a></code></p> |
| <p class="firstline">Returns all of the details about the specified managed instance group.</p> |
| <p class="toc_element"> |
| <code><a href="#getAvailableAcceleratorTopologies">getAvailableAcceleratorTopologies(project, zone, resourceId, x__xgafv=None)</a></code></p> |
| <p class="firstline">Returns information about available accelerator topologies for a given MIG.</p> |
| <p class="toc_element"> |
| <code><a href="#insert">insert(project, zone, body=None, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Creates a managed instance group using the information that you specify</p> |
| <p class="toc_element"> |
| <code><a href="#list">list(project, zone, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Retrieves a list of managed instance groups that are contained within the</p> |
| <p class="toc_element"> |
| <code><a href="#listErrors">listErrors(project, zone, instanceGroupManager, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Lists all errors thrown by actions on instances for a given managed</p> |
| <p class="toc_element"> |
| <code><a href="#listErrors_next">listErrors_next()</a></code></p> |
| <p class="firstline">Retrieves the next page of results.</p> |
| <p class="toc_element"> |
| <code><a href="#listManagedInstances">listManagedInstances(project, zone, instanceGroupManager, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Lists all of the instances in the managed instance group. Each instance</p> |
| <p class="toc_element"> |
| <code><a href="#listManagedInstances_next">listManagedInstances_next()</a></code></p> |
| <p class="firstline">Retrieves the next page of results.</p> |
| <p class="toc_element"> |
| <code><a href="#listPerInstanceConfigs">listPerInstanceConfigs(project, zone, instanceGroupManager, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Lists all of the per-instance configurations defined for the managed</p> |
| <p class="toc_element"> |
| <code><a href="#listPerInstanceConfigs_next">listPerInstanceConfigs_next()</a></code></p> |
| <p class="firstline">Retrieves the next page of results.</p> |
| <p class="toc_element"> |
| <code><a href="#list_next">list_next()</a></code></p> |
| <p class="firstline">Retrieves the next page of results.</p> |
| <p class="toc_element"> |
| <code><a href="#patch">patch(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Updates a managed instance group using the information that you specify</p> |
| <p class="toc_element"> |
| <code><a href="#patchPerInstanceConfigs">patchPerInstanceConfigs(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Inserts or patches per-instance configurations for the managed instance</p> |
| <p class="toc_element"> |
| <code><a href="#recreateInstances">recreateInstances(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Flags the specified VM instances in the managed instance group to be</p> |
| <p class="toc_element"> |
| <code><a href="#resize">resize(project, zone, instanceGroupManager, size, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Resizes the managed instance group. If you increase the size, the group</p> |
| <p class="toc_element"> |
| <code><a href="#resizeAdvanced">resizeAdvanced(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Resizes the managed instance group with advanced configuration options like</p> |
| <p class="toc_element"> |
| <code><a href="#resumeInstances">resumeInstances(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Flags the specified instances in the managed instance group to be</p> |
| <p class="toc_element"> |
| <code><a href="#setAutoHealingPolicies">setAutoHealingPolicies(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Motifies the autohealing policy for the instances in this managed</p> |
| <p class="toc_element"> |
| <code><a href="#setInstanceTemplate">setInstanceTemplate(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Specifies the instance template to use when creating new instances in this</p> |
| <p class="toc_element"> |
| <code><a href="#setTargetPools">setTargetPools(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Modifies the target pools to which all instances in this managed instance</p> |
| <p class="toc_element"> |
| <code><a href="#startInstances">startInstances(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Flags the specified instances in the managed instance group to be</p> |
| <p class="toc_element"> |
| <code><a href="#stopInstances">stopInstances(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Flags the specified instances in the managed instance group to be</p> |
| <p class="toc_element"> |
| <code><a href="#suspendInstances">suspendInstances(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Flags the specified instances in the managed instance group to be</p> |
| <p class="toc_element"> |
| <code><a href="#testIamPermissions">testIamPermissions(project, zone, resource, body=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Returns permissions that a caller has on the specified resource.</p> |
| <p class="toc_element"> |
| <code><a href="#update">update(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Updates a managed instance group using the information that you specify</p> |
| <p class="toc_element"> |
| <code><a href="#updatePerInstanceConfigs">updatePerInstanceConfigs(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</a></code></p> |
| <p class="firstline">Inserts or updates per-instance configurations for the managed instance</p> |
| <h3>Method Details</h3> |
| <div class="method"> |
| <code class="details" id="abandonInstances">abandonInstances(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</code> |
| <pre>Flags the specified instances to be removed from the |
| managed instance group. Abandoning an instance does not delete the |
| instance, but it does remove the instance from any target pools that are |
| applied by the managed instance group. This method reduces thetargetSize of the managed instance group by the |
| number of instances that you abandon. This operation is marked asDONE when the action is scheduled even if the instances have |
| not yet been removed from the group. You must separately verify the |
| status of the abandoning action with thelistmanagedinstances |
| method. |
| |
| If the group is part of a backend |
| service that has enabled |
| connection draining, it can take up to 60 seconds after the connection |
| draining duration has elapsed before the VM instance is removed or deleted. |
| |
| You can specify a maximum of 1000 instances with this method per request. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone where the managed |
| instance group is located. (required) |
| instanceGroupManager: string, The name of the managed instance group. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { |
| "instances": [ # The URLs of one or more instances to abandon. This can be a full URL or |
| # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. |
| "A String", |
| ], |
| } |
| |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. This |
| prevents clients from accidentally creating duplicate commitments. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="aggregatedList">aggregatedList(project, filter=None, includeAllScopes=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, serviceProjectNumber=None, x__xgafv=None)</code> |
| <pre>Retrieves the list of managed instance groups and groups them by zone. |
| |
| To prevent failure, Google recommends that you set the |
| `returnPartialSuccess` parameter to `true`. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| filter: string, A filter expression that filters resources listed in the response. Most |
| Compute resources support two types of filter expressions: |
| expressions that support regular expressions and expressions that follow |
| API improvement proposal AIP-160. |
| These two types of filter expressions cannot be mixed in one request. |
| |
| If you want to use AIP-160, your expression must specify the field name, an |
| operator, and the value that you want to use for filtering. The value |
| must be a string, a number, or a boolean. The operator |
| must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. |
| |
| For example, if you are filtering Compute Engine instances, you can |
| exclude instances named `example-instance` by specifying |
| `name != example-instance`. |
| |
| The `:*` comparison can be used to test whether a key has been defined. |
| For example, to find all objects with `owner` label use: |
| ``` |
| labels.owner:* |
| ``` |
| |
| You can also filter nested fields. For example, you could specify |
| `scheduling.automaticRestart = false` to include instances only |
| if they are not scheduled for automatic restarts. You can use filtering |
| on nested fields to filter based onresource labels. |
| |
| To filter on multiple expressions, provide each separate expression within |
| parentheses. For example: |
| ``` |
| (scheduling.automaticRestart = true) |
| (cpuPlatform = "Intel Skylake") |
| ``` |
| By default, each expression is an `AND` expression. However, you |
| can include `AND` and `OR` expressions explicitly. |
| For example: |
| ``` |
| (cpuPlatform = "Intel Skylake") OR |
| (cpuPlatform = "Intel Broadwell") AND |
| (scheduling.automaticRestart = true) |
| ``` |
| |
| If you want to use a regular expression, use the `eq` (equal) or `ne` |
| (not equal) operator against a single un-parenthesized expression with or |
| without quotes or against multiple parenthesized expressions. Examples: |
| |
| `fieldname eq unquoted literal` |
| `fieldname eq 'single quoted literal'` |
| `fieldname eq "double quoted literal"` |
| `(fieldname1 eq literal) (fieldname2 ne "literal")` |
| |
| The literal value is interpreted as a regular expression using GoogleRE2 library syntax. |
| The literal value must match the entire field. |
| |
| For example, to filter for instances that do not end with name "instance", |
| you would use `name ne .*instance`. |
| |
| You cannot combine constraints on multiple fields using regular |
| expressions. |
| includeAllScopes: boolean, Indicates whether every visible scope for each scope type (zone, region, |
| global) should be included in the response. For new resource types added |
| after this field, the flag has no effect as new resource types will always |
| include every visible scope for each scope type in response. For resource |
| types which predate this field, if this flag is omitted or false, only |
| scopes of the scope types where the resource type is expected to be found |
| will be included. |
| maxResults: integer, The maximum number of results per page that should be returned. |
| If the number of available results is larger than `maxResults`, |
| Compute Engine returns a `nextPageToken` that can be used to get |
| the next page of results in subsequent list requests. Acceptable values are |
| `0` to `500`, inclusive. (Default: `500`) |
| orderBy: string, Sorts list results by a certain order. By default, results |
| are returned in alphanumerical order based on the resource name. |
| |
| You can also sort results in descending order based on the creation |
| timestamp using `orderBy="creationTimestamp desc"`. This sorts |
| results based on the `creationTimestamp` field in |
| reverse chronological order (newest result first). Use this to sort |
| resources like operations so that the newest operation is returned first. |
| |
| Currently, only sorting by `name` or |
| `creationTimestamp desc` is supported. |
| pageToken: string, Specifies a page token to use. Set `pageToken` to the |
| `nextPageToken` returned by a previous list request to get |
| the next page of results. |
| returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case |
| of failure. The default value is false. |
| |
| For example, when partial success behavior is enabled, aggregatedList for a |
| single zone scope either returns all resources in the zone or no resources, |
| with an error code. |
| serviceProjectNumber: string, The Shared VPC service project id or service project number for which |
| aggregated list request is invoked for subnetworks list-usable api. |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { |
| "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. |
| "items": { # A list of InstanceGroupManagersScopedList resources. |
| "a_key": { # [Output Only] The name of the scope that contains this set of managed |
| # instance groups. |
| "instanceGroupManagers": [ # [Output Only] The list of managed instance groups that are contained in |
| # the specified project and zone. |
| { # Represents a Managed Instance Group resource. |
| # |
| # An instance group is a collection of VM instances that you can manage as a |
| # single entity. For more information, readInstance groups. |
| # |
| # For zonal Managed Instance Group, use the instanceGroupManagers |
| # resource. |
| # |
| # For regional Managed Instance Group, use theregionInstanceGroupManagers resource. |
| "allInstancesConfig": { # Specifies configuration that overrides the instance template configuration |
| # for the group. |
| "properties": { # Represents the change that you want to make to the instance properties. # Properties to set on all instances in the group. |
| # |
| # You can add or modify properties using theinstanceGroupManagers.patch orregionInstanceGroupManagers.patch. After settingallInstancesConfig on the group, you must update the group's |
| # instances to apply the configuration. To apply the configuration, set the |
| # group's updatePolicy.type field to use proactive updates or |
| # use the applyUpdatesToInstances method. |
| "labels": { # The label key-value pairs that you want to patch onto the instance. |
| "a_key": "A String", |
| }, |
| "metadata": { # The metadata key-value pairs that you want to patch onto the instance. For |
| # more information, see Project and |
| # instance metadata. |
| "a_key": "A String", |
| }, |
| }, |
| }, |
| "autoHealingPolicies": [ # The autohealing policy for this managed instance group. You can specify |
| # only one value. |
| { |
| "autoHealingTriggers": { # Restricts what triggers autohealing. |
| "onHealthCheck": "A String", # If you have configured an application-based health check for the group, |
| # this field controls whether to trigger VM autohealing based on a failed |
| # health check. Valid values are: |
| # |
| # - ON (default): The group recreates running VMs that |
| # fail the application-based health check. |
| # - OFF: When set to OFF, you can still observe instance |
| # health state, but the group does not recreate VMs that fail the |
| # application-based health check. This is useful for troubleshooting and |
| # setting up your health check configuration. |
| }, |
| "healthCheck": "A String", # The URL for the health check that signals autohealing. |
| "initialDelaySec": 42, # The initial delay is the number of seconds that a new VM takes to |
| # initialize and run its startup script. During a VM's initial delay |
| # period, the MIG ignores unsuccessful health checks because the VM might |
| # be in the startup process. This prevents the MIG from prematurely |
| # recreating a VM. If the health check receives a healthy response during |
| # the initial delay, it indicates that the startup process is complete and |
| # the VM is ready. The value of initial delay must be between 0 and 3600 |
| # seconds. The default value is 0. |
| "maxUnavailable": { # Encapsulates numeric value that can be either absolute or relative. # Maximum number of instances that can be unavailable when autohealing. |
| # When 'percent' is used, the value is rounded if necessary. |
| # The instance is considered available if all of the following conditions |
| # are satisfied: |
| # 1. Instance's status is RUNNING. |
| # 2. Instance's currentAction is NONE (in particular its liveness health |
| # check result was observed to be HEALTHY at least once as it passed |
| # VERIFYING). |
| # 3. There is no outgoing action on an instance triggered by IGM. |
| # |
| # By default, number of concurrently autohealed instances is smaller than |
| # the managed instance group target size. However, if a zonal managed |
| # instance group has only one instance, or a regional managed instance |
| # group has only one instance per zone, autohealing will recreate these |
| # instances when they become unhealthy. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| }, |
| ], |
| "baseInstanceName": "A String", # The base instance name is a prefix that you want to attach to the names of |
| # all VMs in a MIG. The maximum character length is 58 and the name must |
| # comply with RFC1035 format. |
| # |
| # When a VM is created in the group, the MIG appends a hyphen and a random |
| # four-character string to the base instance name. If you want the MIG to |
| # assign sequential numbers instead of a random string, then end the base |
| # instance name with a hyphen followed by one or more hash symbols. The hash |
| # symbols indicate the number of digits. For example, a base instance name of |
| # "vm-###" results in "vm-001" as a VM name. |
| # @pattern |
| # [a-z](([-a-z0-9]{0,57})|([-a-z0-9]{0,51}-#{1,10}(\\[[0-9]{1,10}\\])?)) |
| "creationTimestamp": "A String", # [Output Only] The creation timestamp for this managed instance group inRFC3339 |
| # text format. |
| "currentActions": { # [Output Only] The list of instance actions and the number of instances |
| # in this managed instance group that are scheduled for each of those |
| # actions. |
| "abandoning": 42, # [Output Only] The total number of instances in the managed instance group |
| # that are scheduled to be abandoned. Abandoning an instance removes it |
| # from the managed instance group without deleting it. |
| "creating": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be created or are currently being created. If the group |
| # fails to create any of these instances, it tries again until it creates |
| # the instance successfully. |
| # |
| # If you have disabled creation retries, this field will not be populated; |
| # instead, the creatingWithoutRetries field will be populated. |
| "creatingAtomically": 42, # [Output Only] The number of instances that the managed instance group |
| # will attempt to create atomically, in a batch mode. If the desired count |
| # of instances can not be created, entire batch will be deleted and the |
| # group will decrease its targetSize value accordingly. |
| "creatingWithoutRetries": 42, # [Output Only] The number of instances that the managed instance group |
| # will attempt to create. The group attempts to create each instance |
| # only once. If the group fails to create any of these instances, it |
| # decreases the group's targetSize value accordingly. |
| "deleting": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be deleted or are currently being deleted. |
| "none": 42, # [Output Only] The number of instances in the managed instance group that |
| # are running and have no scheduled actions. |
| "queuing": 42, # [Output Only] The number of instances that the managed instance group |
| # is currently queuing. |
| "recreating": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be recreated or are currently being being recreated. |
| # Recreating an instance deletes the existing root persistent disk |
| # and creates a new disk from the image that is defined in the |
| # instance template. |
| "refreshing": 42, # [Output Only] The number of instances in the managed instance group that |
| # are being reconfigured with properties that do not require a restart |
| # or a recreate action. For example, setting or removing target |
| # pools for the instance. |
| "restarting": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be restarted or are currently being restarted. |
| "resuming": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be resumed or are currently being resumed. |
| "starting": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be started or are currently being started. |
| "stopping": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be stopped or are currently being stopped. |
| "suspending": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be suspended or are currently being suspended. |
| "verifying": 42, # [Output Only] The number of instances in the managed instance group that |
| # are being verified. See the managedInstances[].currentAction |
| # property in the listManagedInstances method documentation. |
| }, |
| "description": "A String", # An optional description of this resource. |
| "distributionPolicy": { # Policy specifying the intended distribution of managed instances across |
| # zones in a regional managed instance group. |
| "targetShape": "A String", # The distribution shape to which the group converges either proactively or |
| # on resize events (depending on the value set inupdatePolicy.instanceRedistributionType). |
| "zones": [ # Zones where the regional managed instance group will create and manage |
| # its instances. |
| { |
| "zone": "A String", # The URL of thezone. |
| # The zone must exist in the region where the managed instance group is |
| # located. |
| }, |
| ], |
| }, |
| "failoverAction": "A String", # The action to perform in case of zone failure. Only one value is supported,NO_FAILOVER. The default is NO_FAILOVER. |
| "fingerprint": "A String", # Fingerprint of this resource. This field may be used in optimistic locking. |
| # It will be ignored when inserting an InstanceGroupManager. An up-to-date |
| # fingerprint must be provided in order to update the InstanceGroupManager, |
| # otherwise the request will fail with error412 conditionNotMet. |
| # |
| # To see the latest fingerprint, make a get() request to |
| # retrieve an InstanceGroupManager. |
| "id": "A String", # [Output Only] A unique identifier for this resource type. The server |
| # generates this identifier. |
| "instanceFlexibilityPolicy": { # Instance flexibility allowing MIG to create VMs from multiple |
| # types of machines. |
| # Instance flexibility configuration on MIG overrides instance |
| # template configuration. |
| "instanceSelectionLists": { # Named instance selections configuring properties that the group will use |
| # when creating new VMs. |
| "a_key": { |
| "disks": [ # List of disks to be attached to the instances created from this |
| # selection. |
| { # An instance-attached disk resource. |
| "architecture": "A String", # [Output Only] The architecture of the attached disk. Valid values are ARM64 |
| # or X86_64. |
| "autoDelete": True or False, # Specifies whether the disk will be auto-deleted when the instance is |
| # deleted (but not when the disk is detached from the instance). |
| "boot": True or False, # Indicates that this is a boot disk. The virtual machine will use the first |
| # partition of the disk for its root filesystem. |
| "deviceName": "A String", # Specifies a unique device name of your choice that is reflected into the/dev/disk/by-id/google-* tree of a Linux operating system |
| # running within the instance. This name can be used to reference the device |
| # for mounting, resizing, and so on, from within the instance. |
| # |
| # If not specified, the server chooses a default device name to apply to this |
| # disk, in the form persistent-disk-x, where x is a number |
| # assigned by Google Compute Engine. This field is only applicable for |
| # persistent disks. |
| "diskEncryptionKey": { # Encrypts or decrypts a disk using acustomer-supplied |
| # encryption key. |
| # |
| # If you are creating a new disk, this field encrypts the new disk using |
| # an encryption key that you provide. If you are attaching an existing |
| # disk that is already encrypted, this field decrypts the disk using |
| # the customer-supplied encryption key. |
| # |
| # If you encrypt a disk using a customer-supplied key, you must provide the |
| # same key again when you attempt to use this resource at a later time. For |
| # example, you must provide the key when you create a snapshot or an image |
| # from the disk or when you attach the disk to a virtual machine instance. |
| # |
| # If you do not provide an encryption key, then the disk will be encrypted |
| # using an automatically generated key and you do not need to provide a key |
| # to use the disk later. |
| # |
| # Note: |
| # |
| # Instance templates do not storecustomer-supplied |
| # encryption keys, so you cannot use your own keys to encrypt disks in amanaged instance group. |
| # |
| # You cannot create VMs that have disks with customer-supplied keys using |
| # the bulk |
| # insert method. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "diskSizeGb": "A String", # The size of the disk in GB. |
| "forceAttach": True or False, # [Input Only] Whether to force attach the regional disk even if it's |
| # currently attached to another instance. If you try to force attach a zonal |
| # disk to an instance, you will receive an error. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "index": 42, # [Output Only] A zero-based index to this disk, where 0 is reserved for the |
| # boot disk. If you have many disks attached to an instance, each |
| # disk would have a unique index number. |
| "initializeParams": { # [Input Only] Specifies the parameters for a new disk that will be created # [Input Only] Specifies the parameters for a new disk that will be created |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This field is persisted and returned for instanceTemplate and not returned |
| # in the context of instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| "architecture": "A String", # The architecture of the attached disk. Valid values are |
| # arm64 or x86_64. |
| "description": "A String", # An optional description. Provide this property when creating the disk. |
| "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name |
| # of the instance. If a disk with the same name already exists in the given |
| # region, the existing disk is attached to the new instance and the |
| # new disk is not created. |
| "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. The size must be at least |
| # 10 GB. If you specify a sourceImage, which is required for |
| # boot disks, the default size is the size of the sourceImage. |
| # If you do not specify a sourceImage, the default disk size |
| # is 500 GB. |
| "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, |
| # the default is pd-standard, specified using the full URL. |
| # For example: |
| # |
| # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard |
| # |
| # |
| # For a full list of acceptable values, seePersistent disk |
| # types. If you specify this field when creating a VM, you can provide |
| # either the full or partial URL. For example, the following values are |
| # valid: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType |
| # - projects/project/zones/zone/diskTypes/diskType |
| # - zones/zone/diskTypes/diskType |
| # |
| # |
| # If you specify this field when creating or updating an instance template |
| # or all-instances configuration, specify the type of the disk, not the |
| # URL. For example: pd-standard. |
| "enableConfidentialCompute": True or False, # Whether this disk is using confidential compute mode. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| # |
| # Guest OS features are applied by merginginitializeParams.guestOsFeatures anddisks.guestOsFeatures |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "interface": "A String", # [Deprecated] Specifies the disk interface to use for attaching this disk, |
| # which is either SCSI or NVME. The default isSCSI. |
| "labels": { # Labels to apply to this disk. These can be later modified by thedisks.setLabels method. This field is only applicable for |
| # persistent disks. |
| "a_key": "A String", |
| }, |
| "licenseCodes": [ # Integer license codes indicating which licenses are attached to this |
| # disk. |
| "A String", |
| ], |
| "licenses": [ # A list of publicly visible licenses. Reserved for Google's use. |
| "A String", |
| ], |
| "multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to |
| # more than one instance. |
| "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default |
| # is to use the existing disk. |
| "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number |
| # of I/O operations per second that the disk can handle. Values must be |
| # between 10,000 and 120,000. For more details, see theExtreme persistent |
| # disk documentation. |
| "provisionedThroughput": "A String", # Indicates how much throughput to provision for the disk. This sets the |
| # number of throughput mb per second that the disk can handle. Values must |
| # greater than or equal to 1. |
| "replicaZones": [ # Required for each regional disk associated with the instance. Specify |
| # the URLs of the zones where the disk should be replicated to. |
| # You must provide exactly two replica zones, and one zone must be the same |
| # as the instance zone. |
| "A String", |
| ], |
| "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values |
| # have the same definition as resource |
| # manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and |
| # values are in the format `tagValues/456`. The field is ignored (both PUT |
| # & PATCH) when empty. |
| "a_key": "A String", |
| }, |
| "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. |
| # Specified using the full or partial URL. For instance template, specify |
| # only the resource policy name. |
| "A String", |
| ], |
| "sourceImage": "A String", # The source image to create this disk. When creating a new instance boot |
| # disk, one of initializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # To create a disk with one of the public operating system |
| # images, specify the image by its family name. For example, specifyfamily/debian-9 to use the latest Debian 9 image: |
| # |
| # projects/debian-cloud/global/images/family/debian-9 |
| # |
| # |
| # Alternatively, use a specific version of a public operating system image: |
| # |
| # projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD |
| # |
| # |
| # To create a disk with a custom image that you created, specify the |
| # image name in the following format: |
| # |
| # global/images/my-custom-image |
| # |
| # |
| # You can also specify a custom image by its image family, which returns |
| # the latest version of the image in that family. Replace the image name |
| # with family/family-name: |
| # |
| # global/images/family/my-image-family |
| # |
| # |
| # If the source image is deleted later, this field will not be set. |
| "sourceImageEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source image. Required if the source image is |
| # protected by a customer-supplied encryption key. |
| # |
| # InstanceTemplate and InstancePropertiesPatch do not storecustomer-supplied |
| # encryption keys, so you cannot create disks for instances in a managed instance group if the |
| # source images are encrypted with your own keys. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "sourceInstantSnapshot": "A String", # The source instant-snapshot to create this disk. When creating a new |
| # instance boot disk, one of initializeParams.sourceSnapshot |
| # or initializeParams.sourceInstantSnapshotinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # us-central1-a/instantSnapshots/my-backup |
| # |
| # |
| # If the source instant-snapshot is deleted later, this field will not be |
| # set. |
| "sourceSnapshot": "A String", # The source snapshot to create this disk. When creating a new instance |
| # boot disk, one of initializeParams.sourceSnapshot orinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # global/snapshots/my-backup |
| # |
| # |
| # If the source snapshot is deleted later, this field will not be set. |
| # |
| # Note: You cannot create VMs in bulk using a snapshot as the source. Use |
| # an image instead when you create VMs using |
| # the bulk |
| # insert method. |
| "sourceSnapshotEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source snapshot. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "storagePool": "A String", # The storage pool in which the new disk is created. You can provide |
| # this as a partial or full URL to the resource. For example, the following |
| # are valid values: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/storagePools/storagePool |
| # - projects/project/zones/zone/storagePools/storagePool |
| # - zones/zone/storagePools/storagePool |
| }, |
| "interface": "A String", # Specifies the disk interface to use for attaching this disk, which is |
| # either SCSI or NVME. For most machine types, the |
| # default is SCSI. Local SSDs can use either NVME or SCSI. |
| # In certain configurations, persistent disks can use NVMe. For more |
| # information, seeAbout |
| # persistent disks. |
| "kind": "compute#attachedDisk", # [Output Only] Type of the resource. Alwayscompute#attachedDisk for attached disks. |
| "licenses": [ # [Output Only] Any valid publicly visible licenses. |
| "A String", |
| ], |
| "locked": True or False, # [Output Only] Whether to indicate the attached disk is locked. The locked |
| # disk is not allowed to be detached from the instance, or to be used as the |
| # source of the snapshot creation, and the image creation. The instance with |
| # at least one locked attached disk is not allow to be used as source of |
| # machine image creation, instant snapshot creation, and not allowed to be |
| # deleted with --keep-disk parameter set to true for locked disks. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the disk |
| # in READ_WRITE mode. |
| "savedState": "A String", # For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this |
| # field is set to PRESERVED if the LocalSSD data has been saved |
| # to a persistent location by customer request. (see the |
| # discard_local_ssd option on Stop/Suspend). |
| # Read-only in the api. |
| "shieldedInstanceInitialState": { # Initial State for shielded instance, # [Output Only] shielded vm initial state stored on disk |
| # these are public keys which are safe to store in public |
| "dbs": [ # The Key Database (db). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "dbxs": [ # The forbidden key database (dbx). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "keks": [ # The Key Exchange Key (KEK). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "pk": { # The Platform Key (PK). |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| }, |
| "source": "A String", # Specifies a valid partial or full URL to an existing Persistent Disk |
| # resource. When creating a new instance boot disk, one ofinitializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # If desired, you can also attach existing non-root persistent disks using |
| # this property. This field is only applicable for persistent disks. |
| # |
| # Note that for InstanceTemplate, specify the disk name for zonal disk, |
| # and the URL for regional disk. |
| "type": "A String", # Specifies the type of the disk, either SCRATCH orPERSISTENT. If not specified, the default isPERSISTENT. |
| "userLicenses": [ # [Output Only] A list of user provided licenses. It represents a list of |
| # URLs to the license resource. Unlike regular licenses, user provided |
| # licenses can be modified after the disk is created. |
| "A String", |
| ], |
| }, |
| ], |
| "machineTypes": [ # Full machine-type names, e.g. "n1-standard-16". |
| "A String", |
| ], |
| "minCpuPlatform": "A String", # Name of the minimum CPU platform to be used by this instance selection. |
| # e.g. 'Intel Ice Lake'. |
| "rank": 42, # Preference of this instance selection. Lower number means higher |
| # preference. MIG will first try to create a VM based on the machine-type |
| # with lowest rank and fallback to next rank based on availability. |
| # Machine types and instance selections with the same rank have the same |
| # preference. |
| }, |
| }, |
| "instanceSelections": { # Named instance selections configuring properties that the group will use |
| # when creating new VMs. |
| "a_key": { |
| "disks": [ # List of disks to be attached to the instances created from this |
| # selection. |
| { # An instance-attached disk resource. |
| "architecture": "A String", # [Output Only] The architecture of the attached disk. Valid values are ARM64 |
| # or X86_64. |
| "autoDelete": True or False, # Specifies whether the disk will be auto-deleted when the instance is |
| # deleted (but not when the disk is detached from the instance). |
| "boot": True or False, # Indicates that this is a boot disk. The virtual machine will use the first |
| # partition of the disk for its root filesystem. |
| "deviceName": "A String", # Specifies a unique device name of your choice that is reflected into the/dev/disk/by-id/google-* tree of a Linux operating system |
| # running within the instance. This name can be used to reference the device |
| # for mounting, resizing, and so on, from within the instance. |
| # |
| # If not specified, the server chooses a default device name to apply to this |
| # disk, in the form persistent-disk-x, where x is a number |
| # assigned by Google Compute Engine. This field is only applicable for |
| # persistent disks. |
| "diskEncryptionKey": { # Encrypts or decrypts a disk using acustomer-supplied |
| # encryption key. |
| # |
| # If you are creating a new disk, this field encrypts the new disk using |
| # an encryption key that you provide. If you are attaching an existing |
| # disk that is already encrypted, this field decrypts the disk using |
| # the customer-supplied encryption key. |
| # |
| # If you encrypt a disk using a customer-supplied key, you must provide the |
| # same key again when you attempt to use this resource at a later time. For |
| # example, you must provide the key when you create a snapshot or an image |
| # from the disk or when you attach the disk to a virtual machine instance. |
| # |
| # If you do not provide an encryption key, then the disk will be encrypted |
| # using an automatically generated key and you do not need to provide a key |
| # to use the disk later. |
| # |
| # Note: |
| # |
| # Instance templates do not storecustomer-supplied |
| # encryption keys, so you cannot use your own keys to encrypt disks in amanaged instance group. |
| # |
| # You cannot create VMs that have disks with customer-supplied keys using |
| # the bulk |
| # insert method. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "diskSizeGb": "A String", # The size of the disk in GB. |
| "forceAttach": True or False, # [Input Only] Whether to force attach the regional disk even if it's |
| # currently attached to another instance. If you try to force attach a zonal |
| # disk to an instance, you will receive an error. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "index": 42, # [Output Only] A zero-based index to this disk, where 0 is reserved for the |
| # boot disk. If you have many disks attached to an instance, each |
| # disk would have a unique index number. |
| "initializeParams": { # [Input Only] Specifies the parameters for a new disk that will be created # [Input Only] Specifies the parameters for a new disk that will be created |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This field is persisted and returned for instanceTemplate and not returned |
| # in the context of instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| "architecture": "A String", # The architecture of the attached disk. Valid values are |
| # arm64 or x86_64. |
| "description": "A String", # An optional description. Provide this property when creating the disk. |
| "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name |
| # of the instance. If a disk with the same name already exists in the given |
| # region, the existing disk is attached to the new instance and the |
| # new disk is not created. |
| "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. The size must be at least |
| # 10 GB. If you specify a sourceImage, which is required for |
| # boot disks, the default size is the size of the sourceImage. |
| # If you do not specify a sourceImage, the default disk size |
| # is 500 GB. |
| "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, |
| # the default is pd-standard, specified using the full URL. |
| # For example: |
| # |
| # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard |
| # |
| # |
| # For a full list of acceptable values, seePersistent disk |
| # types. If you specify this field when creating a VM, you can provide |
| # either the full or partial URL. For example, the following values are |
| # valid: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType |
| # - projects/project/zones/zone/diskTypes/diskType |
| # - zones/zone/diskTypes/diskType |
| # |
| # |
| # If you specify this field when creating or updating an instance template |
| # or all-instances configuration, specify the type of the disk, not the |
| # URL. For example: pd-standard. |
| "enableConfidentialCompute": True or False, # Whether this disk is using confidential compute mode. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| # |
| # Guest OS features are applied by merginginitializeParams.guestOsFeatures anddisks.guestOsFeatures |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "interface": "A String", # [Deprecated] Specifies the disk interface to use for attaching this disk, |
| # which is either SCSI or NVME. The default isSCSI. |
| "labels": { # Labels to apply to this disk. These can be later modified by thedisks.setLabels method. This field is only applicable for |
| # persistent disks. |
| "a_key": "A String", |
| }, |
| "licenseCodes": [ # Integer license codes indicating which licenses are attached to this |
| # disk. |
| "A String", |
| ], |
| "licenses": [ # A list of publicly visible licenses. Reserved for Google's use. |
| "A String", |
| ], |
| "multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to |
| # more than one instance. |
| "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default |
| # is to use the existing disk. |
| "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number |
| # of I/O operations per second that the disk can handle. Values must be |
| # between 10,000 and 120,000. For more details, see theExtreme persistent |
| # disk documentation. |
| "provisionedThroughput": "A String", # Indicates how much throughput to provision for the disk. This sets the |
| # number of throughput mb per second that the disk can handle. Values must |
| # greater than or equal to 1. |
| "replicaZones": [ # Required for each regional disk associated with the instance. Specify |
| # the URLs of the zones where the disk should be replicated to. |
| # You must provide exactly two replica zones, and one zone must be the same |
| # as the instance zone. |
| "A String", |
| ], |
| "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values |
| # have the same definition as resource |
| # manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and |
| # values are in the format `tagValues/456`. The field is ignored (both PUT |
| # & PATCH) when empty. |
| "a_key": "A String", |
| }, |
| "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. |
| # Specified using the full or partial URL. For instance template, specify |
| # only the resource policy name. |
| "A String", |
| ], |
| "sourceImage": "A String", # The source image to create this disk. When creating a new instance boot |
| # disk, one of initializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # To create a disk with one of the public operating system |
| # images, specify the image by its family name. For example, specifyfamily/debian-9 to use the latest Debian 9 image: |
| # |
| # projects/debian-cloud/global/images/family/debian-9 |
| # |
| # |
| # Alternatively, use a specific version of a public operating system image: |
| # |
| # projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD |
| # |
| # |
| # To create a disk with a custom image that you created, specify the |
| # image name in the following format: |
| # |
| # global/images/my-custom-image |
| # |
| # |
| # You can also specify a custom image by its image family, which returns |
| # the latest version of the image in that family. Replace the image name |
| # with family/family-name: |
| # |
| # global/images/family/my-image-family |
| # |
| # |
| # If the source image is deleted later, this field will not be set. |
| "sourceImageEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source image. Required if the source image is |
| # protected by a customer-supplied encryption key. |
| # |
| # InstanceTemplate and InstancePropertiesPatch do not storecustomer-supplied |
| # encryption keys, so you cannot create disks for instances in a managed instance group if the |
| # source images are encrypted with your own keys. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "sourceInstantSnapshot": "A String", # The source instant-snapshot to create this disk. When creating a new |
| # instance boot disk, one of initializeParams.sourceSnapshot |
| # or initializeParams.sourceInstantSnapshotinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # us-central1-a/instantSnapshots/my-backup |
| # |
| # |
| # If the source instant-snapshot is deleted later, this field will not be |
| # set. |
| "sourceSnapshot": "A String", # The source snapshot to create this disk. When creating a new instance |
| # boot disk, one of initializeParams.sourceSnapshot orinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # global/snapshots/my-backup |
| # |
| # |
| # If the source snapshot is deleted later, this field will not be set. |
| # |
| # Note: You cannot create VMs in bulk using a snapshot as the source. Use |
| # an image instead when you create VMs using |
| # the bulk |
| # insert method. |
| "sourceSnapshotEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source snapshot. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "storagePool": "A String", # The storage pool in which the new disk is created. You can provide |
| # this as a partial or full URL to the resource. For example, the following |
| # are valid values: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/storagePools/storagePool |
| # - projects/project/zones/zone/storagePools/storagePool |
| # - zones/zone/storagePools/storagePool |
| }, |
| "interface": "A String", # Specifies the disk interface to use for attaching this disk, which is |
| # either SCSI or NVME. For most machine types, the |
| # default is SCSI. Local SSDs can use either NVME or SCSI. |
| # In certain configurations, persistent disks can use NVMe. For more |
| # information, seeAbout |
| # persistent disks. |
| "kind": "compute#attachedDisk", # [Output Only] Type of the resource. Alwayscompute#attachedDisk for attached disks. |
| "licenses": [ # [Output Only] Any valid publicly visible licenses. |
| "A String", |
| ], |
| "locked": True or False, # [Output Only] Whether to indicate the attached disk is locked. The locked |
| # disk is not allowed to be detached from the instance, or to be used as the |
| # source of the snapshot creation, and the image creation. The instance with |
| # at least one locked attached disk is not allow to be used as source of |
| # machine image creation, instant snapshot creation, and not allowed to be |
| # deleted with --keep-disk parameter set to true for locked disks. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the disk |
| # in READ_WRITE mode. |
| "savedState": "A String", # For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this |
| # field is set to PRESERVED if the LocalSSD data has been saved |
| # to a persistent location by customer request. (see the |
| # discard_local_ssd option on Stop/Suspend). |
| # Read-only in the api. |
| "shieldedInstanceInitialState": { # Initial State for shielded instance, # [Output Only] shielded vm initial state stored on disk |
| # these are public keys which are safe to store in public |
| "dbs": [ # The Key Database (db). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "dbxs": [ # The forbidden key database (dbx). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "keks": [ # The Key Exchange Key (KEK). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "pk": { # The Platform Key (PK). |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| }, |
| "source": "A String", # Specifies a valid partial or full URL to an existing Persistent Disk |
| # resource. When creating a new instance boot disk, one ofinitializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # If desired, you can also attach existing non-root persistent disks using |
| # this property. This field is only applicable for persistent disks. |
| # |
| # Note that for InstanceTemplate, specify the disk name for zonal disk, |
| # and the URL for regional disk. |
| "type": "A String", # Specifies the type of the disk, either SCRATCH orPERSISTENT. If not specified, the default isPERSISTENT. |
| "userLicenses": [ # [Output Only] A list of user provided licenses. It represents a list of |
| # URLs to the license resource. Unlike regular licenses, user provided |
| # licenses can be modified after the disk is created. |
| "A String", |
| ], |
| }, |
| ], |
| "machineTypes": [ # Full machine-type names, e.g. "n1-standard-16". |
| "A String", |
| ], |
| "minCpuPlatform": "A String", # Name of the minimum CPU platform to be used by this instance selection. |
| # e.g. 'Intel Ice Lake'. |
| "rank": 42, # Preference of this instance selection. Lower number means higher |
| # preference. MIG will first try to create a VM based on the machine-type |
| # with lowest rank and fallback to next rank based on availability. |
| # Machine types and instance selections with the same rank have the same |
| # preference. |
| }, |
| }, |
| "provisioningModelMix": { # Provisioning model configuration used by this managed instance group to |
| # create instances. |
| "standardCapacityBase": 42, # The base capacity that will always use Standard VMs to avoid risk of |
| # more preemption than the minimum capacity user needs. MIG will create |
| # only Standard VMs until it reaches standard_capacity_base and only |
| # then will start using standard_capacity_percent_above_base to mix Spot |
| # with Standard VMs. |
| "standardCapacityPercentAboveBase": 42, # The percentage of target capacity that should use Standard VM. The |
| # remaining percentage will use Spot VMs. The percentage applies only to |
| # the capacity above standard_capacity_base. |
| }, |
| }, |
| "instanceGroup": "A String", # [Output Only] The URL of the Instance Group resource. |
| "instanceLifecyclePolicy": { # The repair policy for this managed instance group. |
| "defaultActionOnFailure": "A String", # The action that a MIG performs on a failed VM. If the value of the onFailedHealthCheck field |
| # is `DEFAULT_ACTION`, then the same action also applies to the VMs on which your application |
| # fails a health check. Valid values are - REPAIR (default): MIG automatically repairs a failed |
| # VM by recreating it. For more information, see about repairing VMs in a MIG. - DO_NOTHING: MIG |
| # does not repair a failed VM. |
| "forceUpdateOnRepair": "A String", # A bit indicating whether to forcefully apply the group's latest |
| # configuration when repairing a VM. Valid options are: |
| # |
| # |
| # |
| # - NO (default): If configuration updates are available, they are not |
| # forcefully applied during repair. Instead, configuration updates are |
| # applied according to the group's update policy. |
| # |
| # - YES: If configuration updates are available, they are applied |
| # during repair. |
| "metadataBasedReadinessSignal": { # The configuration for metadata based readiness signal sent by the |
| # instance during initialization when stopping / suspending an instance. |
| # The Instance Group Manager will wait for a signal that indicates |
| # successful initialization before stopping / suspending an instance. |
| # |
| # If a successful readiness signal is not sent before timeout, the |
| # corresponding instance will not be stopped / suspended. Instead, |
| # an error will be visible in the lastAttempt.errors field of |
| # the managed instance in the listmanagedinstances |
| # method. |
| # |
| # If metadataBasedReadinessSignal.timeoutSec is unset, |
| # the Instance Group Manager will directly proceed to suspend / stop |
| # instances, skipping initialization on them. |
| "timeoutSec": 42, # The number of seconds to wait for a readiness signal during |
| # initialization before timing out. |
| }, |
| "onFailedHealthCheck": "A String", # The action that a MIG performs on an unhealthy VM. A VM is marked as |
| # unhealthy when the application running on that VM fails a health check. |
| # Valid values are: |
| # |
| # - DEFAULT_ACTION (default): MIG uses the same action |
| # configured for instanceLifecyclePolicy.defaultActionOnFailure field. |
| # - REPAIR: MIG automatically repairs an unhealthy VM by |
| # recreating it. |
| # - DO_NOTHING: MIG doesn't repair an unhealthy VM. |
| # For more information, see |
| # About repairing VMs in a MIG. |
| "onRepair": { # Configuration for VM repairs in the MIG. # Configuration for VM repairs in the MIG. |
| "allowChangingZone": "A String", # Specifies whether the MIG can change a VM's zone during a repair. |
| # Valid values are: |
| # |
| # - NO (default): MIG cannot change a VM's zone during a |
| # repair. |
| # - YES: MIG can select a different zone for the VM during |
| # a repair. |
| }, |
| }, |
| "instanceTemplate": "A String", # The URL of the instance template that is specified for this managed |
| # instance group. The group uses this template to create all new instances |
| # in the managed instance group. The templates for existing instances in the |
| # group do not change unless you run recreateInstances, runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE. |
| "kind": "compute#instanceGroupManager", # [Output Only] The resource type, which is alwayscompute#instanceGroupManager for managed instance groups. |
| "listManagedInstancesResults": "A String", # Pagination behavior of the listManagedInstances API method for |
| # this managed instance group. |
| "multiMig": "A String", # URL to the multi-MIG that this Managed Instance Group belongs to. |
| "name": "A String", # The name of the managed instance group. The name must be 1-63 characters |
| # long, and comply withRFC1035. |
| "namedPorts": [ # [Output Only] Named ports configured on the Instance Groups complementary |
| # to this Instance Group Manager. |
| { # The named port. For example: <"http", 80>. |
| "name": "A String", # The name for this named port. |
| # The name must be 1-63 characters long, and comply withRFC1035. |
| "port": 42, # The port number, which can be a value between 1 and 65535. |
| }, |
| ], |
| "params": { # Input only additional params for instance group manager creation. # Input only. Additional params passed with the request, but not persisted |
| # as part of resource payload. |
| "resourceManagerTags": { # Resource manager tags to bind to the managed instance group. The tags are |
| # key-value pairs. Keys must be in the format tagKeys/123 and values in the |
| # format tagValues/456. For more information, seeManage tags |
| # for resources. |
| "a_key": "A String", |
| }, |
| }, |
| "region": "A String", # [Output Only] The URL of theregion |
| # where the managed instance group resides (for regional resources). |
| "resourcePolicies": { # Resource policies for this managed instance group. |
| "workloadPolicy": "A String", # The URL of the workload policy that is specified for this managed |
| # instance group. |
| # It can be a full or partial URL. For example, the following are |
| # all valid URLs to a workload policy: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/regions/region/resourcePolicies/resourcePolicy |
| # - projects/project/regions/region/resourcePolicies/resourcePolicy |
| # - regions/region/resourcePolicies/resourcePolicy |
| }, |
| "satisfiesPzi": True or False, # [Output Only] Reserved for future use. |
| "satisfiesPzs": True or False, # [Output Only] Reserved for future use. |
| "selfLink": "A String", # [Output Only] The URL for this managed instance group. The server defines |
| # this URL. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "serviceAccount": "A String", # The service account to be used as credentials for all operations performed |
| # by the managed instance group on instances. The service accounts needs all |
| # permissions required to create and delete instances. |
| # By default, the service account |
| # {projectNumber}@cloudservices.gserviceaccount.com is used. |
| "standbyPolicy": { # Standby policy for stopped and suspended instances. |
| "initialDelaySec": 42, # Specifies the number of seconds that the MIG should wait to suspend or |
| # stop a VM after that VM was created. The initial delay gives the |
| # initialization script the time to prepare your VM for a quick scale out. |
| # The value of initial delay must be between 0 and 3600 seconds. The |
| # default value is 0. |
| "mode": "A String", # Defines how a MIG resumes or starts VMs from a standby pool when the |
| # group scales out. The default mode is `MANUAL`. |
| }, |
| "statefulPolicy": { # Stateful configuration for this Instanced Group Manager |
| "preservedState": { # Configuration of preserved resources. |
| "disks": { # Disks created on the instances that will be preserved on instance |
| # delete, update, etc. This map is keyed with the device names of |
| # the disks. |
| "a_key": { |
| "autoDelete": "A String", # These stateful disks will never be deleted during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the disk should be deleted after it |
| # is no longer used by the group, e.g. when the given instance or |
| # the whole group is deleted. Note: disks attached inREAD_ONLY mode cannot be auto-deleted. |
| }, |
| }, |
| "externalIPs": { # External network IPs assigned to the instances that will be preserved on |
| # instance delete, update, etc. This map is keyed with the network |
| # interface name. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| }, |
| }, |
| "internalIPs": { # Internal network IPs assigned to the instances that will be preserved on |
| # instance delete, update, etc. This map is keyed with the network |
| # interface name. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| }, |
| }, |
| }, |
| }, |
| "status": { # [Output Only] The status of this managed instance group. |
| "allInstancesConfig": { # [Output only] Status of all-instances configuration on the group. |
| "currentRevision": "A String", # [Output Only] Current all-instances configuration revision. |
| # This value is in RFC3339 text format. |
| "effective": True or False, # [Output Only] A bit indicating whether this configuration has |
| # been applied to all managed instances in the group. |
| }, |
| "autoscaler": "A String", # [Output Only] The URL of theAutoscaler |
| # that targets this instance group manager. |
| "bulkInstanceOperation": { # Bulk instance operation is the creation of VMs in a MIG when the # [Output Only] The status of bulk instance operation. |
| # targetSizePolicy.mode is set to BULK. |
| "inProgress": True or False, # [Output Only] Informs whether bulk instance operation is in progress. |
| "lastProgressCheck": { # [Output Only] Information from the last progress check of bulk instance |
| # operation. |
| "error": { # [Output Only] Errors encountered during bulk instance operation. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "timestamp": "A String", # [Output Only] Timestamp of the last progress check of bulk instance |
| # operation. Timestamp is in RFC3339 text format. |
| }, |
| }, |
| "isStable": True or False, # [Output Only] A bit indicating whether the managed instance group is in a |
| # stable state. A stable state means that: none of the instances in the |
| # managed instance group is currently undergoing any type of change (for |
| # example, creation, restart, or deletion); no future changes are scheduled |
| # for instances in the managed instance group; and the managed instance |
| # group itself is not being modified. |
| "stateful": { # [Output Only] Stateful status of the given Instance Group Manager. |
| "hasStatefulConfig": True or False, # [Output Only] A bit indicating whether the managed instance group |
| # has stateful configuration, that is, if you have configured any items |
| # in a stateful policy or in per-instance configs. |
| # The group might report that it has no stateful configuration even when |
| # there is still some preserved state on a managed instance, for example, |
| # if you have deleted all PICs but not yet applied those deletions. |
| "isStateful": True or False, # [Output Only] A bit indicating whether the managed instance group |
| # has stateful configuration, that is, if you have configured any items |
| # in a stateful policy or in per-instance configs. |
| # The group might report that it has no stateful configuration even when |
| # there is still some preserved state on a managed instance, for example, |
| # if you have deleted all PICs but not yet applied those deletions. This |
| # field is deprecated in favor of has_stateful_config. |
| "perInstanceConfigs": { # [Output Only] Status of per-instance configurations on the instances. |
| "allEffective": True or False, # A bit indicating if all of the group's per-instance configurations |
| # (listed in the output of a listPerInstanceConfigs API call) have |
| # status EFFECTIVE or there are no per-instance-configs. |
| }, |
| }, |
| "versionTarget": { # [Output Only] A status of consistency of Instances' versions with their |
| # target version specified by version field on Instance Group |
| # Manager. |
| "isReached": True or False, # [Output Only] A bit indicating whether version target has been reached |
| # in this managed instance group, i.e. all instances are in their target |
| # version. Instances' target version are specified byversion field on Instance Group Manager. |
| }, |
| }, |
| "targetPools": [ # The URLs for all TargetPool resources to which instances in theinstanceGroup field are added. The target pools automatically |
| # apply to all of the instances in the managed instance group. |
| "A String", |
| ], |
| "targetSize": 42, # The target number of running instances for this managed instance group. |
| # You can reduce this number by using the instanceGroupManager |
| # deleteInstances or abandonInstances methods. Resizing the group also |
| # changes this number. |
| "targetSizePolicy": { # The policy that specifies how the MIG creates its VMs to achieve the target |
| # size. |
| "mode": "A String", # The mode of target size policy based on which the MIG creates its VMs |
| # individually or all at once. |
| }, |
| "targetSizeUnit": "A String", # The unit of measure for the target size. |
| "targetStoppedSize": 42, # The target number of stopped instances for this managed instance group. |
| # This number changes when you: |
| # |
| # - Stop instance using the stopInstances |
| # method or start instances using the startInstances |
| # method. |
| # - Manually change the targetStoppedSize using the update |
| # method. |
| "targetSuspendedSize": 42, # The target number of suspended instances for this managed instance group. |
| # This number changes when you: |
| # |
| # - Suspend instance using the suspendInstances |
| # method or resume instances using the resumeInstances |
| # method. |
| # - Manually change the targetSuspendedSize using the update |
| # method. |
| "updatePolicy": { # The update policy for this managed instance group. |
| "instanceRedistributionType": "A String", # The |
| # instance redistribution policy for regional managed instance groups. |
| # Valid values are: |
| # |
| # - PROACTIVE (default): The group attempts to maintain an |
| # even distribution of VM instances across zones in the region. |
| # - NONE: For non-autoscaled groups, proactive |
| # redistribution is disabled. |
| "maxSurge": { # Encapsulates numeric value that can be either absolute or relative. # The maximum number of instances that can be created above the specifiedtargetSize during the update process. This value can be |
| # either a fixed number or, if the group has 10 or more instances, a |
| # percentage. If you set a percentage, the number of instances is rounded |
| # if necessary. The default value for maxSurge is a fixed |
| # value equal to the number of zones in which the managed instance group |
| # operates. |
| # |
| # At least one of either maxSurge ormaxUnavailable must be greater than 0. Learn more about maxSurge. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| "maxUnavailable": { # Encapsulates numeric value that can be either absolute or relative. # The maximum number of instances that can be unavailable during the update |
| # process. An instance is considered available if all of the following |
| # conditions are satisfied: |
| # |
| # |
| # |
| # - The instance's status is |
| # RUNNING. |
| # - If there is a health |
| # check on the instance group, the instance's health check status |
| # must be HEALTHY at least once. If there is no health check |
| # on the group, then the instance only needs to have a status of |
| # RUNNING to be considered available. |
| # |
| # |
| # This value can be either a fixed number or, if the group has 10 or more |
| # instances, a percentage. If you set a percentage, the number of instances |
| # is rounded if necessary. The default value formaxUnavailable is a fixed value equal to the number of zones |
| # in which the managed instance group operates. |
| # |
| # At least one of either maxSurge ormaxUnavailable must be greater than 0. Learn more about maxUnavailable. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| "minReadySec": 42, # Minimum number of seconds to wait for after a newly created instance |
| # becomes available. This value must be from range [0, 3600]. |
| "minimalAction": "A String", # Minimal action to be taken on an instance. Use this option to minimize |
| # disruption as much as possible or to apply a more disruptive action than |
| # is necessary. |
| # |
| # - To limit disruption as much as possible, set the minimal action toREFRESH. If your update requires a more disruptive action, |
| # Compute Engine performs the necessary action to execute the update. |
| # - To apply a more disruptive action than is strictly necessary, set the |
| # minimal action to RESTART or REPLACE. For |
| # example, Compute Engine does not need to restart a VM to change its |
| # metadata. But if your application reads instance metadata only when a VM |
| # is restarted, you can set the minimal action to RESTART in |
| # order to pick up metadata changes. |
| "mostDisruptiveAllowedAction": "A String", # Most disruptive action that is allowed to be taken on an instance. |
| # You can specify either NONE to forbid any actions,REFRESH to avoid restarting the VM and to limit disruption |
| # as much as possible. RESTART to allow actions that can be |
| # applied without instance replacing or REPLACE to allow all |
| # possible actions. If the Updater determines that the minimal update |
| # action needed is more disruptive than most disruptive allowed action you |
| # specify it will not perform the update at all. |
| "replacementMethod": "A String", # What action should be used to replace instances. |
| # See minimal_action.REPLACE |
| "type": "A String", # The type |
| # of update process. You can specify either PROACTIVE so |
| # that the MIG automatically updates VMs to the latest configurations orOPPORTUNISTIC so that you can select the VMs that you want |
| # to update. |
| }, |
| "versions": [ # Specifies the instance templates used by this managed instance group to |
| # create instances. |
| # |
| # Each version is defined by an instanceTemplate and aname. Every version can appear at most once per instance |
| # group. This field overrides the top-level instanceTemplate |
| # field. Read more about therelationships |
| # between these fields. Exactly one version must leave thetargetSize field unset. That version will be applied to all |
| # remaining instances. For more information, read aboutcanary |
| # updates. |
| { |
| "instanceTemplate": "A String", # The URL of the instance template that is specified for this managed |
| # instance group. The group uses this template to create new instances in |
| # the managed instance group until the `targetSize` for this version is |
| # reached. The templates for existing instances in the group do not change |
| # unless you run recreateInstances, runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE; in those cases, |
| # existing instances are updated until the `targetSize` for this version is |
| # reached. |
| "name": "A String", # Name of the version. Unique among all versions in the scope of this |
| # managed instance group. |
| "tag": "A String", # Tag describing the version. Used to trigger rollout of a target version |
| # even if instance_template remains unchanged. |
| # Deprecated in favor of 'name'. |
| "targetSize": { # Encapsulates numeric value that can be either absolute or relative. # Specifies the intended number of instances to be created from theinstanceTemplate. The final number of instances created |
| # from the template will be equal to: |
| # |
| # |
| # - If expressed as a fixed number, the minimum of either |
| # targetSize.fixed or |
| # instanceGroupManager.targetSize is used. |
| # - if expressed as a percent, the targetSize |
| # would be (targetSize.percent/100 * |
| # InstanceGroupManager.targetSize) If there is a remainder, the |
| # number is rounded. |
| # |
| # If unset, this version will update any remaining instances not |
| # updated by another version. ReadStarting |
| # a canary update for more information. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of azone |
| # where the managed instance group is located (for zonal resources). |
| }, |
| ], |
| "warning": { # [Output Only] The warning that replaces the list of managed instance |
| # groups when the list is empty. |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| }, |
| }, |
| "kind": "compute#instanceGroupManagerAggregatedList", # [Output Only] The resource type, which is alwayscompute#instanceGroupManagerAggregatedList for an aggregated |
| # list of managed instance groups. |
| "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for |
| # list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for |
| # the query parameter pageToken in the next list request. |
| # Subsequent list requests will have their own nextPageToken to |
| # continue paging through the results. |
| "selfLink": "A String", # [Output Only] Server-defined URL for this resource. |
| "unreachables": [ # [Output Only] Unreachable resources. |
| "A String", |
| ], |
| "warning": { # [Output Only] Informational warning message. |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="aggregatedList_next">aggregatedList_next()</code> |
| <pre>Retrieves the next page of results. |
| |
| Args: |
| previous_request: The request for the previous page. (required) |
| previous_response: The response from the request for the previous page. (required) |
| |
| Returns: |
| A request object that you can call 'execute()' on to request the next |
| page. Returns None if there are no more items in the collection. |
| </pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="applyUpdatesToInstances">applyUpdatesToInstances(project, zone, instanceGroupManager, body=None, x__xgafv=None)</code> |
| <pre>Applies changes to selected instances on the managed instance group. |
| This method can be used to apply new overrides and/or new versions. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone |
| where the managed instance group is located. Should conform to RFC1035. (required) |
| instanceGroupManager: string, The name of the managed instance group, should conform to RFC1035. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { # InstanceGroupManagers.applyUpdatesToInstances |
| "allInstances": True or False, # Flag to update all instances instead of specified list of “instances”. |
| # If the flag is set to true then the instances may not be specified |
| # in the request. |
| "instances": [ # The list of URLs of one or more instances for which you want to apply |
| # updates. Each URL can be a full URL or a partial URL, such aszones/[ZONE]/instances/[INSTANCE_NAME]. |
| "A String", |
| ], |
| "maximalAction": "A String", # The maximal action that should be performed on the instances. |
| # By default REPLACE. |
| # This field is deprecated, please use most_disruptive_allowed_action. |
| "minimalAction": "A String", # The minimal action that you want to perform on each instance during the |
| # update: |
| # |
| # |
| # - REPLACE: At minimum, delete the instance and create it |
| # again. |
| # - RESTART: Stop the instance and start it |
| # again. |
| # - REFRESH: Do not stop the instance and limit |
| # disruption as much as possible. |
| # - NONE: Do not |
| # disrupt the instance at all. |
| # |
| # |
| # By default, the minimum action is NONE. If your update |
| # requires a more disruptive action than you set with this flag, the |
| # necessary action is performed to execute the update. |
| "mostDisruptiveAllowedAction": "A String", # The most disruptive action that you want to perform on each instance during |
| # the update: |
| # |
| # |
| # - REPLACE: Delete the instance and create it again. |
| # - RESTART: Stop the instance and start it again. |
| # - REFRESH: Do not stop the instance and limit disruption |
| # as much as possible. |
| # - NONE: Do not disrupt the |
| # instance at all. |
| # |
| # |
| # By default, the most disruptive allowed action is REPLACE. If |
| # your update requires a more disruptive action than you set with this flag, |
| # the update request will fail. |
| } |
| |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="close">close()</code> |
| <pre>Close httplib2 connections.</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="createInstances">createInstances(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</code> |
| <pre>Creates instances with per-instance configurations in this managed instance |
| group. Instances are created using the current instance template. Thecreate instances operation is marked DONE if thecreateInstances request is successful. The underlying actions |
| take additional time. You must separately verify the status of thecreating or actions with the listmanagedinstances |
| method. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone |
| where the managed instance group is located. |
| It should conform to RFC1035. (required) |
| instanceGroupManager: string, The name of the managed instance group. |
| It should conform to RFC1035. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { # InstanceGroupManagers.createInstances |
| "instances": [ # [Required] List of specifications of per-instance configs. |
| { |
| "fingerprint": "A String", # Fingerprint of this per-instance config. This field can be used in |
| # optimistic locking. It is ignored when inserting a per-instance |
| # config. An up-to-date fingerprint must be provided in order to update an |
| # existing per-instance configuration or the field needs to be unset. |
| "name": "A String", # The name of a per-instance configuration and its corresponding instance. |
| # Serves as a merge key during UpdatePerInstanceConfigs |
| # operations, that is, if a per-instance configuration with the same name |
| # exists then it will be updated, otherwise a new one will be created for the |
| # VM instance with the same name. An attempt to create a per-instance |
| # configuration for a VM instance that either doesn't exist or is not part |
| # of the group will result in an error. |
| "preservedState": { # Preserved state for a given instance. # The intended preserved state for the given instance. Does not contain |
| # preserved state generated from a stateful policy. |
| "disks": { # Preserved disks defined for this instance. |
| # This map is keyed with the device names of the disks. |
| "a_key": { |
| "autoDelete": "A String", # These stateful disks will never be deleted during autohealing, |
| # update, instance recreate operations. This flag is used to configure |
| # if the disk should be deleted after it is no longer used by the group, |
| # e.g. when the given instance or the whole MIG is deleted. |
| # Note: disks attached in READ_ONLY mode cannot be |
| # auto-deleted. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the |
| # disk in READ_WRITE mode. |
| "source": "A String", # The URL of the disk resource that is stateful and should be attached |
| # to the VM instance. |
| }, |
| }, |
| "externalIPs": { # Preserved external IPs defined for this instance. |
| # This map is keyed with the name of the network interface. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| "ipAddress": { # Ip address representation |
| "address": "A String", # The URL of the reservation for this IP address. |
| "literal": "A String", # An IPv4 internal network address to assign to the instance for this |
| # network interface. |
| }, |
| }, |
| }, |
| "internalIPs": { # Preserved internal IPs defined for this instance. |
| # This map is keyed with the name of the network interface. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| "ipAddress": { # Ip address representation |
| "address": "A String", # The URL of the reservation for this IP address. |
| "literal": "A String", # An IPv4 internal network address to assign to the instance for this |
| # network interface. |
| }, |
| }, |
| }, |
| "metadata": { # Preserved metadata defined for this instance. |
| "a_key": "A String", |
| }, |
| }, |
| "status": "A String", # The status of applying this per-instance configuration on the corresponding |
| # managed instance. |
| }, |
| ], |
| } |
| |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="delete">delete(project, zone, instanceGroupManager, requestId=None, x__xgafv=None)</code> |
| <pre>Deletes the specified managed instance group and all of the instances |
| in that group. Note that the instance group must not belong to a |
| backend service. Read |
| Deleting an instance group for more information. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone where the managed |
| instance group is located. (required) |
| instanceGroupManager: string, The name of the managed instance group to delete. (required) |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. This |
| prevents clients from accidentally creating duplicate commitments. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="deleteInstances">deleteInstances(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</code> |
| <pre>Flags the specified instances in the managed instance group for immediate |
| deletion. The instances are also removed from any target |
| pools of which they were a member. This method reduces thetargetSize of the managed instance group by the number of |
| instances that you delete. This operation is marked as DONE |
| when the action is scheduled even if the instances are still being deleted. |
| You must separately verify the status of the deleting action |
| with thelistmanagedinstances |
| method. |
| |
| If the group is part of a backend |
| service that has enabled |
| connection draining, it can take up to 60 seconds after the connection |
| draining duration has elapsed before the VM instance is removed or deleted. |
| |
| You can specify a maximum of 1000 instances with this method per request. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone where the managed |
| instance group is located. (required) |
| instanceGroupManager: string, The name of the managed instance group. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { |
| "instanceNames": [ # The list of instance names to delete. Queued instances do not have URL and |
| # can be deleted only by name. You cannot specify both URLs and names in a |
| # single request. |
| "A String", |
| ], |
| "instances": [ # The URLs of one or more instances to delete. This can be a full URL or |
| # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. |
| # Queued instances do not have URL and can be deleted only by name. |
| # One cannot specify both URLs and names in a single request. |
| "A String", |
| ], |
| "skipInstancesOnValidationError": True or False, # Specifies whether the request should proceed despite the inclusion of |
| # instances that are not members of the group or that are already in the |
| # process of being deleted or abandoned. If this field is set to `false` and |
| # such an instance is specified in the request, the operation fails. The |
| # operation always fails if the request contains a malformed instance URL or |
| # a reference to an instance that exists in a zone or region other than the |
| # group's zone or region. |
| } |
| |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. This |
| prevents clients from accidentally creating duplicate commitments. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="deletePerInstanceConfigs">deletePerInstanceConfigs(project, zone, instanceGroupManager, body=None, x__xgafv=None)</code> |
| <pre>Deletes selected per-instance configurations for the managed instance |
| group. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone |
| where the managed instance |
| group is located. |
| It should conform to RFC1035. (required) |
| instanceGroupManager: string, The name of the managed instance group. |
| It should conform to RFC1035. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { # InstanceGroupManagers.deletePerInstanceConfigs |
| "names": [ # The list of instance names for which we want to delete per-instance configs |
| # on this managed instance group. |
| "A String", |
| ], |
| } |
| |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="get">get(project, zone, instanceGroupManager, x__xgafv=None)</code> |
| <pre>Returns all of the details about the specified managed instance group. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone where the managed |
| instance group is located. (required) |
| instanceGroupManager: string, The name of the managed instance group. (required) |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents a Managed Instance Group resource. |
| # |
| # An instance group is a collection of VM instances that you can manage as a |
| # single entity. For more information, readInstance groups. |
| # |
| # For zonal Managed Instance Group, use the instanceGroupManagers |
| # resource. |
| # |
| # For regional Managed Instance Group, use theregionInstanceGroupManagers resource. |
| "allInstancesConfig": { # Specifies configuration that overrides the instance template configuration |
| # for the group. |
| "properties": { # Represents the change that you want to make to the instance properties. # Properties to set on all instances in the group. |
| # |
| # You can add or modify properties using theinstanceGroupManagers.patch orregionInstanceGroupManagers.patch. After settingallInstancesConfig on the group, you must update the group's |
| # instances to apply the configuration. To apply the configuration, set the |
| # group's updatePolicy.type field to use proactive updates or |
| # use the applyUpdatesToInstances method. |
| "labels": { # The label key-value pairs that you want to patch onto the instance. |
| "a_key": "A String", |
| }, |
| "metadata": { # The metadata key-value pairs that you want to patch onto the instance. For |
| # more information, see Project and |
| # instance metadata. |
| "a_key": "A String", |
| }, |
| }, |
| }, |
| "autoHealingPolicies": [ # The autohealing policy for this managed instance group. You can specify |
| # only one value. |
| { |
| "autoHealingTriggers": { # Restricts what triggers autohealing. |
| "onHealthCheck": "A String", # If you have configured an application-based health check for the group, |
| # this field controls whether to trigger VM autohealing based on a failed |
| # health check. Valid values are: |
| # |
| # - ON (default): The group recreates running VMs that |
| # fail the application-based health check. |
| # - OFF: When set to OFF, you can still observe instance |
| # health state, but the group does not recreate VMs that fail the |
| # application-based health check. This is useful for troubleshooting and |
| # setting up your health check configuration. |
| }, |
| "healthCheck": "A String", # The URL for the health check that signals autohealing. |
| "initialDelaySec": 42, # The initial delay is the number of seconds that a new VM takes to |
| # initialize and run its startup script. During a VM's initial delay |
| # period, the MIG ignores unsuccessful health checks because the VM might |
| # be in the startup process. This prevents the MIG from prematurely |
| # recreating a VM. If the health check receives a healthy response during |
| # the initial delay, it indicates that the startup process is complete and |
| # the VM is ready. The value of initial delay must be between 0 and 3600 |
| # seconds. The default value is 0. |
| "maxUnavailable": { # Encapsulates numeric value that can be either absolute or relative. # Maximum number of instances that can be unavailable when autohealing. |
| # When 'percent' is used, the value is rounded if necessary. |
| # The instance is considered available if all of the following conditions |
| # are satisfied: |
| # 1. Instance's status is RUNNING. |
| # 2. Instance's currentAction is NONE (in particular its liveness health |
| # check result was observed to be HEALTHY at least once as it passed |
| # VERIFYING). |
| # 3. There is no outgoing action on an instance triggered by IGM. |
| # |
| # By default, number of concurrently autohealed instances is smaller than |
| # the managed instance group target size. However, if a zonal managed |
| # instance group has only one instance, or a regional managed instance |
| # group has only one instance per zone, autohealing will recreate these |
| # instances when they become unhealthy. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| }, |
| ], |
| "baseInstanceName": "A String", # The base instance name is a prefix that you want to attach to the names of |
| # all VMs in a MIG. The maximum character length is 58 and the name must |
| # comply with RFC1035 format. |
| # |
| # When a VM is created in the group, the MIG appends a hyphen and a random |
| # four-character string to the base instance name. If you want the MIG to |
| # assign sequential numbers instead of a random string, then end the base |
| # instance name with a hyphen followed by one or more hash symbols. The hash |
| # symbols indicate the number of digits. For example, a base instance name of |
| # "vm-###" results in "vm-001" as a VM name. |
| # @pattern |
| # [a-z](([-a-z0-9]{0,57})|([-a-z0-9]{0,51}-#{1,10}(\\[[0-9]{1,10}\\])?)) |
| "creationTimestamp": "A String", # [Output Only] The creation timestamp for this managed instance group inRFC3339 |
| # text format. |
| "currentActions": { # [Output Only] The list of instance actions and the number of instances |
| # in this managed instance group that are scheduled for each of those |
| # actions. |
| "abandoning": 42, # [Output Only] The total number of instances in the managed instance group |
| # that are scheduled to be abandoned. Abandoning an instance removes it |
| # from the managed instance group without deleting it. |
| "creating": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be created or are currently being created. If the group |
| # fails to create any of these instances, it tries again until it creates |
| # the instance successfully. |
| # |
| # If you have disabled creation retries, this field will not be populated; |
| # instead, the creatingWithoutRetries field will be populated. |
| "creatingAtomically": 42, # [Output Only] The number of instances that the managed instance group |
| # will attempt to create atomically, in a batch mode. If the desired count |
| # of instances can not be created, entire batch will be deleted and the |
| # group will decrease its targetSize value accordingly. |
| "creatingWithoutRetries": 42, # [Output Only] The number of instances that the managed instance group |
| # will attempt to create. The group attempts to create each instance |
| # only once. If the group fails to create any of these instances, it |
| # decreases the group's targetSize value accordingly. |
| "deleting": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be deleted or are currently being deleted. |
| "none": 42, # [Output Only] The number of instances in the managed instance group that |
| # are running and have no scheduled actions. |
| "queuing": 42, # [Output Only] The number of instances that the managed instance group |
| # is currently queuing. |
| "recreating": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be recreated or are currently being being recreated. |
| # Recreating an instance deletes the existing root persistent disk |
| # and creates a new disk from the image that is defined in the |
| # instance template. |
| "refreshing": 42, # [Output Only] The number of instances in the managed instance group that |
| # are being reconfigured with properties that do not require a restart |
| # or a recreate action. For example, setting or removing target |
| # pools for the instance. |
| "restarting": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be restarted or are currently being restarted. |
| "resuming": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be resumed or are currently being resumed. |
| "starting": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be started or are currently being started. |
| "stopping": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be stopped or are currently being stopped. |
| "suspending": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be suspended or are currently being suspended. |
| "verifying": 42, # [Output Only] The number of instances in the managed instance group that |
| # are being verified. See the managedInstances[].currentAction |
| # property in the listManagedInstances method documentation. |
| }, |
| "description": "A String", # An optional description of this resource. |
| "distributionPolicy": { # Policy specifying the intended distribution of managed instances across |
| # zones in a regional managed instance group. |
| "targetShape": "A String", # The distribution shape to which the group converges either proactively or |
| # on resize events (depending on the value set inupdatePolicy.instanceRedistributionType). |
| "zones": [ # Zones where the regional managed instance group will create and manage |
| # its instances. |
| { |
| "zone": "A String", # The URL of thezone. |
| # The zone must exist in the region where the managed instance group is |
| # located. |
| }, |
| ], |
| }, |
| "failoverAction": "A String", # The action to perform in case of zone failure. Only one value is supported,NO_FAILOVER. The default is NO_FAILOVER. |
| "fingerprint": "A String", # Fingerprint of this resource. This field may be used in optimistic locking. |
| # It will be ignored when inserting an InstanceGroupManager. An up-to-date |
| # fingerprint must be provided in order to update the InstanceGroupManager, |
| # otherwise the request will fail with error412 conditionNotMet. |
| # |
| # To see the latest fingerprint, make a get() request to |
| # retrieve an InstanceGroupManager. |
| "id": "A String", # [Output Only] A unique identifier for this resource type. The server |
| # generates this identifier. |
| "instanceFlexibilityPolicy": { # Instance flexibility allowing MIG to create VMs from multiple |
| # types of machines. |
| # Instance flexibility configuration on MIG overrides instance |
| # template configuration. |
| "instanceSelectionLists": { # Named instance selections configuring properties that the group will use |
| # when creating new VMs. |
| "a_key": { |
| "disks": [ # List of disks to be attached to the instances created from this |
| # selection. |
| { # An instance-attached disk resource. |
| "architecture": "A String", # [Output Only] The architecture of the attached disk. Valid values are ARM64 |
| # or X86_64. |
| "autoDelete": True or False, # Specifies whether the disk will be auto-deleted when the instance is |
| # deleted (but not when the disk is detached from the instance). |
| "boot": True or False, # Indicates that this is a boot disk. The virtual machine will use the first |
| # partition of the disk for its root filesystem. |
| "deviceName": "A String", # Specifies a unique device name of your choice that is reflected into the/dev/disk/by-id/google-* tree of a Linux operating system |
| # running within the instance. This name can be used to reference the device |
| # for mounting, resizing, and so on, from within the instance. |
| # |
| # If not specified, the server chooses a default device name to apply to this |
| # disk, in the form persistent-disk-x, where x is a number |
| # assigned by Google Compute Engine. This field is only applicable for |
| # persistent disks. |
| "diskEncryptionKey": { # Encrypts or decrypts a disk using acustomer-supplied |
| # encryption key. |
| # |
| # If you are creating a new disk, this field encrypts the new disk using |
| # an encryption key that you provide. If you are attaching an existing |
| # disk that is already encrypted, this field decrypts the disk using |
| # the customer-supplied encryption key. |
| # |
| # If you encrypt a disk using a customer-supplied key, you must provide the |
| # same key again when you attempt to use this resource at a later time. For |
| # example, you must provide the key when you create a snapshot or an image |
| # from the disk or when you attach the disk to a virtual machine instance. |
| # |
| # If you do not provide an encryption key, then the disk will be encrypted |
| # using an automatically generated key and you do not need to provide a key |
| # to use the disk later. |
| # |
| # Note: |
| # |
| # Instance templates do not storecustomer-supplied |
| # encryption keys, so you cannot use your own keys to encrypt disks in amanaged instance group. |
| # |
| # You cannot create VMs that have disks with customer-supplied keys using |
| # the bulk |
| # insert method. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "diskSizeGb": "A String", # The size of the disk in GB. |
| "forceAttach": True or False, # [Input Only] Whether to force attach the regional disk even if it's |
| # currently attached to another instance. If you try to force attach a zonal |
| # disk to an instance, you will receive an error. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "index": 42, # [Output Only] A zero-based index to this disk, where 0 is reserved for the |
| # boot disk. If you have many disks attached to an instance, each |
| # disk would have a unique index number. |
| "initializeParams": { # [Input Only] Specifies the parameters for a new disk that will be created # [Input Only] Specifies the parameters for a new disk that will be created |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This field is persisted and returned for instanceTemplate and not returned |
| # in the context of instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| "architecture": "A String", # The architecture of the attached disk. Valid values are |
| # arm64 or x86_64. |
| "description": "A String", # An optional description. Provide this property when creating the disk. |
| "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name |
| # of the instance. If a disk with the same name already exists in the given |
| # region, the existing disk is attached to the new instance and the |
| # new disk is not created. |
| "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. The size must be at least |
| # 10 GB. If you specify a sourceImage, which is required for |
| # boot disks, the default size is the size of the sourceImage. |
| # If you do not specify a sourceImage, the default disk size |
| # is 500 GB. |
| "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, |
| # the default is pd-standard, specified using the full URL. |
| # For example: |
| # |
| # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard |
| # |
| # |
| # For a full list of acceptable values, seePersistent disk |
| # types. If you specify this field when creating a VM, you can provide |
| # either the full or partial URL. For example, the following values are |
| # valid: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType |
| # - projects/project/zones/zone/diskTypes/diskType |
| # - zones/zone/diskTypes/diskType |
| # |
| # |
| # If you specify this field when creating or updating an instance template |
| # or all-instances configuration, specify the type of the disk, not the |
| # URL. For example: pd-standard. |
| "enableConfidentialCompute": True or False, # Whether this disk is using confidential compute mode. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| # |
| # Guest OS features are applied by merginginitializeParams.guestOsFeatures anddisks.guestOsFeatures |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "interface": "A String", # [Deprecated] Specifies the disk interface to use for attaching this disk, |
| # which is either SCSI or NVME. The default isSCSI. |
| "labels": { # Labels to apply to this disk. These can be later modified by thedisks.setLabels method. This field is only applicable for |
| # persistent disks. |
| "a_key": "A String", |
| }, |
| "licenseCodes": [ # Integer license codes indicating which licenses are attached to this |
| # disk. |
| "A String", |
| ], |
| "licenses": [ # A list of publicly visible licenses. Reserved for Google's use. |
| "A String", |
| ], |
| "multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to |
| # more than one instance. |
| "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default |
| # is to use the existing disk. |
| "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number |
| # of I/O operations per second that the disk can handle. Values must be |
| # between 10,000 and 120,000. For more details, see theExtreme persistent |
| # disk documentation. |
| "provisionedThroughput": "A String", # Indicates how much throughput to provision for the disk. This sets the |
| # number of throughput mb per second that the disk can handle. Values must |
| # greater than or equal to 1. |
| "replicaZones": [ # Required for each regional disk associated with the instance. Specify |
| # the URLs of the zones where the disk should be replicated to. |
| # You must provide exactly two replica zones, and one zone must be the same |
| # as the instance zone. |
| "A String", |
| ], |
| "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values |
| # have the same definition as resource |
| # manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and |
| # values are in the format `tagValues/456`. The field is ignored (both PUT |
| # & PATCH) when empty. |
| "a_key": "A String", |
| }, |
| "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. |
| # Specified using the full or partial URL. For instance template, specify |
| # only the resource policy name. |
| "A String", |
| ], |
| "sourceImage": "A String", # The source image to create this disk. When creating a new instance boot |
| # disk, one of initializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # To create a disk with one of the public operating system |
| # images, specify the image by its family name. For example, specifyfamily/debian-9 to use the latest Debian 9 image: |
| # |
| # projects/debian-cloud/global/images/family/debian-9 |
| # |
| # |
| # Alternatively, use a specific version of a public operating system image: |
| # |
| # projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD |
| # |
| # |
| # To create a disk with a custom image that you created, specify the |
| # image name in the following format: |
| # |
| # global/images/my-custom-image |
| # |
| # |
| # You can also specify a custom image by its image family, which returns |
| # the latest version of the image in that family. Replace the image name |
| # with family/family-name: |
| # |
| # global/images/family/my-image-family |
| # |
| # |
| # If the source image is deleted later, this field will not be set. |
| "sourceImageEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source image. Required if the source image is |
| # protected by a customer-supplied encryption key. |
| # |
| # InstanceTemplate and InstancePropertiesPatch do not storecustomer-supplied |
| # encryption keys, so you cannot create disks for instances in a managed instance group if the |
| # source images are encrypted with your own keys. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "sourceInstantSnapshot": "A String", # The source instant-snapshot to create this disk. When creating a new |
| # instance boot disk, one of initializeParams.sourceSnapshot |
| # or initializeParams.sourceInstantSnapshotinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # us-central1-a/instantSnapshots/my-backup |
| # |
| # |
| # If the source instant-snapshot is deleted later, this field will not be |
| # set. |
| "sourceSnapshot": "A String", # The source snapshot to create this disk. When creating a new instance |
| # boot disk, one of initializeParams.sourceSnapshot orinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # global/snapshots/my-backup |
| # |
| # |
| # If the source snapshot is deleted later, this field will not be set. |
| # |
| # Note: You cannot create VMs in bulk using a snapshot as the source. Use |
| # an image instead when you create VMs using |
| # the bulk |
| # insert method. |
| "sourceSnapshotEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source snapshot. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "storagePool": "A String", # The storage pool in which the new disk is created. You can provide |
| # this as a partial or full URL to the resource. For example, the following |
| # are valid values: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/storagePools/storagePool |
| # - projects/project/zones/zone/storagePools/storagePool |
| # - zones/zone/storagePools/storagePool |
| }, |
| "interface": "A String", # Specifies the disk interface to use for attaching this disk, which is |
| # either SCSI or NVME. For most machine types, the |
| # default is SCSI. Local SSDs can use either NVME or SCSI. |
| # In certain configurations, persistent disks can use NVMe. For more |
| # information, seeAbout |
| # persistent disks. |
| "kind": "compute#attachedDisk", # [Output Only] Type of the resource. Alwayscompute#attachedDisk for attached disks. |
| "licenses": [ # [Output Only] Any valid publicly visible licenses. |
| "A String", |
| ], |
| "locked": True or False, # [Output Only] Whether to indicate the attached disk is locked. The locked |
| # disk is not allowed to be detached from the instance, or to be used as the |
| # source of the snapshot creation, and the image creation. The instance with |
| # at least one locked attached disk is not allow to be used as source of |
| # machine image creation, instant snapshot creation, and not allowed to be |
| # deleted with --keep-disk parameter set to true for locked disks. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the disk |
| # in READ_WRITE mode. |
| "savedState": "A String", # For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this |
| # field is set to PRESERVED if the LocalSSD data has been saved |
| # to a persistent location by customer request. (see the |
| # discard_local_ssd option on Stop/Suspend). |
| # Read-only in the api. |
| "shieldedInstanceInitialState": { # Initial State for shielded instance, # [Output Only] shielded vm initial state stored on disk |
| # these are public keys which are safe to store in public |
| "dbs": [ # The Key Database (db). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "dbxs": [ # The forbidden key database (dbx). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "keks": [ # The Key Exchange Key (KEK). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "pk": { # The Platform Key (PK). |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| }, |
| "source": "A String", # Specifies a valid partial or full URL to an existing Persistent Disk |
| # resource. When creating a new instance boot disk, one ofinitializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # If desired, you can also attach existing non-root persistent disks using |
| # this property. This field is only applicable for persistent disks. |
| # |
| # Note that for InstanceTemplate, specify the disk name for zonal disk, |
| # and the URL for regional disk. |
| "type": "A String", # Specifies the type of the disk, either SCRATCH orPERSISTENT. If not specified, the default isPERSISTENT. |
| "userLicenses": [ # [Output Only] A list of user provided licenses. It represents a list of |
| # URLs to the license resource. Unlike regular licenses, user provided |
| # licenses can be modified after the disk is created. |
| "A String", |
| ], |
| }, |
| ], |
| "machineTypes": [ # Full machine-type names, e.g. "n1-standard-16". |
| "A String", |
| ], |
| "minCpuPlatform": "A String", # Name of the minimum CPU platform to be used by this instance selection. |
| # e.g. 'Intel Ice Lake'. |
| "rank": 42, # Preference of this instance selection. Lower number means higher |
| # preference. MIG will first try to create a VM based on the machine-type |
| # with lowest rank and fallback to next rank based on availability. |
| # Machine types and instance selections with the same rank have the same |
| # preference. |
| }, |
| }, |
| "instanceSelections": { # Named instance selections configuring properties that the group will use |
| # when creating new VMs. |
| "a_key": { |
| "disks": [ # List of disks to be attached to the instances created from this |
| # selection. |
| { # An instance-attached disk resource. |
| "architecture": "A String", # [Output Only] The architecture of the attached disk. Valid values are ARM64 |
| # or X86_64. |
| "autoDelete": True or False, # Specifies whether the disk will be auto-deleted when the instance is |
| # deleted (but not when the disk is detached from the instance). |
| "boot": True or False, # Indicates that this is a boot disk. The virtual machine will use the first |
| # partition of the disk for its root filesystem. |
| "deviceName": "A String", # Specifies a unique device name of your choice that is reflected into the/dev/disk/by-id/google-* tree of a Linux operating system |
| # running within the instance. This name can be used to reference the device |
| # for mounting, resizing, and so on, from within the instance. |
| # |
| # If not specified, the server chooses a default device name to apply to this |
| # disk, in the form persistent-disk-x, where x is a number |
| # assigned by Google Compute Engine. This field is only applicable for |
| # persistent disks. |
| "diskEncryptionKey": { # Encrypts or decrypts a disk using acustomer-supplied |
| # encryption key. |
| # |
| # If you are creating a new disk, this field encrypts the new disk using |
| # an encryption key that you provide. If you are attaching an existing |
| # disk that is already encrypted, this field decrypts the disk using |
| # the customer-supplied encryption key. |
| # |
| # If you encrypt a disk using a customer-supplied key, you must provide the |
| # same key again when you attempt to use this resource at a later time. For |
| # example, you must provide the key when you create a snapshot or an image |
| # from the disk or when you attach the disk to a virtual machine instance. |
| # |
| # If you do not provide an encryption key, then the disk will be encrypted |
| # using an automatically generated key and you do not need to provide a key |
| # to use the disk later. |
| # |
| # Note: |
| # |
| # Instance templates do not storecustomer-supplied |
| # encryption keys, so you cannot use your own keys to encrypt disks in amanaged instance group. |
| # |
| # You cannot create VMs that have disks with customer-supplied keys using |
| # the bulk |
| # insert method. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "diskSizeGb": "A String", # The size of the disk in GB. |
| "forceAttach": True or False, # [Input Only] Whether to force attach the regional disk even if it's |
| # currently attached to another instance. If you try to force attach a zonal |
| # disk to an instance, you will receive an error. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "index": 42, # [Output Only] A zero-based index to this disk, where 0 is reserved for the |
| # boot disk. If you have many disks attached to an instance, each |
| # disk would have a unique index number. |
| "initializeParams": { # [Input Only] Specifies the parameters for a new disk that will be created # [Input Only] Specifies the parameters for a new disk that will be created |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This field is persisted and returned for instanceTemplate and not returned |
| # in the context of instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| "architecture": "A String", # The architecture of the attached disk. Valid values are |
| # arm64 or x86_64. |
| "description": "A String", # An optional description. Provide this property when creating the disk. |
| "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name |
| # of the instance. If a disk with the same name already exists in the given |
| # region, the existing disk is attached to the new instance and the |
| # new disk is not created. |
| "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. The size must be at least |
| # 10 GB. If you specify a sourceImage, which is required for |
| # boot disks, the default size is the size of the sourceImage. |
| # If you do not specify a sourceImage, the default disk size |
| # is 500 GB. |
| "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, |
| # the default is pd-standard, specified using the full URL. |
| # For example: |
| # |
| # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard |
| # |
| # |
| # For a full list of acceptable values, seePersistent disk |
| # types. If you specify this field when creating a VM, you can provide |
| # either the full or partial URL. For example, the following values are |
| # valid: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType |
| # - projects/project/zones/zone/diskTypes/diskType |
| # - zones/zone/diskTypes/diskType |
| # |
| # |
| # If you specify this field when creating or updating an instance template |
| # or all-instances configuration, specify the type of the disk, not the |
| # URL. For example: pd-standard. |
| "enableConfidentialCompute": True or False, # Whether this disk is using confidential compute mode. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| # |
| # Guest OS features are applied by merginginitializeParams.guestOsFeatures anddisks.guestOsFeatures |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "interface": "A String", # [Deprecated] Specifies the disk interface to use for attaching this disk, |
| # which is either SCSI or NVME. The default isSCSI. |
| "labels": { # Labels to apply to this disk. These can be later modified by thedisks.setLabels method. This field is only applicable for |
| # persistent disks. |
| "a_key": "A String", |
| }, |
| "licenseCodes": [ # Integer license codes indicating which licenses are attached to this |
| # disk. |
| "A String", |
| ], |
| "licenses": [ # A list of publicly visible licenses. Reserved for Google's use. |
| "A String", |
| ], |
| "multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to |
| # more than one instance. |
| "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default |
| # is to use the existing disk. |
| "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number |
| # of I/O operations per second that the disk can handle. Values must be |
| # between 10,000 and 120,000. For more details, see theExtreme persistent |
| # disk documentation. |
| "provisionedThroughput": "A String", # Indicates how much throughput to provision for the disk. This sets the |
| # number of throughput mb per second that the disk can handle. Values must |
| # greater than or equal to 1. |
| "replicaZones": [ # Required for each regional disk associated with the instance. Specify |
| # the URLs of the zones where the disk should be replicated to. |
| # You must provide exactly two replica zones, and one zone must be the same |
| # as the instance zone. |
| "A String", |
| ], |
| "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values |
| # have the same definition as resource |
| # manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and |
| # values are in the format `tagValues/456`. The field is ignored (both PUT |
| # & PATCH) when empty. |
| "a_key": "A String", |
| }, |
| "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. |
| # Specified using the full or partial URL. For instance template, specify |
| # only the resource policy name. |
| "A String", |
| ], |
| "sourceImage": "A String", # The source image to create this disk. When creating a new instance boot |
| # disk, one of initializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # To create a disk with one of the public operating system |
| # images, specify the image by its family name. For example, specifyfamily/debian-9 to use the latest Debian 9 image: |
| # |
| # projects/debian-cloud/global/images/family/debian-9 |
| # |
| # |
| # Alternatively, use a specific version of a public operating system image: |
| # |
| # projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD |
| # |
| # |
| # To create a disk with a custom image that you created, specify the |
| # image name in the following format: |
| # |
| # global/images/my-custom-image |
| # |
| # |
| # You can also specify a custom image by its image family, which returns |
| # the latest version of the image in that family. Replace the image name |
| # with family/family-name: |
| # |
| # global/images/family/my-image-family |
| # |
| # |
| # If the source image is deleted later, this field will not be set. |
| "sourceImageEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source image. Required if the source image is |
| # protected by a customer-supplied encryption key. |
| # |
| # InstanceTemplate and InstancePropertiesPatch do not storecustomer-supplied |
| # encryption keys, so you cannot create disks for instances in a managed instance group if the |
| # source images are encrypted with your own keys. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "sourceInstantSnapshot": "A String", # The source instant-snapshot to create this disk. When creating a new |
| # instance boot disk, one of initializeParams.sourceSnapshot |
| # or initializeParams.sourceInstantSnapshotinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # us-central1-a/instantSnapshots/my-backup |
| # |
| # |
| # If the source instant-snapshot is deleted later, this field will not be |
| # set. |
| "sourceSnapshot": "A String", # The source snapshot to create this disk. When creating a new instance |
| # boot disk, one of initializeParams.sourceSnapshot orinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # global/snapshots/my-backup |
| # |
| # |
| # If the source snapshot is deleted later, this field will not be set. |
| # |
| # Note: You cannot create VMs in bulk using a snapshot as the source. Use |
| # an image instead when you create VMs using |
| # the bulk |
| # insert method. |
| "sourceSnapshotEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source snapshot. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "storagePool": "A String", # The storage pool in which the new disk is created. You can provide |
| # this as a partial or full URL to the resource. For example, the following |
| # are valid values: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/storagePools/storagePool |
| # - projects/project/zones/zone/storagePools/storagePool |
| # - zones/zone/storagePools/storagePool |
| }, |
| "interface": "A String", # Specifies the disk interface to use for attaching this disk, which is |
| # either SCSI or NVME. For most machine types, the |
| # default is SCSI. Local SSDs can use either NVME or SCSI. |
| # In certain configurations, persistent disks can use NVMe. For more |
| # information, seeAbout |
| # persistent disks. |
| "kind": "compute#attachedDisk", # [Output Only] Type of the resource. Alwayscompute#attachedDisk for attached disks. |
| "licenses": [ # [Output Only] Any valid publicly visible licenses. |
| "A String", |
| ], |
| "locked": True or False, # [Output Only] Whether to indicate the attached disk is locked. The locked |
| # disk is not allowed to be detached from the instance, or to be used as the |
| # source of the snapshot creation, and the image creation. The instance with |
| # at least one locked attached disk is not allow to be used as source of |
| # machine image creation, instant snapshot creation, and not allowed to be |
| # deleted with --keep-disk parameter set to true for locked disks. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the disk |
| # in READ_WRITE mode. |
| "savedState": "A String", # For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this |
| # field is set to PRESERVED if the LocalSSD data has been saved |
| # to a persistent location by customer request. (see the |
| # discard_local_ssd option on Stop/Suspend). |
| # Read-only in the api. |
| "shieldedInstanceInitialState": { # Initial State for shielded instance, # [Output Only] shielded vm initial state stored on disk |
| # these are public keys which are safe to store in public |
| "dbs": [ # The Key Database (db). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "dbxs": [ # The forbidden key database (dbx). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "keks": [ # The Key Exchange Key (KEK). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "pk": { # The Platform Key (PK). |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| }, |
| "source": "A String", # Specifies a valid partial or full URL to an existing Persistent Disk |
| # resource. When creating a new instance boot disk, one ofinitializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # If desired, you can also attach existing non-root persistent disks using |
| # this property. This field is only applicable for persistent disks. |
| # |
| # Note that for InstanceTemplate, specify the disk name for zonal disk, |
| # and the URL for regional disk. |
| "type": "A String", # Specifies the type of the disk, either SCRATCH orPERSISTENT. If not specified, the default isPERSISTENT. |
| "userLicenses": [ # [Output Only] A list of user provided licenses. It represents a list of |
| # URLs to the license resource. Unlike regular licenses, user provided |
| # licenses can be modified after the disk is created. |
| "A String", |
| ], |
| }, |
| ], |
| "machineTypes": [ # Full machine-type names, e.g. "n1-standard-16". |
| "A String", |
| ], |
| "minCpuPlatform": "A String", # Name of the minimum CPU platform to be used by this instance selection. |
| # e.g. 'Intel Ice Lake'. |
| "rank": 42, # Preference of this instance selection. Lower number means higher |
| # preference. MIG will first try to create a VM based on the machine-type |
| # with lowest rank and fallback to next rank based on availability. |
| # Machine types and instance selections with the same rank have the same |
| # preference. |
| }, |
| }, |
| "provisioningModelMix": { # Provisioning model configuration used by this managed instance group to |
| # create instances. |
| "standardCapacityBase": 42, # The base capacity that will always use Standard VMs to avoid risk of |
| # more preemption than the minimum capacity user needs. MIG will create |
| # only Standard VMs until it reaches standard_capacity_base and only |
| # then will start using standard_capacity_percent_above_base to mix Spot |
| # with Standard VMs. |
| "standardCapacityPercentAboveBase": 42, # The percentage of target capacity that should use Standard VM. The |
| # remaining percentage will use Spot VMs. The percentage applies only to |
| # the capacity above standard_capacity_base. |
| }, |
| }, |
| "instanceGroup": "A String", # [Output Only] The URL of the Instance Group resource. |
| "instanceLifecyclePolicy": { # The repair policy for this managed instance group. |
| "defaultActionOnFailure": "A String", # The action that a MIG performs on a failed VM. If the value of the onFailedHealthCheck field |
| # is `DEFAULT_ACTION`, then the same action also applies to the VMs on which your application |
| # fails a health check. Valid values are - REPAIR (default): MIG automatically repairs a failed |
| # VM by recreating it. For more information, see about repairing VMs in a MIG. - DO_NOTHING: MIG |
| # does not repair a failed VM. |
| "forceUpdateOnRepair": "A String", # A bit indicating whether to forcefully apply the group's latest |
| # configuration when repairing a VM. Valid options are: |
| # |
| # |
| # |
| # - NO (default): If configuration updates are available, they are not |
| # forcefully applied during repair. Instead, configuration updates are |
| # applied according to the group's update policy. |
| # |
| # - YES: If configuration updates are available, they are applied |
| # during repair. |
| "metadataBasedReadinessSignal": { # The configuration for metadata based readiness signal sent by the |
| # instance during initialization when stopping / suspending an instance. |
| # The Instance Group Manager will wait for a signal that indicates |
| # successful initialization before stopping / suspending an instance. |
| # |
| # If a successful readiness signal is not sent before timeout, the |
| # corresponding instance will not be stopped / suspended. Instead, |
| # an error will be visible in the lastAttempt.errors field of |
| # the managed instance in the listmanagedinstances |
| # method. |
| # |
| # If metadataBasedReadinessSignal.timeoutSec is unset, |
| # the Instance Group Manager will directly proceed to suspend / stop |
| # instances, skipping initialization on them. |
| "timeoutSec": 42, # The number of seconds to wait for a readiness signal during |
| # initialization before timing out. |
| }, |
| "onFailedHealthCheck": "A String", # The action that a MIG performs on an unhealthy VM. A VM is marked as |
| # unhealthy when the application running on that VM fails a health check. |
| # Valid values are: |
| # |
| # - DEFAULT_ACTION (default): MIG uses the same action |
| # configured for instanceLifecyclePolicy.defaultActionOnFailure field. |
| # - REPAIR: MIG automatically repairs an unhealthy VM by |
| # recreating it. |
| # - DO_NOTHING: MIG doesn't repair an unhealthy VM. |
| # For more information, see |
| # About repairing VMs in a MIG. |
| "onRepair": { # Configuration for VM repairs in the MIG. # Configuration for VM repairs in the MIG. |
| "allowChangingZone": "A String", # Specifies whether the MIG can change a VM's zone during a repair. |
| # Valid values are: |
| # |
| # - NO (default): MIG cannot change a VM's zone during a |
| # repair. |
| # - YES: MIG can select a different zone for the VM during |
| # a repair. |
| }, |
| }, |
| "instanceTemplate": "A String", # The URL of the instance template that is specified for this managed |
| # instance group. The group uses this template to create all new instances |
| # in the managed instance group. The templates for existing instances in the |
| # group do not change unless you run recreateInstances, runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE. |
| "kind": "compute#instanceGroupManager", # [Output Only] The resource type, which is alwayscompute#instanceGroupManager for managed instance groups. |
| "listManagedInstancesResults": "A String", # Pagination behavior of the listManagedInstances API method for |
| # this managed instance group. |
| "multiMig": "A String", # URL to the multi-MIG that this Managed Instance Group belongs to. |
| "name": "A String", # The name of the managed instance group. The name must be 1-63 characters |
| # long, and comply withRFC1035. |
| "namedPorts": [ # [Output Only] Named ports configured on the Instance Groups complementary |
| # to this Instance Group Manager. |
| { # The named port. For example: <"http", 80>. |
| "name": "A String", # The name for this named port. |
| # The name must be 1-63 characters long, and comply withRFC1035. |
| "port": 42, # The port number, which can be a value between 1 and 65535. |
| }, |
| ], |
| "params": { # Input only additional params for instance group manager creation. # Input only. Additional params passed with the request, but not persisted |
| # as part of resource payload. |
| "resourceManagerTags": { # Resource manager tags to bind to the managed instance group. The tags are |
| # key-value pairs. Keys must be in the format tagKeys/123 and values in the |
| # format tagValues/456. For more information, seeManage tags |
| # for resources. |
| "a_key": "A String", |
| }, |
| }, |
| "region": "A String", # [Output Only] The URL of theregion |
| # where the managed instance group resides (for regional resources). |
| "resourcePolicies": { # Resource policies for this managed instance group. |
| "workloadPolicy": "A String", # The URL of the workload policy that is specified for this managed |
| # instance group. |
| # It can be a full or partial URL. For example, the following are |
| # all valid URLs to a workload policy: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/regions/region/resourcePolicies/resourcePolicy |
| # - projects/project/regions/region/resourcePolicies/resourcePolicy |
| # - regions/region/resourcePolicies/resourcePolicy |
| }, |
| "satisfiesPzi": True or False, # [Output Only] Reserved for future use. |
| "satisfiesPzs": True or False, # [Output Only] Reserved for future use. |
| "selfLink": "A String", # [Output Only] The URL for this managed instance group. The server defines |
| # this URL. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "serviceAccount": "A String", # The service account to be used as credentials for all operations performed |
| # by the managed instance group on instances. The service accounts needs all |
| # permissions required to create and delete instances. |
| # By default, the service account |
| # {projectNumber}@cloudservices.gserviceaccount.com is used. |
| "standbyPolicy": { # Standby policy for stopped and suspended instances. |
| "initialDelaySec": 42, # Specifies the number of seconds that the MIG should wait to suspend or |
| # stop a VM after that VM was created. The initial delay gives the |
| # initialization script the time to prepare your VM for a quick scale out. |
| # The value of initial delay must be between 0 and 3600 seconds. The |
| # default value is 0. |
| "mode": "A String", # Defines how a MIG resumes or starts VMs from a standby pool when the |
| # group scales out. The default mode is `MANUAL`. |
| }, |
| "statefulPolicy": { # Stateful configuration for this Instanced Group Manager |
| "preservedState": { # Configuration of preserved resources. |
| "disks": { # Disks created on the instances that will be preserved on instance |
| # delete, update, etc. This map is keyed with the device names of |
| # the disks. |
| "a_key": { |
| "autoDelete": "A String", # These stateful disks will never be deleted during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the disk should be deleted after it |
| # is no longer used by the group, e.g. when the given instance or |
| # the whole group is deleted. Note: disks attached inREAD_ONLY mode cannot be auto-deleted. |
| }, |
| }, |
| "externalIPs": { # External network IPs assigned to the instances that will be preserved on |
| # instance delete, update, etc. This map is keyed with the network |
| # interface name. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| }, |
| }, |
| "internalIPs": { # Internal network IPs assigned to the instances that will be preserved on |
| # instance delete, update, etc. This map is keyed with the network |
| # interface name. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| }, |
| }, |
| }, |
| }, |
| "status": { # [Output Only] The status of this managed instance group. |
| "allInstancesConfig": { # [Output only] Status of all-instances configuration on the group. |
| "currentRevision": "A String", # [Output Only] Current all-instances configuration revision. |
| # This value is in RFC3339 text format. |
| "effective": True or False, # [Output Only] A bit indicating whether this configuration has |
| # been applied to all managed instances in the group. |
| }, |
| "autoscaler": "A String", # [Output Only] The URL of theAutoscaler |
| # that targets this instance group manager. |
| "bulkInstanceOperation": { # Bulk instance operation is the creation of VMs in a MIG when the # [Output Only] The status of bulk instance operation. |
| # targetSizePolicy.mode is set to BULK. |
| "inProgress": True or False, # [Output Only] Informs whether bulk instance operation is in progress. |
| "lastProgressCheck": { # [Output Only] Information from the last progress check of bulk instance |
| # operation. |
| "error": { # [Output Only] Errors encountered during bulk instance operation. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "timestamp": "A String", # [Output Only] Timestamp of the last progress check of bulk instance |
| # operation. Timestamp is in RFC3339 text format. |
| }, |
| }, |
| "isStable": True or False, # [Output Only] A bit indicating whether the managed instance group is in a |
| # stable state. A stable state means that: none of the instances in the |
| # managed instance group is currently undergoing any type of change (for |
| # example, creation, restart, or deletion); no future changes are scheduled |
| # for instances in the managed instance group; and the managed instance |
| # group itself is not being modified. |
| "stateful": { # [Output Only] Stateful status of the given Instance Group Manager. |
| "hasStatefulConfig": True or False, # [Output Only] A bit indicating whether the managed instance group |
| # has stateful configuration, that is, if you have configured any items |
| # in a stateful policy or in per-instance configs. |
| # The group might report that it has no stateful configuration even when |
| # there is still some preserved state on a managed instance, for example, |
| # if you have deleted all PICs but not yet applied those deletions. |
| "isStateful": True or False, # [Output Only] A bit indicating whether the managed instance group |
| # has stateful configuration, that is, if you have configured any items |
| # in a stateful policy or in per-instance configs. |
| # The group might report that it has no stateful configuration even when |
| # there is still some preserved state on a managed instance, for example, |
| # if you have deleted all PICs but not yet applied those deletions. This |
| # field is deprecated in favor of has_stateful_config. |
| "perInstanceConfigs": { # [Output Only] Status of per-instance configurations on the instances. |
| "allEffective": True or False, # A bit indicating if all of the group's per-instance configurations |
| # (listed in the output of a listPerInstanceConfigs API call) have |
| # status EFFECTIVE or there are no per-instance-configs. |
| }, |
| }, |
| "versionTarget": { # [Output Only] A status of consistency of Instances' versions with their |
| # target version specified by version field on Instance Group |
| # Manager. |
| "isReached": True or False, # [Output Only] A bit indicating whether version target has been reached |
| # in this managed instance group, i.e. all instances are in their target |
| # version. Instances' target version are specified byversion field on Instance Group Manager. |
| }, |
| }, |
| "targetPools": [ # The URLs for all TargetPool resources to which instances in theinstanceGroup field are added. The target pools automatically |
| # apply to all of the instances in the managed instance group. |
| "A String", |
| ], |
| "targetSize": 42, # The target number of running instances for this managed instance group. |
| # You can reduce this number by using the instanceGroupManager |
| # deleteInstances or abandonInstances methods. Resizing the group also |
| # changes this number. |
| "targetSizePolicy": { # The policy that specifies how the MIG creates its VMs to achieve the target |
| # size. |
| "mode": "A String", # The mode of target size policy based on which the MIG creates its VMs |
| # individually or all at once. |
| }, |
| "targetSizeUnit": "A String", # The unit of measure for the target size. |
| "targetStoppedSize": 42, # The target number of stopped instances for this managed instance group. |
| # This number changes when you: |
| # |
| # - Stop instance using the stopInstances |
| # method or start instances using the startInstances |
| # method. |
| # - Manually change the targetStoppedSize using the update |
| # method. |
| "targetSuspendedSize": 42, # The target number of suspended instances for this managed instance group. |
| # This number changes when you: |
| # |
| # - Suspend instance using the suspendInstances |
| # method or resume instances using the resumeInstances |
| # method. |
| # - Manually change the targetSuspendedSize using the update |
| # method. |
| "updatePolicy": { # The update policy for this managed instance group. |
| "instanceRedistributionType": "A String", # The |
| # instance redistribution policy for regional managed instance groups. |
| # Valid values are: |
| # |
| # - PROACTIVE (default): The group attempts to maintain an |
| # even distribution of VM instances across zones in the region. |
| # - NONE: For non-autoscaled groups, proactive |
| # redistribution is disabled. |
| "maxSurge": { # Encapsulates numeric value that can be either absolute or relative. # The maximum number of instances that can be created above the specifiedtargetSize during the update process. This value can be |
| # either a fixed number or, if the group has 10 or more instances, a |
| # percentage. If you set a percentage, the number of instances is rounded |
| # if necessary. The default value for maxSurge is a fixed |
| # value equal to the number of zones in which the managed instance group |
| # operates. |
| # |
| # At least one of either maxSurge ormaxUnavailable must be greater than 0. Learn more about maxSurge. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| "maxUnavailable": { # Encapsulates numeric value that can be either absolute or relative. # The maximum number of instances that can be unavailable during the update |
| # process. An instance is considered available if all of the following |
| # conditions are satisfied: |
| # |
| # |
| # |
| # - The instance's status is |
| # RUNNING. |
| # - If there is a health |
| # check on the instance group, the instance's health check status |
| # must be HEALTHY at least once. If there is no health check |
| # on the group, then the instance only needs to have a status of |
| # RUNNING to be considered available. |
| # |
| # |
| # This value can be either a fixed number or, if the group has 10 or more |
| # instances, a percentage. If you set a percentage, the number of instances |
| # is rounded if necessary. The default value formaxUnavailable is a fixed value equal to the number of zones |
| # in which the managed instance group operates. |
| # |
| # At least one of either maxSurge ormaxUnavailable must be greater than 0. Learn more about maxUnavailable. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| "minReadySec": 42, # Minimum number of seconds to wait for after a newly created instance |
| # becomes available. This value must be from range [0, 3600]. |
| "minimalAction": "A String", # Minimal action to be taken on an instance. Use this option to minimize |
| # disruption as much as possible or to apply a more disruptive action than |
| # is necessary. |
| # |
| # - To limit disruption as much as possible, set the minimal action toREFRESH. If your update requires a more disruptive action, |
| # Compute Engine performs the necessary action to execute the update. |
| # - To apply a more disruptive action than is strictly necessary, set the |
| # minimal action to RESTART or REPLACE. For |
| # example, Compute Engine does not need to restart a VM to change its |
| # metadata. But if your application reads instance metadata only when a VM |
| # is restarted, you can set the minimal action to RESTART in |
| # order to pick up metadata changes. |
| "mostDisruptiveAllowedAction": "A String", # Most disruptive action that is allowed to be taken on an instance. |
| # You can specify either NONE to forbid any actions,REFRESH to avoid restarting the VM and to limit disruption |
| # as much as possible. RESTART to allow actions that can be |
| # applied without instance replacing or REPLACE to allow all |
| # possible actions. If the Updater determines that the minimal update |
| # action needed is more disruptive than most disruptive allowed action you |
| # specify it will not perform the update at all. |
| "replacementMethod": "A String", # What action should be used to replace instances. |
| # See minimal_action.REPLACE |
| "type": "A String", # The type |
| # of update process. You can specify either PROACTIVE so |
| # that the MIG automatically updates VMs to the latest configurations orOPPORTUNISTIC so that you can select the VMs that you want |
| # to update. |
| }, |
| "versions": [ # Specifies the instance templates used by this managed instance group to |
| # create instances. |
| # |
| # Each version is defined by an instanceTemplate and aname. Every version can appear at most once per instance |
| # group. This field overrides the top-level instanceTemplate |
| # field. Read more about therelationships |
| # between these fields. Exactly one version must leave thetargetSize field unset. That version will be applied to all |
| # remaining instances. For more information, read aboutcanary |
| # updates. |
| { |
| "instanceTemplate": "A String", # The URL of the instance template that is specified for this managed |
| # instance group. The group uses this template to create new instances in |
| # the managed instance group until the `targetSize` for this version is |
| # reached. The templates for existing instances in the group do not change |
| # unless you run recreateInstances, runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE; in those cases, |
| # existing instances are updated until the `targetSize` for this version is |
| # reached. |
| "name": "A String", # Name of the version. Unique among all versions in the scope of this |
| # managed instance group. |
| "tag": "A String", # Tag describing the version. Used to trigger rollout of a target version |
| # even if instance_template remains unchanged. |
| # Deprecated in favor of 'name'. |
| "targetSize": { # Encapsulates numeric value that can be either absolute or relative. # Specifies the intended number of instances to be created from theinstanceTemplate. The final number of instances created |
| # from the template will be equal to: |
| # |
| # |
| # - If expressed as a fixed number, the minimum of either |
| # targetSize.fixed or |
| # instanceGroupManager.targetSize is used. |
| # - if expressed as a percent, the targetSize |
| # would be (targetSize.percent/100 * |
| # InstanceGroupManager.targetSize) If there is a remainder, the |
| # number is rounded. |
| # |
| # If unset, this version will update any remaining instances not |
| # updated by another version. ReadStarting |
| # a canary update for more information. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of azone |
| # where the managed instance group is located (for zonal resources). |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="getAvailableAcceleratorTopologies">getAvailableAcceleratorTopologies(project, zone, resourceId, x__xgafv=None)</code> |
| <pre>Returns information about available accelerator topologies for a given MIG. |
| |
| Args: |
| project: string, Required. Project ID for this request. (required) |
| zone: string, Required. The name of thezone where the managed |
| instance group is located. |
| Name should conform to RFC1035. (required) |
| resourceId: string, Required. The name of the managed instance group. |
| It should conform to RFC1035. (required) |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { |
| "acceleratorTopologiesInfo": { # The accelerator topology information returned per id of the topology |
| # location. |
| "a_key": { |
| "acceleratorTopology": "A String", # Topology in the format of: "16x16", "4x4x4", etc. |
| "acceleratorTopologyHealth": "A String", |
| }, |
| }, |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="insert">insert(project, zone, body=None, requestId=None, x__xgafv=None)</code> |
| <pre>Creates a managed instance group using the information that you specify |
| in the request. After the group is created, instances in the group are |
| created using the specified instance template. |
| This operation is marked as DONE when the group is created |
| even if the instances in the group have not yet been created. You |
| must separately verify the status of the individual instances with thelistmanagedinstances |
| method. |
| |
| A managed instance group can have up to 1000 VM instances per group. Please |
| contact Cloud Support if you need an increase in |
| this limit. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of the zone |
| where you want to create the managed instance group. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { # Represents a Managed Instance Group resource. |
| # |
| # An instance group is a collection of VM instances that you can manage as a |
| # single entity. For more information, readInstance groups. |
| # |
| # For zonal Managed Instance Group, use the instanceGroupManagers |
| # resource. |
| # |
| # For regional Managed Instance Group, use theregionInstanceGroupManagers resource. |
| "allInstancesConfig": { # Specifies configuration that overrides the instance template configuration |
| # for the group. |
| "properties": { # Represents the change that you want to make to the instance properties. # Properties to set on all instances in the group. |
| # |
| # You can add or modify properties using theinstanceGroupManagers.patch orregionInstanceGroupManagers.patch. After settingallInstancesConfig on the group, you must update the group's |
| # instances to apply the configuration. To apply the configuration, set the |
| # group's updatePolicy.type field to use proactive updates or |
| # use the applyUpdatesToInstances method. |
| "labels": { # The label key-value pairs that you want to patch onto the instance. |
| "a_key": "A String", |
| }, |
| "metadata": { # The metadata key-value pairs that you want to patch onto the instance. For |
| # more information, see Project and |
| # instance metadata. |
| "a_key": "A String", |
| }, |
| }, |
| }, |
| "autoHealingPolicies": [ # The autohealing policy for this managed instance group. You can specify |
| # only one value. |
| { |
| "autoHealingTriggers": { # Restricts what triggers autohealing. |
| "onHealthCheck": "A String", # If you have configured an application-based health check for the group, |
| # this field controls whether to trigger VM autohealing based on a failed |
| # health check. Valid values are: |
| # |
| # - ON (default): The group recreates running VMs that |
| # fail the application-based health check. |
| # - OFF: When set to OFF, you can still observe instance |
| # health state, but the group does not recreate VMs that fail the |
| # application-based health check. This is useful for troubleshooting and |
| # setting up your health check configuration. |
| }, |
| "healthCheck": "A String", # The URL for the health check that signals autohealing. |
| "initialDelaySec": 42, # The initial delay is the number of seconds that a new VM takes to |
| # initialize and run its startup script. During a VM's initial delay |
| # period, the MIG ignores unsuccessful health checks because the VM might |
| # be in the startup process. This prevents the MIG from prematurely |
| # recreating a VM. If the health check receives a healthy response during |
| # the initial delay, it indicates that the startup process is complete and |
| # the VM is ready. The value of initial delay must be between 0 and 3600 |
| # seconds. The default value is 0. |
| "maxUnavailable": { # Encapsulates numeric value that can be either absolute or relative. # Maximum number of instances that can be unavailable when autohealing. |
| # When 'percent' is used, the value is rounded if necessary. |
| # The instance is considered available if all of the following conditions |
| # are satisfied: |
| # 1. Instance's status is RUNNING. |
| # 2. Instance's currentAction is NONE (in particular its liveness health |
| # check result was observed to be HEALTHY at least once as it passed |
| # VERIFYING). |
| # 3. There is no outgoing action on an instance triggered by IGM. |
| # |
| # By default, number of concurrently autohealed instances is smaller than |
| # the managed instance group target size. However, if a zonal managed |
| # instance group has only one instance, or a regional managed instance |
| # group has only one instance per zone, autohealing will recreate these |
| # instances when they become unhealthy. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| }, |
| ], |
| "baseInstanceName": "A String", # The base instance name is a prefix that you want to attach to the names of |
| # all VMs in a MIG. The maximum character length is 58 and the name must |
| # comply with RFC1035 format. |
| # |
| # When a VM is created in the group, the MIG appends a hyphen and a random |
| # four-character string to the base instance name. If you want the MIG to |
| # assign sequential numbers instead of a random string, then end the base |
| # instance name with a hyphen followed by one or more hash symbols. The hash |
| # symbols indicate the number of digits. For example, a base instance name of |
| # "vm-###" results in "vm-001" as a VM name. |
| # @pattern |
| # [a-z](([-a-z0-9]{0,57})|([-a-z0-9]{0,51}-#{1,10}(\\[[0-9]{1,10}\\])?)) |
| "creationTimestamp": "A String", # [Output Only] The creation timestamp for this managed instance group inRFC3339 |
| # text format. |
| "currentActions": { # [Output Only] The list of instance actions and the number of instances |
| # in this managed instance group that are scheduled for each of those |
| # actions. |
| "abandoning": 42, # [Output Only] The total number of instances in the managed instance group |
| # that are scheduled to be abandoned. Abandoning an instance removes it |
| # from the managed instance group without deleting it. |
| "creating": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be created or are currently being created. If the group |
| # fails to create any of these instances, it tries again until it creates |
| # the instance successfully. |
| # |
| # If you have disabled creation retries, this field will not be populated; |
| # instead, the creatingWithoutRetries field will be populated. |
| "creatingAtomically": 42, # [Output Only] The number of instances that the managed instance group |
| # will attempt to create atomically, in a batch mode. If the desired count |
| # of instances can not be created, entire batch will be deleted and the |
| # group will decrease its targetSize value accordingly. |
| "creatingWithoutRetries": 42, # [Output Only] The number of instances that the managed instance group |
| # will attempt to create. The group attempts to create each instance |
| # only once. If the group fails to create any of these instances, it |
| # decreases the group's targetSize value accordingly. |
| "deleting": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be deleted or are currently being deleted. |
| "none": 42, # [Output Only] The number of instances in the managed instance group that |
| # are running and have no scheduled actions. |
| "queuing": 42, # [Output Only] The number of instances that the managed instance group |
| # is currently queuing. |
| "recreating": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be recreated or are currently being being recreated. |
| # Recreating an instance deletes the existing root persistent disk |
| # and creates a new disk from the image that is defined in the |
| # instance template. |
| "refreshing": 42, # [Output Only] The number of instances in the managed instance group that |
| # are being reconfigured with properties that do not require a restart |
| # or a recreate action. For example, setting or removing target |
| # pools for the instance. |
| "restarting": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be restarted or are currently being restarted. |
| "resuming": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be resumed or are currently being resumed. |
| "starting": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be started or are currently being started. |
| "stopping": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be stopped or are currently being stopped. |
| "suspending": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be suspended or are currently being suspended. |
| "verifying": 42, # [Output Only] The number of instances in the managed instance group that |
| # are being verified. See the managedInstances[].currentAction |
| # property in the listManagedInstances method documentation. |
| }, |
| "description": "A String", # An optional description of this resource. |
| "distributionPolicy": { # Policy specifying the intended distribution of managed instances across |
| # zones in a regional managed instance group. |
| "targetShape": "A String", # The distribution shape to which the group converges either proactively or |
| # on resize events (depending on the value set inupdatePolicy.instanceRedistributionType). |
| "zones": [ # Zones where the regional managed instance group will create and manage |
| # its instances. |
| { |
| "zone": "A String", # The URL of thezone. |
| # The zone must exist in the region where the managed instance group is |
| # located. |
| }, |
| ], |
| }, |
| "failoverAction": "A String", # The action to perform in case of zone failure. Only one value is supported,NO_FAILOVER. The default is NO_FAILOVER. |
| "fingerprint": "A String", # Fingerprint of this resource. This field may be used in optimistic locking. |
| # It will be ignored when inserting an InstanceGroupManager. An up-to-date |
| # fingerprint must be provided in order to update the InstanceGroupManager, |
| # otherwise the request will fail with error412 conditionNotMet. |
| # |
| # To see the latest fingerprint, make a get() request to |
| # retrieve an InstanceGroupManager. |
| "id": "A String", # [Output Only] A unique identifier for this resource type. The server |
| # generates this identifier. |
| "instanceFlexibilityPolicy": { # Instance flexibility allowing MIG to create VMs from multiple |
| # types of machines. |
| # Instance flexibility configuration on MIG overrides instance |
| # template configuration. |
| "instanceSelectionLists": { # Named instance selections configuring properties that the group will use |
| # when creating new VMs. |
| "a_key": { |
| "disks": [ # List of disks to be attached to the instances created from this |
| # selection. |
| { # An instance-attached disk resource. |
| "architecture": "A String", # [Output Only] The architecture of the attached disk. Valid values are ARM64 |
| # or X86_64. |
| "autoDelete": True or False, # Specifies whether the disk will be auto-deleted when the instance is |
| # deleted (but not when the disk is detached from the instance). |
| "boot": True or False, # Indicates that this is a boot disk. The virtual machine will use the first |
| # partition of the disk for its root filesystem. |
| "deviceName": "A String", # Specifies a unique device name of your choice that is reflected into the/dev/disk/by-id/google-* tree of a Linux operating system |
| # running within the instance. This name can be used to reference the device |
| # for mounting, resizing, and so on, from within the instance. |
| # |
| # If not specified, the server chooses a default device name to apply to this |
| # disk, in the form persistent-disk-x, where x is a number |
| # assigned by Google Compute Engine. This field is only applicable for |
| # persistent disks. |
| "diskEncryptionKey": { # Encrypts or decrypts a disk using acustomer-supplied |
| # encryption key. |
| # |
| # If you are creating a new disk, this field encrypts the new disk using |
| # an encryption key that you provide. If you are attaching an existing |
| # disk that is already encrypted, this field decrypts the disk using |
| # the customer-supplied encryption key. |
| # |
| # If you encrypt a disk using a customer-supplied key, you must provide the |
| # same key again when you attempt to use this resource at a later time. For |
| # example, you must provide the key when you create a snapshot or an image |
| # from the disk or when you attach the disk to a virtual machine instance. |
| # |
| # If you do not provide an encryption key, then the disk will be encrypted |
| # using an automatically generated key and you do not need to provide a key |
| # to use the disk later. |
| # |
| # Note: |
| # |
| # Instance templates do not storecustomer-supplied |
| # encryption keys, so you cannot use your own keys to encrypt disks in amanaged instance group. |
| # |
| # You cannot create VMs that have disks with customer-supplied keys using |
| # the bulk |
| # insert method. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "diskSizeGb": "A String", # The size of the disk in GB. |
| "forceAttach": True or False, # [Input Only] Whether to force attach the regional disk even if it's |
| # currently attached to another instance. If you try to force attach a zonal |
| # disk to an instance, you will receive an error. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "index": 42, # [Output Only] A zero-based index to this disk, where 0 is reserved for the |
| # boot disk. If you have many disks attached to an instance, each |
| # disk would have a unique index number. |
| "initializeParams": { # [Input Only] Specifies the parameters for a new disk that will be created # [Input Only] Specifies the parameters for a new disk that will be created |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This field is persisted and returned for instanceTemplate and not returned |
| # in the context of instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| "architecture": "A String", # The architecture of the attached disk. Valid values are |
| # arm64 or x86_64. |
| "description": "A String", # An optional description. Provide this property when creating the disk. |
| "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name |
| # of the instance. If a disk with the same name already exists in the given |
| # region, the existing disk is attached to the new instance and the |
| # new disk is not created. |
| "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. The size must be at least |
| # 10 GB. If you specify a sourceImage, which is required for |
| # boot disks, the default size is the size of the sourceImage. |
| # If you do not specify a sourceImage, the default disk size |
| # is 500 GB. |
| "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, |
| # the default is pd-standard, specified using the full URL. |
| # For example: |
| # |
| # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard |
| # |
| # |
| # For a full list of acceptable values, seePersistent disk |
| # types. If you specify this field when creating a VM, you can provide |
| # either the full or partial URL. For example, the following values are |
| # valid: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType |
| # - projects/project/zones/zone/diskTypes/diskType |
| # - zones/zone/diskTypes/diskType |
| # |
| # |
| # If you specify this field when creating or updating an instance template |
| # or all-instances configuration, specify the type of the disk, not the |
| # URL. For example: pd-standard. |
| "enableConfidentialCompute": True or False, # Whether this disk is using confidential compute mode. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| # |
| # Guest OS features are applied by merginginitializeParams.guestOsFeatures anddisks.guestOsFeatures |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "interface": "A String", # [Deprecated] Specifies the disk interface to use for attaching this disk, |
| # which is either SCSI or NVME. The default isSCSI. |
| "labels": { # Labels to apply to this disk. These can be later modified by thedisks.setLabels method. This field is only applicable for |
| # persistent disks. |
| "a_key": "A String", |
| }, |
| "licenseCodes": [ # Integer license codes indicating which licenses are attached to this |
| # disk. |
| "A String", |
| ], |
| "licenses": [ # A list of publicly visible licenses. Reserved for Google's use. |
| "A String", |
| ], |
| "multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to |
| # more than one instance. |
| "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default |
| # is to use the existing disk. |
| "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number |
| # of I/O operations per second that the disk can handle. Values must be |
| # between 10,000 and 120,000. For more details, see theExtreme persistent |
| # disk documentation. |
| "provisionedThroughput": "A String", # Indicates how much throughput to provision for the disk. This sets the |
| # number of throughput mb per second that the disk can handle. Values must |
| # greater than or equal to 1. |
| "replicaZones": [ # Required for each regional disk associated with the instance. Specify |
| # the URLs of the zones where the disk should be replicated to. |
| # You must provide exactly two replica zones, and one zone must be the same |
| # as the instance zone. |
| "A String", |
| ], |
| "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values |
| # have the same definition as resource |
| # manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and |
| # values are in the format `tagValues/456`. The field is ignored (both PUT |
| # & PATCH) when empty. |
| "a_key": "A String", |
| }, |
| "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. |
| # Specified using the full or partial URL. For instance template, specify |
| # only the resource policy name. |
| "A String", |
| ], |
| "sourceImage": "A String", # The source image to create this disk. When creating a new instance boot |
| # disk, one of initializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # To create a disk with one of the public operating system |
| # images, specify the image by its family name. For example, specifyfamily/debian-9 to use the latest Debian 9 image: |
| # |
| # projects/debian-cloud/global/images/family/debian-9 |
| # |
| # |
| # Alternatively, use a specific version of a public operating system image: |
| # |
| # projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD |
| # |
| # |
| # To create a disk with a custom image that you created, specify the |
| # image name in the following format: |
| # |
| # global/images/my-custom-image |
| # |
| # |
| # You can also specify a custom image by its image family, which returns |
| # the latest version of the image in that family. Replace the image name |
| # with family/family-name: |
| # |
| # global/images/family/my-image-family |
| # |
| # |
| # If the source image is deleted later, this field will not be set. |
| "sourceImageEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source image. Required if the source image is |
| # protected by a customer-supplied encryption key. |
| # |
| # InstanceTemplate and InstancePropertiesPatch do not storecustomer-supplied |
| # encryption keys, so you cannot create disks for instances in a managed instance group if the |
| # source images are encrypted with your own keys. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "sourceInstantSnapshot": "A String", # The source instant-snapshot to create this disk. When creating a new |
| # instance boot disk, one of initializeParams.sourceSnapshot |
| # or initializeParams.sourceInstantSnapshotinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # us-central1-a/instantSnapshots/my-backup |
| # |
| # |
| # If the source instant-snapshot is deleted later, this field will not be |
| # set. |
| "sourceSnapshot": "A String", # The source snapshot to create this disk. When creating a new instance |
| # boot disk, one of initializeParams.sourceSnapshot orinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # global/snapshots/my-backup |
| # |
| # |
| # If the source snapshot is deleted later, this field will not be set. |
| # |
| # Note: You cannot create VMs in bulk using a snapshot as the source. Use |
| # an image instead when you create VMs using |
| # the bulk |
| # insert method. |
| "sourceSnapshotEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source snapshot. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "storagePool": "A String", # The storage pool in which the new disk is created. You can provide |
| # this as a partial or full URL to the resource. For example, the following |
| # are valid values: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/storagePools/storagePool |
| # - projects/project/zones/zone/storagePools/storagePool |
| # - zones/zone/storagePools/storagePool |
| }, |
| "interface": "A String", # Specifies the disk interface to use for attaching this disk, which is |
| # either SCSI or NVME. For most machine types, the |
| # default is SCSI. Local SSDs can use either NVME or SCSI. |
| # In certain configurations, persistent disks can use NVMe. For more |
| # information, seeAbout |
| # persistent disks. |
| "kind": "compute#attachedDisk", # [Output Only] Type of the resource. Alwayscompute#attachedDisk for attached disks. |
| "licenses": [ # [Output Only] Any valid publicly visible licenses. |
| "A String", |
| ], |
| "locked": True or False, # [Output Only] Whether to indicate the attached disk is locked. The locked |
| # disk is not allowed to be detached from the instance, or to be used as the |
| # source of the snapshot creation, and the image creation. The instance with |
| # at least one locked attached disk is not allow to be used as source of |
| # machine image creation, instant snapshot creation, and not allowed to be |
| # deleted with --keep-disk parameter set to true for locked disks. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the disk |
| # in READ_WRITE mode. |
| "savedState": "A String", # For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this |
| # field is set to PRESERVED if the LocalSSD data has been saved |
| # to a persistent location by customer request. (see the |
| # discard_local_ssd option on Stop/Suspend). |
| # Read-only in the api. |
| "shieldedInstanceInitialState": { # Initial State for shielded instance, # [Output Only] shielded vm initial state stored on disk |
| # these are public keys which are safe to store in public |
| "dbs": [ # The Key Database (db). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "dbxs": [ # The forbidden key database (dbx). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "keks": [ # The Key Exchange Key (KEK). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "pk": { # The Platform Key (PK). |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| }, |
| "source": "A String", # Specifies a valid partial or full URL to an existing Persistent Disk |
| # resource. When creating a new instance boot disk, one ofinitializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # If desired, you can also attach existing non-root persistent disks using |
| # this property. This field is only applicable for persistent disks. |
| # |
| # Note that for InstanceTemplate, specify the disk name for zonal disk, |
| # and the URL for regional disk. |
| "type": "A String", # Specifies the type of the disk, either SCRATCH orPERSISTENT. If not specified, the default isPERSISTENT. |
| "userLicenses": [ # [Output Only] A list of user provided licenses. It represents a list of |
| # URLs to the license resource. Unlike regular licenses, user provided |
| # licenses can be modified after the disk is created. |
| "A String", |
| ], |
| }, |
| ], |
| "machineTypes": [ # Full machine-type names, e.g. "n1-standard-16". |
| "A String", |
| ], |
| "minCpuPlatform": "A String", # Name of the minimum CPU platform to be used by this instance selection. |
| # e.g. 'Intel Ice Lake'. |
| "rank": 42, # Preference of this instance selection. Lower number means higher |
| # preference. MIG will first try to create a VM based on the machine-type |
| # with lowest rank and fallback to next rank based on availability. |
| # Machine types and instance selections with the same rank have the same |
| # preference. |
| }, |
| }, |
| "instanceSelections": { # Named instance selections configuring properties that the group will use |
| # when creating new VMs. |
| "a_key": { |
| "disks": [ # List of disks to be attached to the instances created from this |
| # selection. |
| { # An instance-attached disk resource. |
| "architecture": "A String", # [Output Only] The architecture of the attached disk. Valid values are ARM64 |
| # or X86_64. |
| "autoDelete": True or False, # Specifies whether the disk will be auto-deleted when the instance is |
| # deleted (but not when the disk is detached from the instance). |
| "boot": True or False, # Indicates that this is a boot disk. The virtual machine will use the first |
| # partition of the disk for its root filesystem. |
| "deviceName": "A String", # Specifies a unique device name of your choice that is reflected into the/dev/disk/by-id/google-* tree of a Linux operating system |
| # running within the instance. This name can be used to reference the device |
| # for mounting, resizing, and so on, from within the instance. |
| # |
| # If not specified, the server chooses a default device name to apply to this |
| # disk, in the form persistent-disk-x, where x is a number |
| # assigned by Google Compute Engine. This field is only applicable for |
| # persistent disks. |
| "diskEncryptionKey": { # Encrypts or decrypts a disk using acustomer-supplied |
| # encryption key. |
| # |
| # If you are creating a new disk, this field encrypts the new disk using |
| # an encryption key that you provide. If you are attaching an existing |
| # disk that is already encrypted, this field decrypts the disk using |
| # the customer-supplied encryption key. |
| # |
| # If you encrypt a disk using a customer-supplied key, you must provide the |
| # same key again when you attempt to use this resource at a later time. For |
| # example, you must provide the key when you create a snapshot or an image |
| # from the disk or when you attach the disk to a virtual machine instance. |
| # |
| # If you do not provide an encryption key, then the disk will be encrypted |
| # using an automatically generated key and you do not need to provide a key |
| # to use the disk later. |
| # |
| # Note: |
| # |
| # Instance templates do not storecustomer-supplied |
| # encryption keys, so you cannot use your own keys to encrypt disks in amanaged instance group. |
| # |
| # You cannot create VMs that have disks with customer-supplied keys using |
| # the bulk |
| # insert method. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "diskSizeGb": "A String", # The size of the disk in GB. |
| "forceAttach": True or False, # [Input Only] Whether to force attach the regional disk even if it's |
| # currently attached to another instance. If you try to force attach a zonal |
| # disk to an instance, you will receive an error. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "index": 42, # [Output Only] A zero-based index to this disk, where 0 is reserved for the |
| # boot disk. If you have many disks attached to an instance, each |
| # disk would have a unique index number. |
| "initializeParams": { # [Input Only] Specifies the parameters for a new disk that will be created # [Input Only] Specifies the parameters for a new disk that will be created |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This field is persisted and returned for instanceTemplate and not returned |
| # in the context of instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| "architecture": "A String", # The architecture of the attached disk. Valid values are |
| # arm64 or x86_64. |
| "description": "A String", # An optional description. Provide this property when creating the disk. |
| "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name |
| # of the instance. If a disk with the same name already exists in the given |
| # region, the existing disk is attached to the new instance and the |
| # new disk is not created. |
| "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. The size must be at least |
| # 10 GB. If you specify a sourceImage, which is required for |
| # boot disks, the default size is the size of the sourceImage. |
| # If you do not specify a sourceImage, the default disk size |
| # is 500 GB. |
| "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, |
| # the default is pd-standard, specified using the full URL. |
| # For example: |
| # |
| # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard |
| # |
| # |
| # For a full list of acceptable values, seePersistent disk |
| # types. If you specify this field when creating a VM, you can provide |
| # either the full or partial URL. For example, the following values are |
| # valid: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType |
| # - projects/project/zones/zone/diskTypes/diskType |
| # - zones/zone/diskTypes/diskType |
| # |
| # |
| # If you specify this field when creating or updating an instance template |
| # or all-instances configuration, specify the type of the disk, not the |
| # URL. For example: pd-standard. |
| "enableConfidentialCompute": True or False, # Whether this disk is using confidential compute mode. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| # |
| # Guest OS features are applied by merginginitializeParams.guestOsFeatures anddisks.guestOsFeatures |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "interface": "A String", # [Deprecated] Specifies the disk interface to use for attaching this disk, |
| # which is either SCSI or NVME. The default isSCSI. |
| "labels": { # Labels to apply to this disk. These can be later modified by thedisks.setLabels method. This field is only applicable for |
| # persistent disks. |
| "a_key": "A String", |
| }, |
| "licenseCodes": [ # Integer license codes indicating which licenses are attached to this |
| # disk. |
| "A String", |
| ], |
| "licenses": [ # A list of publicly visible licenses. Reserved for Google's use. |
| "A String", |
| ], |
| "multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to |
| # more than one instance. |
| "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default |
| # is to use the existing disk. |
| "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number |
| # of I/O operations per second that the disk can handle. Values must be |
| # between 10,000 and 120,000. For more details, see theExtreme persistent |
| # disk documentation. |
| "provisionedThroughput": "A String", # Indicates how much throughput to provision for the disk. This sets the |
| # number of throughput mb per second that the disk can handle. Values must |
| # greater than or equal to 1. |
| "replicaZones": [ # Required for each regional disk associated with the instance. Specify |
| # the URLs of the zones where the disk should be replicated to. |
| # You must provide exactly two replica zones, and one zone must be the same |
| # as the instance zone. |
| "A String", |
| ], |
| "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values |
| # have the same definition as resource |
| # manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and |
| # values are in the format `tagValues/456`. The field is ignored (both PUT |
| # & PATCH) when empty. |
| "a_key": "A String", |
| }, |
| "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. |
| # Specified using the full or partial URL. For instance template, specify |
| # only the resource policy name. |
| "A String", |
| ], |
| "sourceImage": "A String", # The source image to create this disk. When creating a new instance boot |
| # disk, one of initializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # To create a disk with one of the public operating system |
| # images, specify the image by its family name. For example, specifyfamily/debian-9 to use the latest Debian 9 image: |
| # |
| # projects/debian-cloud/global/images/family/debian-9 |
| # |
| # |
| # Alternatively, use a specific version of a public operating system image: |
| # |
| # projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD |
| # |
| # |
| # To create a disk with a custom image that you created, specify the |
| # image name in the following format: |
| # |
| # global/images/my-custom-image |
| # |
| # |
| # You can also specify a custom image by its image family, which returns |
| # the latest version of the image in that family. Replace the image name |
| # with family/family-name: |
| # |
| # global/images/family/my-image-family |
| # |
| # |
| # If the source image is deleted later, this field will not be set. |
| "sourceImageEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source image. Required if the source image is |
| # protected by a customer-supplied encryption key. |
| # |
| # InstanceTemplate and InstancePropertiesPatch do not storecustomer-supplied |
| # encryption keys, so you cannot create disks for instances in a managed instance group if the |
| # source images are encrypted with your own keys. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "sourceInstantSnapshot": "A String", # The source instant-snapshot to create this disk. When creating a new |
| # instance boot disk, one of initializeParams.sourceSnapshot |
| # or initializeParams.sourceInstantSnapshotinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # us-central1-a/instantSnapshots/my-backup |
| # |
| # |
| # If the source instant-snapshot is deleted later, this field will not be |
| # set. |
| "sourceSnapshot": "A String", # The source snapshot to create this disk. When creating a new instance |
| # boot disk, one of initializeParams.sourceSnapshot orinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # global/snapshots/my-backup |
| # |
| # |
| # If the source snapshot is deleted later, this field will not be set. |
| # |
| # Note: You cannot create VMs in bulk using a snapshot as the source. Use |
| # an image instead when you create VMs using |
| # the bulk |
| # insert method. |
| "sourceSnapshotEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source snapshot. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "storagePool": "A String", # The storage pool in which the new disk is created. You can provide |
| # this as a partial or full URL to the resource. For example, the following |
| # are valid values: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/storagePools/storagePool |
| # - projects/project/zones/zone/storagePools/storagePool |
| # - zones/zone/storagePools/storagePool |
| }, |
| "interface": "A String", # Specifies the disk interface to use for attaching this disk, which is |
| # either SCSI or NVME. For most machine types, the |
| # default is SCSI. Local SSDs can use either NVME or SCSI. |
| # In certain configurations, persistent disks can use NVMe. For more |
| # information, seeAbout |
| # persistent disks. |
| "kind": "compute#attachedDisk", # [Output Only] Type of the resource. Alwayscompute#attachedDisk for attached disks. |
| "licenses": [ # [Output Only] Any valid publicly visible licenses. |
| "A String", |
| ], |
| "locked": True or False, # [Output Only] Whether to indicate the attached disk is locked. The locked |
| # disk is not allowed to be detached from the instance, or to be used as the |
| # source of the snapshot creation, and the image creation. The instance with |
| # at least one locked attached disk is not allow to be used as source of |
| # machine image creation, instant snapshot creation, and not allowed to be |
| # deleted with --keep-disk parameter set to true for locked disks. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the disk |
| # in READ_WRITE mode. |
| "savedState": "A String", # For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this |
| # field is set to PRESERVED if the LocalSSD data has been saved |
| # to a persistent location by customer request. (see the |
| # discard_local_ssd option on Stop/Suspend). |
| # Read-only in the api. |
| "shieldedInstanceInitialState": { # Initial State for shielded instance, # [Output Only] shielded vm initial state stored on disk |
| # these are public keys which are safe to store in public |
| "dbs": [ # The Key Database (db). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "dbxs": [ # The forbidden key database (dbx). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "keks": [ # The Key Exchange Key (KEK). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "pk": { # The Platform Key (PK). |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| }, |
| "source": "A String", # Specifies a valid partial or full URL to an existing Persistent Disk |
| # resource. When creating a new instance boot disk, one ofinitializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # If desired, you can also attach existing non-root persistent disks using |
| # this property. This field is only applicable for persistent disks. |
| # |
| # Note that for InstanceTemplate, specify the disk name for zonal disk, |
| # and the URL for regional disk. |
| "type": "A String", # Specifies the type of the disk, either SCRATCH orPERSISTENT. If not specified, the default isPERSISTENT. |
| "userLicenses": [ # [Output Only] A list of user provided licenses. It represents a list of |
| # URLs to the license resource. Unlike regular licenses, user provided |
| # licenses can be modified after the disk is created. |
| "A String", |
| ], |
| }, |
| ], |
| "machineTypes": [ # Full machine-type names, e.g. "n1-standard-16". |
| "A String", |
| ], |
| "minCpuPlatform": "A String", # Name of the minimum CPU platform to be used by this instance selection. |
| # e.g. 'Intel Ice Lake'. |
| "rank": 42, # Preference of this instance selection. Lower number means higher |
| # preference. MIG will first try to create a VM based on the machine-type |
| # with lowest rank and fallback to next rank based on availability. |
| # Machine types and instance selections with the same rank have the same |
| # preference. |
| }, |
| }, |
| "provisioningModelMix": { # Provisioning model configuration used by this managed instance group to |
| # create instances. |
| "standardCapacityBase": 42, # The base capacity that will always use Standard VMs to avoid risk of |
| # more preemption than the minimum capacity user needs. MIG will create |
| # only Standard VMs until it reaches standard_capacity_base and only |
| # then will start using standard_capacity_percent_above_base to mix Spot |
| # with Standard VMs. |
| "standardCapacityPercentAboveBase": 42, # The percentage of target capacity that should use Standard VM. The |
| # remaining percentage will use Spot VMs. The percentage applies only to |
| # the capacity above standard_capacity_base. |
| }, |
| }, |
| "instanceGroup": "A String", # [Output Only] The URL of the Instance Group resource. |
| "instanceLifecyclePolicy": { # The repair policy for this managed instance group. |
| "defaultActionOnFailure": "A String", # The action that a MIG performs on a failed VM. If the value of the onFailedHealthCheck field |
| # is `DEFAULT_ACTION`, then the same action also applies to the VMs on which your application |
| # fails a health check. Valid values are - REPAIR (default): MIG automatically repairs a failed |
| # VM by recreating it. For more information, see about repairing VMs in a MIG. - DO_NOTHING: MIG |
| # does not repair a failed VM. |
| "forceUpdateOnRepair": "A String", # A bit indicating whether to forcefully apply the group's latest |
| # configuration when repairing a VM. Valid options are: |
| # |
| # |
| # |
| # - NO (default): If configuration updates are available, they are not |
| # forcefully applied during repair. Instead, configuration updates are |
| # applied according to the group's update policy. |
| # |
| # - YES: If configuration updates are available, they are applied |
| # during repair. |
| "metadataBasedReadinessSignal": { # The configuration for metadata based readiness signal sent by the |
| # instance during initialization when stopping / suspending an instance. |
| # The Instance Group Manager will wait for a signal that indicates |
| # successful initialization before stopping / suspending an instance. |
| # |
| # If a successful readiness signal is not sent before timeout, the |
| # corresponding instance will not be stopped / suspended. Instead, |
| # an error will be visible in the lastAttempt.errors field of |
| # the managed instance in the listmanagedinstances |
| # method. |
| # |
| # If metadataBasedReadinessSignal.timeoutSec is unset, |
| # the Instance Group Manager will directly proceed to suspend / stop |
| # instances, skipping initialization on them. |
| "timeoutSec": 42, # The number of seconds to wait for a readiness signal during |
| # initialization before timing out. |
| }, |
| "onFailedHealthCheck": "A String", # The action that a MIG performs on an unhealthy VM. A VM is marked as |
| # unhealthy when the application running on that VM fails a health check. |
| # Valid values are: |
| # |
| # - DEFAULT_ACTION (default): MIG uses the same action |
| # configured for instanceLifecyclePolicy.defaultActionOnFailure field. |
| # - REPAIR: MIG automatically repairs an unhealthy VM by |
| # recreating it. |
| # - DO_NOTHING: MIG doesn't repair an unhealthy VM. |
| # For more information, see |
| # About repairing VMs in a MIG. |
| "onRepair": { # Configuration for VM repairs in the MIG. # Configuration for VM repairs in the MIG. |
| "allowChangingZone": "A String", # Specifies whether the MIG can change a VM's zone during a repair. |
| # Valid values are: |
| # |
| # - NO (default): MIG cannot change a VM's zone during a |
| # repair. |
| # - YES: MIG can select a different zone for the VM during |
| # a repair. |
| }, |
| }, |
| "instanceTemplate": "A String", # The URL of the instance template that is specified for this managed |
| # instance group. The group uses this template to create all new instances |
| # in the managed instance group. The templates for existing instances in the |
| # group do not change unless you run recreateInstances, runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE. |
| "kind": "compute#instanceGroupManager", # [Output Only] The resource type, which is alwayscompute#instanceGroupManager for managed instance groups. |
| "listManagedInstancesResults": "A String", # Pagination behavior of the listManagedInstances API method for |
| # this managed instance group. |
| "multiMig": "A String", # URL to the multi-MIG that this Managed Instance Group belongs to. |
| "name": "A String", # The name of the managed instance group. The name must be 1-63 characters |
| # long, and comply withRFC1035. |
| "namedPorts": [ # [Output Only] Named ports configured on the Instance Groups complementary |
| # to this Instance Group Manager. |
| { # The named port. For example: <"http", 80>. |
| "name": "A String", # The name for this named port. |
| # The name must be 1-63 characters long, and comply withRFC1035. |
| "port": 42, # The port number, which can be a value between 1 and 65535. |
| }, |
| ], |
| "params": { # Input only additional params for instance group manager creation. # Input only. Additional params passed with the request, but not persisted |
| # as part of resource payload. |
| "resourceManagerTags": { # Resource manager tags to bind to the managed instance group. The tags are |
| # key-value pairs. Keys must be in the format tagKeys/123 and values in the |
| # format tagValues/456. For more information, seeManage tags |
| # for resources. |
| "a_key": "A String", |
| }, |
| }, |
| "region": "A String", # [Output Only] The URL of theregion |
| # where the managed instance group resides (for regional resources). |
| "resourcePolicies": { # Resource policies for this managed instance group. |
| "workloadPolicy": "A String", # The URL of the workload policy that is specified for this managed |
| # instance group. |
| # It can be a full or partial URL. For example, the following are |
| # all valid URLs to a workload policy: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/regions/region/resourcePolicies/resourcePolicy |
| # - projects/project/regions/region/resourcePolicies/resourcePolicy |
| # - regions/region/resourcePolicies/resourcePolicy |
| }, |
| "satisfiesPzi": True or False, # [Output Only] Reserved for future use. |
| "satisfiesPzs": True or False, # [Output Only] Reserved for future use. |
| "selfLink": "A String", # [Output Only] The URL for this managed instance group. The server defines |
| # this URL. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "serviceAccount": "A String", # The service account to be used as credentials for all operations performed |
| # by the managed instance group on instances. The service accounts needs all |
| # permissions required to create and delete instances. |
| # By default, the service account |
| # {projectNumber}@cloudservices.gserviceaccount.com is used. |
| "standbyPolicy": { # Standby policy for stopped and suspended instances. |
| "initialDelaySec": 42, # Specifies the number of seconds that the MIG should wait to suspend or |
| # stop a VM after that VM was created. The initial delay gives the |
| # initialization script the time to prepare your VM for a quick scale out. |
| # The value of initial delay must be between 0 and 3600 seconds. The |
| # default value is 0. |
| "mode": "A String", # Defines how a MIG resumes or starts VMs from a standby pool when the |
| # group scales out. The default mode is `MANUAL`. |
| }, |
| "statefulPolicy": { # Stateful configuration for this Instanced Group Manager |
| "preservedState": { # Configuration of preserved resources. |
| "disks": { # Disks created on the instances that will be preserved on instance |
| # delete, update, etc. This map is keyed with the device names of |
| # the disks. |
| "a_key": { |
| "autoDelete": "A String", # These stateful disks will never be deleted during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the disk should be deleted after it |
| # is no longer used by the group, e.g. when the given instance or |
| # the whole group is deleted. Note: disks attached inREAD_ONLY mode cannot be auto-deleted. |
| }, |
| }, |
| "externalIPs": { # External network IPs assigned to the instances that will be preserved on |
| # instance delete, update, etc. This map is keyed with the network |
| # interface name. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| }, |
| }, |
| "internalIPs": { # Internal network IPs assigned to the instances that will be preserved on |
| # instance delete, update, etc. This map is keyed with the network |
| # interface name. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| }, |
| }, |
| }, |
| }, |
| "status": { # [Output Only] The status of this managed instance group. |
| "allInstancesConfig": { # [Output only] Status of all-instances configuration on the group. |
| "currentRevision": "A String", # [Output Only] Current all-instances configuration revision. |
| # This value is in RFC3339 text format. |
| "effective": True or False, # [Output Only] A bit indicating whether this configuration has |
| # been applied to all managed instances in the group. |
| }, |
| "autoscaler": "A String", # [Output Only] The URL of theAutoscaler |
| # that targets this instance group manager. |
| "bulkInstanceOperation": { # Bulk instance operation is the creation of VMs in a MIG when the # [Output Only] The status of bulk instance operation. |
| # targetSizePolicy.mode is set to BULK. |
| "inProgress": True or False, # [Output Only] Informs whether bulk instance operation is in progress. |
| "lastProgressCheck": { # [Output Only] Information from the last progress check of bulk instance |
| # operation. |
| "error": { # [Output Only] Errors encountered during bulk instance operation. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "timestamp": "A String", # [Output Only] Timestamp of the last progress check of bulk instance |
| # operation. Timestamp is in RFC3339 text format. |
| }, |
| }, |
| "isStable": True or False, # [Output Only] A bit indicating whether the managed instance group is in a |
| # stable state. A stable state means that: none of the instances in the |
| # managed instance group is currently undergoing any type of change (for |
| # example, creation, restart, or deletion); no future changes are scheduled |
| # for instances in the managed instance group; and the managed instance |
| # group itself is not being modified. |
| "stateful": { # [Output Only] Stateful status of the given Instance Group Manager. |
| "hasStatefulConfig": True or False, # [Output Only] A bit indicating whether the managed instance group |
| # has stateful configuration, that is, if you have configured any items |
| # in a stateful policy or in per-instance configs. |
| # The group might report that it has no stateful configuration even when |
| # there is still some preserved state on a managed instance, for example, |
| # if you have deleted all PICs but not yet applied those deletions. |
| "isStateful": True or False, # [Output Only] A bit indicating whether the managed instance group |
| # has stateful configuration, that is, if you have configured any items |
| # in a stateful policy or in per-instance configs. |
| # The group might report that it has no stateful configuration even when |
| # there is still some preserved state on a managed instance, for example, |
| # if you have deleted all PICs but not yet applied those deletions. This |
| # field is deprecated in favor of has_stateful_config. |
| "perInstanceConfigs": { # [Output Only] Status of per-instance configurations on the instances. |
| "allEffective": True or False, # A bit indicating if all of the group's per-instance configurations |
| # (listed in the output of a listPerInstanceConfigs API call) have |
| # status EFFECTIVE or there are no per-instance-configs. |
| }, |
| }, |
| "versionTarget": { # [Output Only] A status of consistency of Instances' versions with their |
| # target version specified by version field on Instance Group |
| # Manager. |
| "isReached": True or False, # [Output Only] A bit indicating whether version target has been reached |
| # in this managed instance group, i.e. all instances are in their target |
| # version. Instances' target version are specified byversion field on Instance Group Manager. |
| }, |
| }, |
| "targetPools": [ # The URLs for all TargetPool resources to which instances in theinstanceGroup field are added. The target pools automatically |
| # apply to all of the instances in the managed instance group. |
| "A String", |
| ], |
| "targetSize": 42, # The target number of running instances for this managed instance group. |
| # You can reduce this number by using the instanceGroupManager |
| # deleteInstances or abandonInstances methods. Resizing the group also |
| # changes this number. |
| "targetSizePolicy": { # The policy that specifies how the MIG creates its VMs to achieve the target |
| # size. |
| "mode": "A String", # The mode of target size policy based on which the MIG creates its VMs |
| # individually or all at once. |
| }, |
| "targetSizeUnit": "A String", # The unit of measure for the target size. |
| "targetStoppedSize": 42, # The target number of stopped instances for this managed instance group. |
| # This number changes when you: |
| # |
| # - Stop instance using the stopInstances |
| # method or start instances using the startInstances |
| # method. |
| # - Manually change the targetStoppedSize using the update |
| # method. |
| "targetSuspendedSize": 42, # The target number of suspended instances for this managed instance group. |
| # This number changes when you: |
| # |
| # - Suspend instance using the suspendInstances |
| # method or resume instances using the resumeInstances |
| # method. |
| # - Manually change the targetSuspendedSize using the update |
| # method. |
| "updatePolicy": { # The update policy for this managed instance group. |
| "instanceRedistributionType": "A String", # The |
| # instance redistribution policy for regional managed instance groups. |
| # Valid values are: |
| # |
| # - PROACTIVE (default): The group attempts to maintain an |
| # even distribution of VM instances across zones in the region. |
| # - NONE: For non-autoscaled groups, proactive |
| # redistribution is disabled. |
| "maxSurge": { # Encapsulates numeric value that can be either absolute or relative. # The maximum number of instances that can be created above the specifiedtargetSize during the update process. This value can be |
| # either a fixed number or, if the group has 10 or more instances, a |
| # percentage. If you set a percentage, the number of instances is rounded |
| # if necessary. The default value for maxSurge is a fixed |
| # value equal to the number of zones in which the managed instance group |
| # operates. |
| # |
| # At least one of either maxSurge ormaxUnavailable must be greater than 0. Learn more about maxSurge. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| "maxUnavailable": { # Encapsulates numeric value that can be either absolute or relative. # The maximum number of instances that can be unavailable during the update |
| # process. An instance is considered available if all of the following |
| # conditions are satisfied: |
| # |
| # |
| # |
| # - The instance's status is |
| # RUNNING. |
| # - If there is a health |
| # check on the instance group, the instance's health check status |
| # must be HEALTHY at least once. If there is no health check |
| # on the group, then the instance only needs to have a status of |
| # RUNNING to be considered available. |
| # |
| # |
| # This value can be either a fixed number or, if the group has 10 or more |
| # instances, a percentage. If you set a percentage, the number of instances |
| # is rounded if necessary. The default value formaxUnavailable is a fixed value equal to the number of zones |
| # in which the managed instance group operates. |
| # |
| # At least one of either maxSurge ormaxUnavailable must be greater than 0. Learn more about maxUnavailable. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| "minReadySec": 42, # Minimum number of seconds to wait for after a newly created instance |
| # becomes available. This value must be from range [0, 3600]. |
| "minimalAction": "A String", # Minimal action to be taken on an instance. Use this option to minimize |
| # disruption as much as possible or to apply a more disruptive action than |
| # is necessary. |
| # |
| # - To limit disruption as much as possible, set the minimal action toREFRESH. If your update requires a more disruptive action, |
| # Compute Engine performs the necessary action to execute the update. |
| # - To apply a more disruptive action than is strictly necessary, set the |
| # minimal action to RESTART or REPLACE. For |
| # example, Compute Engine does not need to restart a VM to change its |
| # metadata. But if your application reads instance metadata only when a VM |
| # is restarted, you can set the minimal action to RESTART in |
| # order to pick up metadata changes. |
| "mostDisruptiveAllowedAction": "A String", # Most disruptive action that is allowed to be taken on an instance. |
| # You can specify either NONE to forbid any actions,REFRESH to avoid restarting the VM and to limit disruption |
| # as much as possible. RESTART to allow actions that can be |
| # applied without instance replacing or REPLACE to allow all |
| # possible actions. If the Updater determines that the minimal update |
| # action needed is more disruptive than most disruptive allowed action you |
| # specify it will not perform the update at all. |
| "replacementMethod": "A String", # What action should be used to replace instances. |
| # See minimal_action.REPLACE |
| "type": "A String", # The type |
| # of update process. You can specify either PROACTIVE so |
| # that the MIG automatically updates VMs to the latest configurations orOPPORTUNISTIC so that you can select the VMs that you want |
| # to update. |
| }, |
| "versions": [ # Specifies the instance templates used by this managed instance group to |
| # create instances. |
| # |
| # Each version is defined by an instanceTemplate and aname. Every version can appear at most once per instance |
| # group. This field overrides the top-level instanceTemplate |
| # field. Read more about therelationships |
| # between these fields. Exactly one version must leave thetargetSize field unset. That version will be applied to all |
| # remaining instances. For more information, read aboutcanary |
| # updates. |
| { |
| "instanceTemplate": "A String", # The URL of the instance template that is specified for this managed |
| # instance group. The group uses this template to create new instances in |
| # the managed instance group until the `targetSize` for this version is |
| # reached. The templates for existing instances in the group do not change |
| # unless you run recreateInstances, runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE; in those cases, |
| # existing instances are updated until the `targetSize` for this version is |
| # reached. |
| "name": "A String", # Name of the version. Unique among all versions in the scope of this |
| # managed instance group. |
| "tag": "A String", # Tag describing the version. Used to trigger rollout of a target version |
| # even if instance_template remains unchanged. |
| # Deprecated in favor of 'name'. |
| "targetSize": { # Encapsulates numeric value that can be either absolute or relative. # Specifies the intended number of instances to be created from theinstanceTemplate. The final number of instances created |
| # from the template will be equal to: |
| # |
| # |
| # - If expressed as a fixed number, the minimum of either |
| # targetSize.fixed or |
| # instanceGroupManager.targetSize is used. |
| # - if expressed as a percent, the targetSize |
| # would be (targetSize.percent/100 * |
| # InstanceGroupManager.targetSize) If there is a remainder, the |
| # number is rounded. |
| # |
| # If unset, this version will update any remaining instances not |
| # updated by another version. ReadStarting |
| # a canary update for more information. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of azone |
| # where the managed instance group is located (for zonal resources). |
| } |
| |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. This |
| prevents clients from accidentally creating duplicate commitments. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="list">list(project, zone, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)</code> |
| <pre>Retrieves a list of managed instance groups that are contained within the |
| specified project and zone. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone where the managed |
| instance group is located. (required) |
| filter: string, A filter expression that filters resources listed in the response. Most |
| Compute resources support two types of filter expressions: |
| expressions that support regular expressions and expressions that follow |
| API improvement proposal AIP-160. |
| These two types of filter expressions cannot be mixed in one request. |
| |
| If you want to use AIP-160, your expression must specify the field name, an |
| operator, and the value that you want to use for filtering. The value |
| must be a string, a number, or a boolean. The operator |
| must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. |
| |
| For example, if you are filtering Compute Engine instances, you can |
| exclude instances named `example-instance` by specifying |
| `name != example-instance`. |
| |
| The `:*` comparison can be used to test whether a key has been defined. |
| For example, to find all objects with `owner` label use: |
| ``` |
| labels.owner:* |
| ``` |
| |
| You can also filter nested fields. For example, you could specify |
| `scheduling.automaticRestart = false` to include instances only |
| if they are not scheduled for automatic restarts. You can use filtering |
| on nested fields to filter based onresource labels. |
| |
| To filter on multiple expressions, provide each separate expression within |
| parentheses. For example: |
| ``` |
| (scheduling.automaticRestart = true) |
| (cpuPlatform = "Intel Skylake") |
| ``` |
| By default, each expression is an `AND` expression. However, you |
| can include `AND` and `OR` expressions explicitly. |
| For example: |
| ``` |
| (cpuPlatform = "Intel Skylake") OR |
| (cpuPlatform = "Intel Broadwell") AND |
| (scheduling.automaticRestart = true) |
| ``` |
| |
| If you want to use a regular expression, use the `eq` (equal) or `ne` |
| (not equal) operator against a single un-parenthesized expression with or |
| without quotes or against multiple parenthesized expressions. Examples: |
| |
| `fieldname eq unquoted literal` |
| `fieldname eq 'single quoted literal'` |
| `fieldname eq "double quoted literal"` |
| `(fieldname1 eq literal) (fieldname2 ne "literal")` |
| |
| The literal value is interpreted as a regular expression using GoogleRE2 library syntax. |
| The literal value must match the entire field. |
| |
| For example, to filter for instances that do not end with name "instance", |
| you would use `name ne .*instance`. |
| |
| You cannot combine constraints on multiple fields using regular |
| expressions. |
| maxResults: integer, The maximum number of results per page that should be returned. |
| If the number of available results is larger than `maxResults`, |
| Compute Engine returns a `nextPageToken` that can be used to get |
| the next page of results in subsequent list requests. Acceptable values are |
| `0` to `500`, inclusive. (Default: `500`) |
| orderBy: string, Sorts list results by a certain order. By default, results |
| are returned in alphanumerical order based on the resource name. |
| |
| You can also sort results in descending order based on the creation |
| timestamp using `orderBy="creationTimestamp desc"`. This sorts |
| results based on the `creationTimestamp` field in |
| reverse chronological order (newest result first). Use this to sort |
| resources like operations so that the newest operation is returned first. |
| |
| Currently, only sorting by `name` or |
| `creationTimestamp desc` is supported. |
| pageToken: string, Specifies a page token to use. Set `pageToken` to the |
| `nextPageToken` returned by a previous list request to get |
| the next page of results. |
| returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case |
| of failure. The default value is false. |
| |
| For example, when partial success behavior is enabled, aggregatedList for a |
| single zone scope either returns all resources in the zone or no resources, |
| with an error code. |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # [Output Only] A list of managed instance groups. |
| "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. |
| "items": [ # A list of InstanceGroupManager resources. |
| { # Represents a Managed Instance Group resource. |
| # |
| # An instance group is a collection of VM instances that you can manage as a |
| # single entity. For more information, readInstance groups. |
| # |
| # For zonal Managed Instance Group, use the instanceGroupManagers |
| # resource. |
| # |
| # For regional Managed Instance Group, use theregionInstanceGroupManagers resource. |
| "allInstancesConfig": { # Specifies configuration that overrides the instance template configuration |
| # for the group. |
| "properties": { # Represents the change that you want to make to the instance properties. # Properties to set on all instances in the group. |
| # |
| # You can add or modify properties using theinstanceGroupManagers.patch orregionInstanceGroupManagers.patch. After settingallInstancesConfig on the group, you must update the group's |
| # instances to apply the configuration. To apply the configuration, set the |
| # group's updatePolicy.type field to use proactive updates or |
| # use the applyUpdatesToInstances method. |
| "labels": { # The label key-value pairs that you want to patch onto the instance. |
| "a_key": "A String", |
| }, |
| "metadata": { # The metadata key-value pairs that you want to patch onto the instance. For |
| # more information, see Project and |
| # instance metadata. |
| "a_key": "A String", |
| }, |
| }, |
| }, |
| "autoHealingPolicies": [ # The autohealing policy for this managed instance group. You can specify |
| # only one value. |
| { |
| "autoHealingTriggers": { # Restricts what triggers autohealing. |
| "onHealthCheck": "A String", # If you have configured an application-based health check for the group, |
| # this field controls whether to trigger VM autohealing based on a failed |
| # health check. Valid values are: |
| # |
| # - ON (default): The group recreates running VMs that |
| # fail the application-based health check. |
| # - OFF: When set to OFF, you can still observe instance |
| # health state, but the group does not recreate VMs that fail the |
| # application-based health check. This is useful for troubleshooting and |
| # setting up your health check configuration. |
| }, |
| "healthCheck": "A String", # The URL for the health check that signals autohealing. |
| "initialDelaySec": 42, # The initial delay is the number of seconds that a new VM takes to |
| # initialize and run its startup script. During a VM's initial delay |
| # period, the MIG ignores unsuccessful health checks because the VM might |
| # be in the startup process. This prevents the MIG from prematurely |
| # recreating a VM. If the health check receives a healthy response during |
| # the initial delay, it indicates that the startup process is complete and |
| # the VM is ready. The value of initial delay must be between 0 and 3600 |
| # seconds. The default value is 0. |
| "maxUnavailable": { # Encapsulates numeric value that can be either absolute or relative. # Maximum number of instances that can be unavailable when autohealing. |
| # When 'percent' is used, the value is rounded if necessary. |
| # The instance is considered available if all of the following conditions |
| # are satisfied: |
| # 1. Instance's status is RUNNING. |
| # 2. Instance's currentAction is NONE (in particular its liveness health |
| # check result was observed to be HEALTHY at least once as it passed |
| # VERIFYING). |
| # 3. There is no outgoing action on an instance triggered by IGM. |
| # |
| # By default, number of concurrently autohealed instances is smaller than |
| # the managed instance group target size. However, if a zonal managed |
| # instance group has only one instance, or a regional managed instance |
| # group has only one instance per zone, autohealing will recreate these |
| # instances when they become unhealthy. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| }, |
| ], |
| "baseInstanceName": "A String", # The base instance name is a prefix that you want to attach to the names of |
| # all VMs in a MIG. The maximum character length is 58 and the name must |
| # comply with RFC1035 format. |
| # |
| # When a VM is created in the group, the MIG appends a hyphen and a random |
| # four-character string to the base instance name. If you want the MIG to |
| # assign sequential numbers instead of a random string, then end the base |
| # instance name with a hyphen followed by one or more hash symbols. The hash |
| # symbols indicate the number of digits. For example, a base instance name of |
| # "vm-###" results in "vm-001" as a VM name. |
| # @pattern |
| # [a-z](([-a-z0-9]{0,57})|([-a-z0-9]{0,51}-#{1,10}(\\[[0-9]{1,10}\\])?)) |
| "creationTimestamp": "A String", # [Output Only] The creation timestamp for this managed instance group inRFC3339 |
| # text format. |
| "currentActions": { # [Output Only] The list of instance actions and the number of instances |
| # in this managed instance group that are scheduled for each of those |
| # actions. |
| "abandoning": 42, # [Output Only] The total number of instances in the managed instance group |
| # that are scheduled to be abandoned. Abandoning an instance removes it |
| # from the managed instance group without deleting it. |
| "creating": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be created or are currently being created. If the group |
| # fails to create any of these instances, it tries again until it creates |
| # the instance successfully. |
| # |
| # If you have disabled creation retries, this field will not be populated; |
| # instead, the creatingWithoutRetries field will be populated. |
| "creatingAtomically": 42, # [Output Only] The number of instances that the managed instance group |
| # will attempt to create atomically, in a batch mode. If the desired count |
| # of instances can not be created, entire batch will be deleted and the |
| # group will decrease its targetSize value accordingly. |
| "creatingWithoutRetries": 42, # [Output Only] The number of instances that the managed instance group |
| # will attempt to create. The group attempts to create each instance |
| # only once. If the group fails to create any of these instances, it |
| # decreases the group's targetSize value accordingly. |
| "deleting": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be deleted or are currently being deleted. |
| "none": 42, # [Output Only] The number of instances in the managed instance group that |
| # are running and have no scheduled actions. |
| "queuing": 42, # [Output Only] The number of instances that the managed instance group |
| # is currently queuing. |
| "recreating": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be recreated or are currently being being recreated. |
| # Recreating an instance deletes the existing root persistent disk |
| # and creates a new disk from the image that is defined in the |
| # instance template. |
| "refreshing": 42, # [Output Only] The number of instances in the managed instance group that |
| # are being reconfigured with properties that do not require a restart |
| # or a recreate action. For example, setting or removing target |
| # pools for the instance. |
| "restarting": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be restarted or are currently being restarted. |
| "resuming": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be resumed or are currently being resumed. |
| "starting": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be started or are currently being started. |
| "stopping": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be stopped or are currently being stopped. |
| "suspending": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be suspended or are currently being suspended. |
| "verifying": 42, # [Output Only] The number of instances in the managed instance group that |
| # are being verified. See the managedInstances[].currentAction |
| # property in the listManagedInstances method documentation. |
| }, |
| "description": "A String", # An optional description of this resource. |
| "distributionPolicy": { # Policy specifying the intended distribution of managed instances across |
| # zones in a regional managed instance group. |
| "targetShape": "A String", # The distribution shape to which the group converges either proactively or |
| # on resize events (depending on the value set inupdatePolicy.instanceRedistributionType). |
| "zones": [ # Zones where the regional managed instance group will create and manage |
| # its instances. |
| { |
| "zone": "A String", # The URL of thezone. |
| # The zone must exist in the region where the managed instance group is |
| # located. |
| }, |
| ], |
| }, |
| "failoverAction": "A String", # The action to perform in case of zone failure. Only one value is supported,NO_FAILOVER. The default is NO_FAILOVER. |
| "fingerprint": "A String", # Fingerprint of this resource. This field may be used in optimistic locking. |
| # It will be ignored when inserting an InstanceGroupManager. An up-to-date |
| # fingerprint must be provided in order to update the InstanceGroupManager, |
| # otherwise the request will fail with error412 conditionNotMet. |
| # |
| # To see the latest fingerprint, make a get() request to |
| # retrieve an InstanceGroupManager. |
| "id": "A String", # [Output Only] A unique identifier for this resource type. The server |
| # generates this identifier. |
| "instanceFlexibilityPolicy": { # Instance flexibility allowing MIG to create VMs from multiple |
| # types of machines. |
| # Instance flexibility configuration on MIG overrides instance |
| # template configuration. |
| "instanceSelectionLists": { # Named instance selections configuring properties that the group will use |
| # when creating new VMs. |
| "a_key": { |
| "disks": [ # List of disks to be attached to the instances created from this |
| # selection. |
| { # An instance-attached disk resource. |
| "architecture": "A String", # [Output Only] The architecture of the attached disk. Valid values are ARM64 |
| # or X86_64. |
| "autoDelete": True or False, # Specifies whether the disk will be auto-deleted when the instance is |
| # deleted (but not when the disk is detached from the instance). |
| "boot": True or False, # Indicates that this is a boot disk. The virtual machine will use the first |
| # partition of the disk for its root filesystem. |
| "deviceName": "A String", # Specifies a unique device name of your choice that is reflected into the/dev/disk/by-id/google-* tree of a Linux operating system |
| # running within the instance. This name can be used to reference the device |
| # for mounting, resizing, and so on, from within the instance. |
| # |
| # If not specified, the server chooses a default device name to apply to this |
| # disk, in the form persistent-disk-x, where x is a number |
| # assigned by Google Compute Engine. This field is only applicable for |
| # persistent disks. |
| "diskEncryptionKey": { # Encrypts or decrypts a disk using acustomer-supplied |
| # encryption key. |
| # |
| # If you are creating a new disk, this field encrypts the new disk using |
| # an encryption key that you provide. If you are attaching an existing |
| # disk that is already encrypted, this field decrypts the disk using |
| # the customer-supplied encryption key. |
| # |
| # If you encrypt a disk using a customer-supplied key, you must provide the |
| # same key again when you attempt to use this resource at a later time. For |
| # example, you must provide the key when you create a snapshot or an image |
| # from the disk or when you attach the disk to a virtual machine instance. |
| # |
| # If you do not provide an encryption key, then the disk will be encrypted |
| # using an automatically generated key and you do not need to provide a key |
| # to use the disk later. |
| # |
| # Note: |
| # |
| # Instance templates do not storecustomer-supplied |
| # encryption keys, so you cannot use your own keys to encrypt disks in amanaged instance group. |
| # |
| # You cannot create VMs that have disks with customer-supplied keys using |
| # the bulk |
| # insert method. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "diskSizeGb": "A String", # The size of the disk in GB. |
| "forceAttach": True or False, # [Input Only] Whether to force attach the regional disk even if it's |
| # currently attached to another instance. If you try to force attach a zonal |
| # disk to an instance, you will receive an error. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "index": 42, # [Output Only] A zero-based index to this disk, where 0 is reserved for the |
| # boot disk. If you have many disks attached to an instance, each |
| # disk would have a unique index number. |
| "initializeParams": { # [Input Only] Specifies the parameters for a new disk that will be created # [Input Only] Specifies the parameters for a new disk that will be created |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This field is persisted and returned for instanceTemplate and not returned |
| # in the context of instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| "architecture": "A String", # The architecture of the attached disk. Valid values are |
| # arm64 or x86_64. |
| "description": "A String", # An optional description. Provide this property when creating the disk. |
| "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name |
| # of the instance. If a disk with the same name already exists in the given |
| # region, the existing disk is attached to the new instance and the |
| # new disk is not created. |
| "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. The size must be at least |
| # 10 GB. If you specify a sourceImage, which is required for |
| # boot disks, the default size is the size of the sourceImage. |
| # If you do not specify a sourceImage, the default disk size |
| # is 500 GB. |
| "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, |
| # the default is pd-standard, specified using the full URL. |
| # For example: |
| # |
| # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard |
| # |
| # |
| # For a full list of acceptable values, seePersistent disk |
| # types. If you specify this field when creating a VM, you can provide |
| # either the full or partial URL. For example, the following values are |
| # valid: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType |
| # - projects/project/zones/zone/diskTypes/diskType |
| # - zones/zone/diskTypes/diskType |
| # |
| # |
| # If you specify this field when creating or updating an instance template |
| # or all-instances configuration, specify the type of the disk, not the |
| # URL. For example: pd-standard. |
| "enableConfidentialCompute": True or False, # Whether this disk is using confidential compute mode. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| # |
| # Guest OS features are applied by merginginitializeParams.guestOsFeatures anddisks.guestOsFeatures |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "interface": "A String", # [Deprecated] Specifies the disk interface to use for attaching this disk, |
| # which is either SCSI or NVME. The default isSCSI. |
| "labels": { # Labels to apply to this disk. These can be later modified by thedisks.setLabels method. This field is only applicable for |
| # persistent disks. |
| "a_key": "A String", |
| }, |
| "licenseCodes": [ # Integer license codes indicating which licenses are attached to this |
| # disk. |
| "A String", |
| ], |
| "licenses": [ # A list of publicly visible licenses. Reserved for Google's use. |
| "A String", |
| ], |
| "multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to |
| # more than one instance. |
| "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default |
| # is to use the existing disk. |
| "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number |
| # of I/O operations per second that the disk can handle. Values must be |
| # between 10,000 and 120,000. For more details, see theExtreme persistent |
| # disk documentation. |
| "provisionedThroughput": "A String", # Indicates how much throughput to provision for the disk. This sets the |
| # number of throughput mb per second that the disk can handle. Values must |
| # greater than or equal to 1. |
| "replicaZones": [ # Required for each regional disk associated with the instance. Specify |
| # the URLs of the zones where the disk should be replicated to. |
| # You must provide exactly two replica zones, and one zone must be the same |
| # as the instance zone. |
| "A String", |
| ], |
| "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values |
| # have the same definition as resource |
| # manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and |
| # values are in the format `tagValues/456`. The field is ignored (both PUT |
| # & PATCH) when empty. |
| "a_key": "A String", |
| }, |
| "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. |
| # Specified using the full or partial URL. For instance template, specify |
| # only the resource policy name. |
| "A String", |
| ], |
| "sourceImage": "A String", # The source image to create this disk. When creating a new instance boot |
| # disk, one of initializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # To create a disk with one of the public operating system |
| # images, specify the image by its family name. For example, specifyfamily/debian-9 to use the latest Debian 9 image: |
| # |
| # projects/debian-cloud/global/images/family/debian-9 |
| # |
| # |
| # Alternatively, use a specific version of a public operating system image: |
| # |
| # projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD |
| # |
| # |
| # To create a disk with a custom image that you created, specify the |
| # image name in the following format: |
| # |
| # global/images/my-custom-image |
| # |
| # |
| # You can also specify a custom image by its image family, which returns |
| # the latest version of the image in that family. Replace the image name |
| # with family/family-name: |
| # |
| # global/images/family/my-image-family |
| # |
| # |
| # If the source image is deleted later, this field will not be set. |
| "sourceImageEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source image. Required if the source image is |
| # protected by a customer-supplied encryption key. |
| # |
| # InstanceTemplate and InstancePropertiesPatch do not storecustomer-supplied |
| # encryption keys, so you cannot create disks for instances in a managed instance group if the |
| # source images are encrypted with your own keys. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "sourceInstantSnapshot": "A String", # The source instant-snapshot to create this disk. When creating a new |
| # instance boot disk, one of initializeParams.sourceSnapshot |
| # or initializeParams.sourceInstantSnapshotinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # us-central1-a/instantSnapshots/my-backup |
| # |
| # |
| # If the source instant-snapshot is deleted later, this field will not be |
| # set. |
| "sourceSnapshot": "A String", # The source snapshot to create this disk. When creating a new instance |
| # boot disk, one of initializeParams.sourceSnapshot orinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # global/snapshots/my-backup |
| # |
| # |
| # If the source snapshot is deleted later, this field will not be set. |
| # |
| # Note: You cannot create VMs in bulk using a snapshot as the source. Use |
| # an image instead when you create VMs using |
| # the bulk |
| # insert method. |
| "sourceSnapshotEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source snapshot. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "storagePool": "A String", # The storage pool in which the new disk is created. You can provide |
| # this as a partial or full URL to the resource. For example, the following |
| # are valid values: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/storagePools/storagePool |
| # - projects/project/zones/zone/storagePools/storagePool |
| # - zones/zone/storagePools/storagePool |
| }, |
| "interface": "A String", # Specifies the disk interface to use for attaching this disk, which is |
| # either SCSI or NVME. For most machine types, the |
| # default is SCSI. Local SSDs can use either NVME or SCSI. |
| # In certain configurations, persistent disks can use NVMe. For more |
| # information, seeAbout |
| # persistent disks. |
| "kind": "compute#attachedDisk", # [Output Only] Type of the resource. Alwayscompute#attachedDisk for attached disks. |
| "licenses": [ # [Output Only] Any valid publicly visible licenses. |
| "A String", |
| ], |
| "locked": True or False, # [Output Only] Whether to indicate the attached disk is locked. The locked |
| # disk is not allowed to be detached from the instance, or to be used as the |
| # source of the snapshot creation, and the image creation. The instance with |
| # at least one locked attached disk is not allow to be used as source of |
| # machine image creation, instant snapshot creation, and not allowed to be |
| # deleted with --keep-disk parameter set to true for locked disks. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the disk |
| # in READ_WRITE mode. |
| "savedState": "A String", # For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this |
| # field is set to PRESERVED if the LocalSSD data has been saved |
| # to a persistent location by customer request. (see the |
| # discard_local_ssd option on Stop/Suspend). |
| # Read-only in the api. |
| "shieldedInstanceInitialState": { # Initial State for shielded instance, # [Output Only] shielded vm initial state stored on disk |
| # these are public keys which are safe to store in public |
| "dbs": [ # The Key Database (db). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "dbxs": [ # The forbidden key database (dbx). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "keks": [ # The Key Exchange Key (KEK). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "pk": { # The Platform Key (PK). |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| }, |
| "source": "A String", # Specifies a valid partial or full URL to an existing Persistent Disk |
| # resource. When creating a new instance boot disk, one ofinitializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # If desired, you can also attach existing non-root persistent disks using |
| # this property. This field is only applicable for persistent disks. |
| # |
| # Note that for InstanceTemplate, specify the disk name for zonal disk, |
| # and the URL for regional disk. |
| "type": "A String", # Specifies the type of the disk, either SCRATCH orPERSISTENT. If not specified, the default isPERSISTENT. |
| "userLicenses": [ # [Output Only] A list of user provided licenses. It represents a list of |
| # URLs to the license resource. Unlike regular licenses, user provided |
| # licenses can be modified after the disk is created. |
| "A String", |
| ], |
| }, |
| ], |
| "machineTypes": [ # Full machine-type names, e.g. "n1-standard-16". |
| "A String", |
| ], |
| "minCpuPlatform": "A String", # Name of the minimum CPU platform to be used by this instance selection. |
| # e.g. 'Intel Ice Lake'. |
| "rank": 42, # Preference of this instance selection. Lower number means higher |
| # preference. MIG will first try to create a VM based on the machine-type |
| # with lowest rank and fallback to next rank based on availability. |
| # Machine types and instance selections with the same rank have the same |
| # preference. |
| }, |
| }, |
| "instanceSelections": { # Named instance selections configuring properties that the group will use |
| # when creating new VMs. |
| "a_key": { |
| "disks": [ # List of disks to be attached to the instances created from this |
| # selection. |
| { # An instance-attached disk resource. |
| "architecture": "A String", # [Output Only] The architecture of the attached disk. Valid values are ARM64 |
| # or X86_64. |
| "autoDelete": True or False, # Specifies whether the disk will be auto-deleted when the instance is |
| # deleted (but not when the disk is detached from the instance). |
| "boot": True or False, # Indicates that this is a boot disk. The virtual machine will use the first |
| # partition of the disk for its root filesystem. |
| "deviceName": "A String", # Specifies a unique device name of your choice that is reflected into the/dev/disk/by-id/google-* tree of a Linux operating system |
| # running within the instance. This name can be used to reference the device |
| # for mounting, resizing, and so on, from within the instance. |
| # |
| # If not specified, the server chooses a default device name to apply to this |
| # disk, in the form persistent-disk-x, where x is a number |
| # assigned by Google Compute Engine. This field is only applicable for |
| # persistent disks. |
| "diskEncryptionKey": { # Encrypts or decrypts a disk using acustomer-supplied |
| # encryption key. |
| # |
| # If you are creating a new disk, this field encrypts the new disk using |
| # an encryption key that you provide. If you are attaching an existing |
| # disk that is already encrypted, this field decrypts the disk using |
| # the customer-supplied encryption key. |
| # |
| # If you encrypt a disk using a customer-supplied key, you must provide the |
| # same key again when you attempt to use this resource at a later time. For |
| # example, you must provide the key when you create a snapshot or an image |
| # from the disk or when you attach the disk to a virtual machine instance. |
| # |
| # If you do not provide an encryption key, then the disk will be encrypted |
| # using an automatically generated key and you do not need to provide a key |
| # to use the disk later. |
| # |
| # Note: |
| # |
| # Instance templates do not storecustomer-supplied |
| # encryption keys, so you cannot use your own keys to encrypt disks in amanaged instance group. |
| # |
| # You cannot create VMs that have disks with customer-supplied keys using |
| # the bulk |
| # insert method. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "diskSizeGb": "A String", # The size of the disk in GB. |
| "forceAttach": True or False, # [Input Only] Whether to force attach the regional disk even if it's |
| # currently attached to another instance. If you try to force attach a zonal |
| # disk to an instance, you will receive an error. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "index": 42, # [Output Only] A zero-based index to this disk, where 0 is reserved for the |
| # boot disk. If you have many disks attached to an instance, each |
| # disk would have a unique index number. |
| "initializeParams": { # [Input Only] Specifies the parameters for a new disk that will be created # [Input Only] Specifies the parameters for a new disk that will be created |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This field is persisted and returned for instanceTemplate and not returned |
| # in the context of instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| "architecture": "A String", # The architecture of the attached disk. Valid values are |
| # arm64 or x86_64. |
| "description": "A String", # An optional description. Provide this property when creating the disk. |
| "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name |
| # of the instance. If a disk with the same name already exists in the given |
| # region, the existing disk is attached to the new instance and the |
| # new disk is not created. |
| "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. The size must be at least |
| # 10 GB. If you specify a sourceImage, which is required for |
| # boot disks, the default size is the size of the sourceImage. |
| # If you do not specify a sourceImage, the default disk size |
| # is 500 GB. |
| "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, |
| # the default is pd-standard, specified using the full URL. |
| # For example: |
| # |
| # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard |
| # |
| # |
| # For a full list of acceptable values, seePersistent disk |
| # types. If you specify this field when creating a VM, you can provide |
| # either the full or partial URL. For example, the following values are |
| # valid: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType |
| # - projects/project/zones/zone/diskTypes/diskType |
| # - zones/zone/diskTypes/diskType |
| # |
| # |
| # If you specify this field when creating or updating an instance template |
| # or all-instances configuration, specify the type of the disk, not the |
| # URL. For example: pd-standard. |
| "enableConfidentialCompute": True or False, # Whether this disk is using confidential compute mode. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| # |
| # Guest OS features are applied by merginginitializeParams.guestOsFeatures anddisks.guestOsFeatures |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "interface": "A String", # [Deprecated] Specifies the disk interface to use for attaching this disk, |
| # which is either SCSI or NVME. The default isSCSI. |
| "labels": { # Labels to apply to this disk. These can be later modified by thedisks.setLabels method. This field is only applicable for |
| # persistent disks. |
| "a_key": "A String", |
| }, |
| "licenseCodes": [ # Integer license codes indicating which licenses are attached to this |
| # disk. |
| "A String", |
| ], |
| "licenses": [ # A list of publicly visible licenses. Reserved for Google's use. |
| "A String", |
| ], |
| "multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to |
| # more than one instance. |
| "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default |
| # is to use the existing disk. |
| "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number |
| # of I/O operations per second that the disk can handle. Values must be |
| # between 10,000 and 120,000. For more details, see theExtreme persistent |
| # disk documentation. |
| "provisionedThroughput": "A String", # Indicates how much throughput to provision for the disk. This sets the |
| # number of throughput mb per second that the disk can handle. Values must |
| # greater than or equal to 1. |
| "replicaZones": [ # Required for each regional disk associated with the instance. Specify |
| # the URLs of the zones where the disk should be replicated to. |
| # You must provide exactly two replica zones, and one zone must be the same |
| # as the instance zone. |
| "A String", |
| ], |
| "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values |
| # have the same definition as resource |
| # manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and |
| # values are in the format `tagValues/456`. The field is ignored (both PUT |
| # & PATCH) when empty. |
| "a_key": "A String", |
| }, |
| "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. |
| # Specified using the full or partial URL. For instance template, specify |
| # only the resource policy name. |
| "A String", |
| ], |
| "sourceImage": "A String", # The source image to create this disk. When creating a new instance boot |
| # disk, one of initializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # To create a disk with one of the public operating system |
| # images, specify the image by its family name. For example, specifyfamily/debian-9 to use the latest Debian 9 image: |
| # |
| # projects/debian-cloud/global/images/family/debian-9 |
| # |
| # |
| # Alternatively, use a specific version of a public operating system image: |
| # |
| # projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD |
| # |
| # |
| # To create a disk with a custom image that you created, specify the |
| # image name in the following format: |
| # |
| # global/images/my-custom-image |
| # |
| # |
| # You can also specify a custom image by its image family, which returns |
| # the latest version of the image in that family. Replace the image name |
| # with family/family-name: |
| # |
| # global/images/family/my-image-family |
| # |
| # |
| # If the source image is deleted later, this field will not be set. |
| "sourceImageEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source image. Required if the source image is |
| # protected by a customer-supplied encryption key. |
| # |
| # InstanceTemplate and InstancePropertiesPatch do not storecustomer-supplied |
| # encryption keys, so you cannot create disks for instances in a managed instance group if the |
| # source images are encrypted with your own keys. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "sourceInstantSnapshot": "A String", # The source instant-snapshot to create this disk. When creating a new |
| # instance boot disk, one of initializeParams.sourceSnapshot |
| # or initializeParams.sourceInstantSnapshotinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # us-central1-a/instantSnapshots/my-backup |
| # |
| # |
| # If the source instant-snapshot is deleted later, this field will not be |
| # set. |
| "sourceSnapshot": "A String", # The source snapshot to create this disk. When creating a new instance |
| # boot disk, one of initializeParams.sourceSnapshot orinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # global/snapshots/my-backup |
| # |
| # |
| # If the source snapshot is deleted later, this field will not be set. |
| # |
| # Note: You cannot create VMs in bulk using a snapshot as the source. Use |
| # an image instead when you create VMs using |
| # the bulk |
| # insert method. |
| "sourceSnapshotEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source snapshot. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "storagePool": "A String", # The storage pool in which the new disk is created. You can provide |
| # this as a partial or full URL to the resource. For example, the following |
| # are valid values: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/storagePools/storagePool |
| # - projects/project/zones/zone/storagePools/storagePool |
| # - zones/zone/storagePools/storagePool |
| }, |
| "interface": "A String", # Specifies the disk interface to use for attaching this disk, which is |
| # either SCSI or NVME. For most machine types, the |
| # default is SCSI. Local SSDs can use either NVME or SCSI. |
| # In certain configurations, persistent disks can use NVMe. For more |
| # information, seeAbout |
| # persistent disks. |
| "kind": "compute#attachedDisk", # [Output Only] Type of the resource. Alwayscompute#attachedDisk for attached disks. |
| "licenses": [ # [Output Only] Any valid publicly visible licenses. |
| "A String", |
| ], |
| "locked": True or False, # [Output Only] Whether to indicate the attached disk is locked. The locked |
| # disk is not allowed to be detached from the instance, or to be used as the |
| # source of the snapshot creation, and the image creation. The instance with |
| # at least one locked attached disk is not allow to be used as source of |
| # machine image creation, instant snapshot creation, and not allowed to be |
| # deleted with --keep-disk parameter set to true for locked disks. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the disk |
| # in READ_WRITE mode. |
| "savedState": "A String", # For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this |
| # field is set to PRESERVED if the LocalSSD data has been saved |
| # to a persistent location by customer request. (see the |
| # discard_local_ssd option on Stop/Suspend). |
| # Read-only in the api. |
| "shieldedInstanceInitialState": { # Initial State for shielded instance, # [Output Only] shielded vm initial state stored on disk |
| # these are public keys which are safe to store in public |
| "dbs": [ # The Key Database (db). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "dbxs": [ # The forbidden key database (dbx). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "keks": [ # The Key Exchange Key (KEK). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "pk": { # The Platform Key (PK). |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| }, |
| "source": "A String", # Specifies a valid partial or full URL to an existing Persistent Disk |
| # resource. When creating a new instance boot disk, one ofinitializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # If desired, you can also attach existing non-root persistent disks using |
| # this property. This field is only applicable for persistent disks. |
| # |
| # Note that for InstanceTemplate, specify the disk name for zonal disk, |
| # and the URL for regional disk. |
| "type": "A String", # Specifies the type of the disk, either SCRATCH orPERSISTENT. If not specified, the default isPERSISTENT. |
| "userLicenses": [ # [Output Only] A list of user provided licenses. It represents a list of |
| # URLs to the license resource. Unlike regular licenses, user provided |
| # licenses can be modified after the disk is created. |
| "A String", |
| ], |
| }, |
| ], |
| "machineTypes": [ # Full machine-type names, e.g. "n1-standard-16". |
| "A String", |
| ], |
| "minCpuPlatform": "A String", # Name of the minimum CPU platform to be used by this instance selection. |
| # e.g. 'Intel Ice Lake'. |
| "rank": 42, # Preference of this instance selection. Lower number means higher |
| # preference. MIG will first try to create a VM based on the machine-type |
| # with lowest rank and fallback to next rank based on availability. |
| # Machine types and instance selections with the same rank have the same |
| # preference. |
| }, |
| }, |
| "provisioningModelMix": { # Provisioning model configuration used by this managed instance group to |
| # create instances. |
| "standardCapacityBase": 42, # The base capacity that will always use Standard VMs to avoid risk of |
| # more preemption than the minimum capacity user needs. MIG will create |
| # only Standard VMs until it reaches standard_capacity_base and only |
| # then will start using standard_capacity_percent_above_base to mix Spot |
| # with Standard VMs. |
| "standardCapacityPercentAboveBase": 42, # The percentage of target capacity that should use Standard VM. The |
| # remaining percentage will use Spot VMs. The percentage applies only to |
| # the capacity above standard_capacity_base. |
| }, |
| }, |
| "instanceGroup": "A String", # [Output Only] The URL of the Instance Group resource. |
| "instanceLifecyclePolicy": { # The repair policy for this managed instance group. |
| "defaultActionOnFailure": "A String", # The action that a MIG performs on a failed VM. If the value of the onFailedHealthCheck field |
| # is `DEFAULT_ACTION`, then the same action also applies to the VMs on which your application |
| # fails a health check. Valid values are - REPAIR (default): MIG automatically repairs a failed |
| # VM by recreating it. For more information, see about repairing VMs in a MIG. - DO_NOTHING: MIG |
| # does not repair a failed VM. |
| "forceUpdateOnRepair": "A String", # A bit indicating whether to forcefully apply the group's latest |
| # configuration when repairing a VM. Valid options are: |
| # |
| # |
| # |
| # - NO (default): If configuration updates are available, they are not |
| # forcefully applied during repair. Instead, configuration updates are |
| # applied according to the group's update policy. |
| # |
| # - YES: If configuration updates are available, they are applied |
| # during repair. |
| "metadataBasedReadinessSignal": { # The configuration for metadata based readiness signal sent by the |
| # instance during initialization when stopping / suspending an instance. |
| # The Instance Group Manager will wait for a signal that indicates |
| # successful initialization before stopping / suspending an instance. |
| # |
| # If a successful readiness signal is not sent before timeout, the |
| # corresponding instance will not be stopped / suspended. Instead, |
| # an error will be visible in the lastAttempt.errors field of |
| # the managed instance in the listmanagedinstances |
| # method. |
| # |
| # If metadataBasedReadinessSignal.timeoutSec is unset, |
| # the Instance Group Manager will directly proceed to suspend / stop |
| # instances, skipping initialization on them. |
| "timeoutSec": 42, # The number of seconds to wait for a readiness signal during |
| # initialization before timing out. |
| }, |
| "onFailedHealthCheck": "A String", # The action that a MIG performs on an unhealthy VM. A VM is marked as |
| # unhealthy when the application running on that VM fails a health check. |
| # Valid values are: |
| # |
| # - DEFAULT_ACTION (default): MIG uses the same action |
| # configured for instanceLifecyclePolicy.defaultActionOnFailure field. |
| # - REPAIR: MIG automatically repairs an unhealthy VM by |
| # recreating it. |
| # - DO_NOTHING: MIG doesn't repair an unhealthy VM. |
| # For more information, see |
| # About repairing VMs in a MIG. |
| "onRepair": { # Configuration for VM repairs in the MIG. # Configuration for VM repairs in the MIG. |
| "allowChangingZone": "A String", # Specifies whether the MIG can change a VM's zone during a repair. |
| # Valid values are: |
| # |
| # - NO (default): MIG cannot change a VM's zone during a |
| # repair. |
| # - YES: MIG can select a different zone for the VM during |
| # a repair. |
| }, |
| }, |
| "instanceTemplate": "A String", # The URL of the instance template that is specified for this managed |
| # instance group. The group uses this template to create all new instances |
| # in the managed instance group. The templates for existing instances in the |
| # group do not change unless you run recreateInstances, runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE. |
| "kind": "compute#instanceGroupManager", # [Output Only] The resource type, which is alwayscompute#instanceGroupManager for managed instance groups. |
| "listManagedInstancesResults": "A String", # Pagination behavior of the listManagedInstances API method for |
| # this managed instance group. |
| "multiMig": "A String", # URL to the multi-MIG that this Managed Instance Group belongs to. |
| "name": "A String", # The name of the managed instance group. The name must be 1-63 characters |
| # long, and comply withRFC1035. |
| "namedPorts": [ # [Output Only] Named ports configured on the Instance Groups complementary |
| # to this Instance Group Manager. |
| { # The named port. For example: <"http", 80>. |
| "name": "A String", # The name for this named port. |
| # The name must be 1-63 characters long, and comply withRFC1035. |
| "port": 42, # The port number, which can be a value between 1 and 65535. |
| }, |
| ], |
| "params": { # Input only additional params for instance group manager creation. # Input only. Additional params passed with the request, but not persisted |
| # as part of resource payload. |
| "resourceManagerTags": { # Resource manager tags to bind to the managed instance group. The tags are |
| # key-value pairs. Keys must be in the format tagKeys/123 and values in the |
| # format tagValues/456. For more information, seeManage tags |
| # for resources. |
| "a_key": "A String", |
| }, |
| }, |
| "region": "A String", # [Output Only] The URL of theregion |
| # where the managed instance group resides (for regional resources). |
| "resourcePolicies": { # Resource policies for this managed instance group. |
| "workloadPolicy": "A String", # The URL of the workload policy that is specified for this managed |
| # instance group. |
| # It can be a full or partial URL. For example, the following are |
| # all valid URLs to a workload policy: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/regions/region/resourcePolicies/resourcePolicy |
| # - projects/project/regions/region/resourcePolicies/resourcePolicy |
| # - regions/region/resourcePolicies/resourcePolicy |
| }, |
| "satisfiesPzi": True or False, # [Output Only] Reserved for future use. |
| "satisfiesPzs": True or False, # [Output Only] Reserved for future use. |
| "selfLink": "A String", # [Output Only] The URL for this managed instance group. The server defines |
| # this URL. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "serviceAccount": "A String", # The service account to be used as credentials for all operations performed |
| # by the managed instance group on instances. The service accounts needs all |
| # permissions required to create and delete instances. |
| # By default, the service account |
| # {projectNumber}@cloudservices.gserviceaccount.com is used. |
| "standbyPolicy": { # Standby policy for stopped and suspended instances. |
| "initialDelaySec": 42, # Specifies the number of seconds that the MIG should wait to suspend or |
| # stop a VM after that VM was created. The initial delay gives the |
| # initialization script the time to prepare your VM for a quick scale out. |
| # The value of initial delay must be between 0 and 3600 seconds. The |
| # default value is 0. |
| "mode": "A String", # Defines how a MIG resumes or starts VMs from a standby pool when the |
| # group scales out. The default mode is `MANUAL`. |
| }, |
| "statefulPolicy": { # Stateful configuration for this Instanced Group Manager |
| "preservedState": { # Configuration of preserved resources. |
| "disks": { # Disks created on the instances that will be preserved on instance |
| # delete, update, etc. This map is keyed with the device names of |
| # the disks. |
| "a_key": { |
| "autoDelete": "A String", # These stateful disks will never be deleted during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the disk should be deleted after it |
| # is no longer used by the group, e.g. when the given instance or |
| # the whole group is deleted. Note: disks attached inREAD_ONLY mode cannot be auto-deleted. |
| }, |
| }, |
| "externalIPs": { # External network IPs assigned to the instances that will be preserved on |
| # instance delete, update, etc. This map is keyed with the network |
| # interface name. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| }, |
| }, |
| "internalIPs": { # Internal network IPs assigned to the instances that will be preserved on |
| # instance delete, update, etc. This map is keyed with the network |
| # interface name. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| }, |
| }, |
| }, |
| }, |
| "status": { # [Output Only] The status of this managed instance group. |
| "allInstancesConfig": { # [Output only] Status of all-instances configuration on the group. |
| "currentRevision": "A String", # [Output Only] Current all-instances configuration revision. |
| # This value is in RFC3339 text format. |
| "effective": True or False, # [Output Only] A bit indicating whether this configuration has |
| # been applied to all managed instances in the group. |
| }, |
| "autoscaler": "A String", # [Output Only] The URL of theAutoscaler |
| # that targets this instance group manager. |
| "bulkInstanceOperation": { # Bulk instance operation is the creation of VMs in a MIG when the # [Output Only] The status of bulk instance operation. |
| # targetSizePolicy.mode is set to BULK. |
| "inProgress": True or False, # [Output Only] Informs whether bulk instance operation is in progress. |
| "lastProgressCheck": { # [Output Only] Information from the last progress check of bulk instance |
| # operation. |
| "error": { # [Output Only] Errors encountered during bulk instance operation. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "timestamp": "A String", # [Output Only] Timestamp of the last progress check of bulk instance |
| # operation. Timestamp is in RFC3339 text format. |
| }, |
| }, |
| "isStable": True or False, # [Output Only] A bit indicating whether the managed instance group is in a |
| # stable state. A stable state means that: none of the instances in the |
| # managed instance group is currently undergoing any type of change (for |
| # example, creation, restart, or deletion); no future changes are scheduled |
| # for instances in the managed instance group; and the managed instance |
| # group itself is not being modified. |
| "stateful": { # [Output Only] Stateful status of the given Instance Group Manager. |
| "hasStatefulConfig": True or False, # [Output Only] A bit indicating whether the managed instance group |
| # has stateful configuration, that is, if you have configured any items |
| # in a stateful policy or in per-instance configs. |
| # The group might report that it has no stateful configuration even when |
| # there is still some preserved state on a managed instance, for example, |
| # if you have deleted all PICs but not yet applied those deletions. |
| "isStateful": True or False, # [Output Only] A bit indicating whether the managed instance group |
| # has stateful configuration, that is, if you have configured any items |
| # in a stateful policy or in per-instance configs. |
| # The group might report that it has no stateful configuration even when |
| # there is still some preserved state on a managed instance, for example, |
| # if you have deleted all PICs but not yet applied those deletions. This |
| # field is deprecated in favor of has_stateful_config. |
| "perInstanceConfigs": { # [Output Only] Status of per-instance configurations on the instances. |
| "allEffective": True or False, # A bit indicating if all of the group's per-instance configurations |
| # (listed in the output of a listPerInstanceConfigs API call) have |
| # status EFFECTIVE or there are no per-instance-configs. |
| }, |
| }, |
| "versionTarget": { # [Output Only] A status of consistency of Instances' versions with their |
| # target version specified by version field on Instance Group |
| # Manager. |
| "isReached": True or False, # [Output Only] A bit indicating whether version target has been reached |
| # in this managed instance group, i.e. all instances are in their target |
| # version. Instances' target version are specified byversion field on Instance Group Manager. |
| }, |
| }, |
| "targetPools": [ # The URLs for all TargetPool resources to which instances in theinstanceGroup field are added. The target pools automatically |
| # apply to all of the instances in the managed instance group. |
| "A String", |
| ], |
| "targetSize": 42, # The target number of running instances for this managed instance group. |
| # You can reduce this number by using the instanceGroupManager |
| # deleteInstances or abandonInstances methods. Resizing the group also |
| # changes this number. |
| "targetSizePolicy": { # The policy that specifies how the MIG creates its VMs to achieve the target |
| # size. |
| "mode": "A String", # The mode of target size policy based on which the MIG creates its VMs |
| # individually or all at once. |
| }, |
| "targetSizeUnit": "A String", # The unit of measure for the target size. |
| "targetStoppedSize": 42, # The target number of stopped instances for this managed instance group. |
| # This number changes when you: |
| # |
| # - Stop instance using the stopInstances |
| # method or start instances using the startInstances |
| # method. |
| # - Manually change the targetStoppedSize using the update |
| # method. |
| "targetSuspendedSize": 42, # The target number of suspended instances for this managed instance group. |
| # This number changes when you: |
| # |
| # - Suspend instance using the suspendInstances |
| # method or resume instances using the resumeInstances |
| # method. |
| # - Manually change the targetSuspendedSize using the update |
| # method. |
| "updatePolicy": { # The update policy for this managed instance group. |
| "instanceRedistributionType": "A String", # The |
| # instance redistribution policy for regional managed instance groups. |
| # Valid values are: |
| # |
| # - PROACTIVE (default): The group attempts to maintain an |
| # even distribution of VM instances across zones in the region. |
| # - NONE: For non-autoscaled groups, proactive |
| # redistribution is disabled. |
| "maxSurge": { # Encapsulates numeric value that can be either absolute or relative. # The maximum number of instances that can be created above the specifiedtargetSize during the update process. This value can be |
| # either a fixed number or, if the group has 10 or more instances, a |
| # percentage. If you set a percentage, the number of instances is rounded |
| # if necessary. The default value for maxSurge is a fixed |
| # value equal to the number of zones in which the managed instance group |
| # operates. |
| # |
| # At least one of either maxSurge ormaxUnavailable must be greater than 0. Learn more about maxSurge. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| "maxUnavailable": { # Encapsulates numeric value that can be either absolute or relative. # The maximum number of instances that can be unavailable during the update |
| # process. An instance is considered available if all of the following |
| # conditions are satisfied: |
| # |
| # |
| # |
| # - The instance's status is |
| # RUNNING. |
| # - If there is a health |
| # check on the instance group, the instance's health check status |
| # must be HEALTHY at least once. If there is no health check |
| # on the group, then the instance only needs to have a status of |
| # RUNNING to be considered available. |
| # |
| # |
| # This value can be either a fixed number or, if the group has 10 or more |
| # instances, a percentage. If you set a percentage, the number of instances |
| # is rounded if necessary. The default value formaxUnavailable is a fixed value equal to the number of zones |
| # in which the managed instance group operates. |
| # |
| # At least one of either maxSurge ormaxUnavailable must be greater than 0. Learn more about maxUnavailable. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| "minReadySec": 42, # Minimum number of seconds to wait for after a newly created instance |
| # becomes available. This value must be from range [0, 3600]. |
| "minimalAction": "A String", # Minimal action to be taken on an instance. Use this option to minimize |
| # disruption as much as possible or to apply a more disruptive action than |
| # is necessary. |
| # |
| # - To limit disruption as much as possible, set the minimal action toREFRESH. If your update requires a more disruptive action, |
| # Compute Engine performs the necessary action to execute the update. |
| # - To apply a more disruptive action than is strictly necessary, set the |
| # minimal action to RESTART or REPLACE. For |
| # example, Compute Engine does not need to restart a VM to change its |
| # metadata. But if your application reads instance metadata only when a VM |
| # is restarted, you can set the minimal action to RESTART in |
| # order to pick up metadata changes. |
| "mostDisruptiveAllowedAction": "A String", # Most disruptive action that is allowed to be taken on an instance. |
| # You can specify either NONE to forbid any actions,REFRESH to avoid restarting the VM and to limit disruption |
| # as much as possible. RESTART to allow actions that can be |
| # applied without instance replacing or REPLACE to allow all |
| # possible actions. If the Updater determines that the minimal update |
| # action needed is more disruptive than most disruptive allowed action you |
| # specify it will not perform the update at all. |
| "replacementMethod": "A String", # What action should be used to replace instances. |
| # See minimal_action.REPLACE |
| "type": "A String", # The type |
| # of update process. You can specify either PROACTIVE so |
| # that the MIG automatically updates VMs to the latest configurations orOPPORTUNISTIC so that you can select the VMs that you want |
| # to update. |
| }, |
| "versions": [ # Specifies the instance templates used by this managed instance group to |
| # create instances. |
| # |
| # Each version is defined by an instanceTemplate and aname. Every version can appear at most once per instance |
| # group. This field overrides the top-level instanceTemplate |
| # field. Read more about therelationships |
| # between these fields. Exactly one version must leave thetargetSize field unset. That version will be applied to all |
| # remaining instances. For more information, read aboutcanary |
| # updates. |
| { |
| "instanceTemplate": "A String", # The URL of the instance template that is specified for this managed |
| # instance group. The group uses this template to create new instances in |
| # the managed instance group until the `targetSize` for this version is |
| # reached. The templates for existing instances in the group do not change |
| # unless you run recreateInstances, runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE; in those cases, |
| # existing instances are updated until the `targetSize` for this version is |
| # reached. |
| "name": "A String", # Name of the version. Unique among all versions in the scope of this |
| # managed instance group. |
| "tag": "A String", # Tag describing the version. Used to trigger rollout of a target version |
| # even if instance_template remains unchanged. |
| # Deprecated in favor of 'name'. |
| "targetSize": { # Encapsulates numeric value that can be either absolute or relative. # Specifies the intended number of instances to be created from theinstanceTemplate. The final number of instances created |
| # from the template will be equal to: |
| # |
| # |
| # - If expressed as a fixed number, the minimum of either |
| # targetSize.fixed or |
| # instanceGroupManager.targetSize is used. |
| # - if expressed as a percent, the targetSize |
| # would be (targetSize.percent/100 * |
| # InstanceGroupManager.targetSize) If there is a remainder, the |
| # number is rounded. |
| # |
| # If unset, this version will update any remaining instances not |
| # updated by another version. ReadStarting |
| # a canary update for more information. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of azone |
| # where the managed instance group is located (for zonal resources). |
| }, |
| ], |
| "kind": "compute#instanceGroupManagerList", # [Output Only] The resource type, which is always |
| # compute#instanceGroupManagerList for a list of managed instance groups. |
| "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for |
| # list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for |
| # the query parameter pageToken in the next list request. |
| # Subsequent list requests will have their own nextPageToken to |
| # continue paging through the results. |
| "selfLink": "A String", # [Output Only] Server-defined URL for this resource. |
| "warning": { # [Output Only] Informational warning message. |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="listErrors">listErrors(project, zone, instanceGroupManager, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)</code> |
| <pre>Lists all errors thrown by actions on instances for a given managed |
| instance group. The filter and orderBy query |
| parameters are not supported. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone where the managed |
| instance group is located. |
| It should conform to RFC1035. (required) |
| instanceGroupManager: string, The name of the managed instance group. |
| It must be a string that meets the requirements in RFC1035, or an |
| unsigned long integer: must match regexp pattern: |
| (?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)|1-9{0,19}. (required) |
| filter: string, A filter expression that filters resources listed in the response. Most |
| Compute resources support two types of filter expressions: |
| expressions that support regular expressions and expressions that follow |
| API improvement proposal AIP-160. |
| These two types of filter expressions cannot be mixed in one request. |
| |
| If you want to use AIP-160, your expression must specify the field name, an |
| operator, and the value that you want to use for filtering. The value |
| must be a string, a number, or a boolean. The operator |
| must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. |
| |
| For example, if you are filtering Compute Engine instances, you can |
| exclude instances named `example-instance` by specifying |
| `name != example-instance`. |
| |
| The `:*` comparison can be used to test whether a key has been defined. |
| For example, to find all objects with `owner` label use: |
| ``` |
| labels.owner:* |
| ``` |
| |
| You can also filter nested fields. For example, you could specify |
| `scheduling.automaticRestart = false` to include instances only |
| if they are not scheduled for automatic restarts. You can use filtering |
| on nested fields to filter based onresource labels. |
| |
| To filter on multiple expressions, provide each separate expression within |
| parentheses. For example: |
| ``` |
| (scheduling.automaticRestart = true) |
| (cpuPlatform = "Intel Skylake") |
| ``` |
| By default, each expression is an `AND` expression. However, you |
| can include `AND` and `OR` expressions explicitly. |
| For example: |
| ``` |
| (cpuPlatform = "Intel Skylake") OR |
| (cpuPlatform = "Intel Broadwell") AND |
| (scheduling.automaticRestart = true) |
| ``` |
| |
| If you want to use a regular expression, use the `eq` (equal) or `ne` |
| (not equal) operator against a single un-parenthesized expression with or |
| without quotes or against multiple parenthesized expressions. Examples: |
| |
| `fieldname eq unquoted literal` |
| `fieldname eq 'single quoted literal'` |
| `fieldname eq "double quoted literal"` |
| `(fieldname1 eq literal) (fieldname2 ne "literal")` |
| |
| The literal value is interpreted as a regular expression using GoogleRE2 library syntax. |
| The literal value must match the entire field. |
| |
| For example, to filter for instances that do not end with name "instance", |
| you would use `name ne .*instance`. |
| |
| You cannot combine constraints on multiple fields using regular |
| expressions. |
| maxResults: integer, The maximum number of results per page that should be returned. |
| If the number of available results is larger than `maxResults`, |
| Compute Engine returns a `nextPageToken` that can be used to get |
| the next page of results in subsequent list requests. Acceptable values are |
| `0` to `500`, inclusive. (Default: `500`) |
| orderBy: string, Sorts list results by a certain order. By default, results |
| are returned in alphanumerical order based on the resource name. |
| |
| You can also sort results in descending order based on the creation |
| timestamp using `orderBy="creationTimestamp desc"`. This sorts |
| results based on the `creationTimestamp` field in |
| reverse chronological order (newest result first). Use this to sort |
| resources like operations so that the newest operation is returned first. |
| |
| Currently, only sorting by `name` or |
| `creationTimestamp desc` is supported. |
| pageToken: string, Specifies a page token to use. Set `pageToken` to the |
| `nextPageToken` returned by a previous list request to get |
| the next page of results. |
| returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case |
| of failure. The default value is false. |
| |
| For example, when partial success behavior is enabled, aggregatedList for a |
| single zone scope either returns all resources in the zone or no resources, |
| with an error code. |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { |
| "items": [ # [Output Only] The list of errors of the managed instance group. |
| { |
| "error": { # [Output Only] Contents of the error. |
| "code": "A String", # [Output Only] Error code. |
| "message": "A String", # [Output Only] Error message. |
| }, |
| "instanceActionDetails": { # [Output Only] Details of the instance action that triggered this error. |
| # May be null, if the error was not caused by an action on an instance. |
| # This field is optional. |
| "action": "A String", # [Output Only] Action that managed instance group was executing on |
| # the instance when the error occurred. Possible values: |
| "instance": "A String", # [Output Only] The URL of the instance. |
| # The URL can be set even if the instance has not yet been created. |
| "version": { # [Output Only] Version this instance was created from, or was being |
| # created from, but the creation failed. Corresponds to one of the versions |
| # that were set on the Instance Group Manager resource at the time this |
| # instance was being created. |
| "instanceTemplate": "A String", # [Output Only] The intended template of the instance. This field is empty |
| # when current_action is one of { DELETING, ABANDONING }. |
| "name": "A String", # [Output Only] Name of the version. |
| }, |
| }, |
| "timestamp": "A String", # [Output Only] The time that this error occurred. |
| # This value is in RFC3339 text format. |
| }, |
| ], |
| "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for |
| # list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for |
| # the query parameter pageToken in the next list request. |
| # Subsequent list requests will have their own nextPageToken to |
| # continue paging through the results. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="listErrors_next">listErrors_next()</code> |
| <pre>Retrieves the next page of results. |
| |
| Args: |
| previous_request: The request for the previous page. (required) |
| previous_response: The response from the request for the previous page. (required) |
| |
| Returns: |
| A request object that you can call 'execute()' on to request the next |
| page. Returns None if there are no more items in the collection. |
| </pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="listManagedInstances">listManagedInstances(project, zone, instanceGroupManager, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)</code> |
| <pre>Lists all of the instances in the managed instance group. Each instance |
| in the list has a currentAction, which indicates the action |
| that the managed instance group is performing on the instance. For example, |
| if the group is still creating an instance, the currentAction |
| is CREATING. If a previous action failed, the |
| list displays the errors for that failed action. The orderBy |
| query parameter is not supported. The `pageToken` query parameter is |
| supported only if the group's `listManagedInstancesResults` field is set |
| to `PAGINATED`. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone where the managed |
| instance group is located. (required) |
| instanceGroupManager: string, The name of the managed instance group. (required) |
| filter: string, A filter expression that filters resources listed in the response. Most |
| Compute resources support two types of filter expressions: |
| expressions that support regular expressions and expressions that follow |
| API improvement proposal AIP-160. |
| These two types of filter expressions cannot be mixed in one request. |
| |
| If you want to use AIP-160, your expression must specify the field name, an |
| operator, and the value that you want to use for filtering. The value |
| must be a string, a number, or a boolean. The operator |
| must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. |
| |
| For example, if you are filtering Compute Engine instances, you can |
| exclude instances named `example-instance` by specifying |
| `name != example-instance`. |
| |
| The `:*` comparison can be used to test whether a key has been defined. |
| For example, to find all objects with `owner` label use: |
| ``` |
| labels.owner:* |
| ``` |
| |
| You can also filter nested fields. For example, you could specify |
| `scheduling.automaticRestart = false` to include instances only |
| if they are not scheduled for automatic restarts. You can use filtering |
| on nested fields to filter based onresource labels. |
| |
| To filter on multiple expressions, provide each separate expression within |
| parentheses. For example: |
| ``` |
| (scheduling.automaticRestart = true) |
| (cpuPlatform = "Intel Skylake") |
| ``` |
| By default, each expression is an `AND` expression. However, you |
| can include `AND` and `OR` expressions explicitly. |
| For example: |
| ``` |
| (cpuPlatform = "Intel Skylake") OR |
| (cpuPlatform = "Intel Broadwell") AND |
| (scheduling.automaticRestart = true) |
| ``` |
| |
| If you want to use a regular expression, use the `eq` (equal) or `ne` |
| (not equal) operator against a single un-parenthesized expression with or |
| without quotes or against multiple parenthesized expressions. Examples: |
| |
| `fieldname eq unquoted literal` |
| `fieldname eq 'single quoted literal'` |
| `fieldname eq "double quoted literal"` |
| `(fieldname1 eq literal) (fieldname2 ne "literal")` |
| |
| The literal value is interpreted as a regular expression using GoogleRE2 library syntax. |
| The literal value must match the entire field. |
| |
| For example, to filter for instances that do not end with name "instance", |
| you would use `name ne .*instance`. |
| |
| You cannot combine constraints on multiple fields using regular |
| expressions. |
| maxResults: integer, The maximum number of results per page that should be returned. |
| If the number of available results is larger than `maxResults`, |
| Compute Engine returns a `nextPageToken` that can be used to get |
| the next page of results in subsequent list requests. Acceptable values are |
| `0` to `500`, inclusive. (Default: `500`) |
| orderBy: string, Sorts list results by a certain order. By default, results |
| are returned in alphanumerical order based on the resource name. |
| |
| You can also sort results in descending order based on the creation |
| timestamp using `orderBy="creationTimestamp desc"`. This sorts |
| results based on the `creationTimestamp` field in |
| reverse chronological order (newest result first). Use this to sort |
| resources like operations so that the newest operation is returned first. |
| |
| Currently, only sorting by `name` or |
| `creationTimestamp desc` is supported. |
| pageToken: string, Specifies a page token to use. Set `pageToken` to the |
| `nextPageToken` returned by a previous list request to get |
| the next page of results. |
| returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case |
| of failure. The default value is false. |
| |
| For example, when partial success behavior is enabled, aggregatedList for a |
| single zone scope either returns all resources in the zone or no resources, |
| with an error code. |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { |
| "managedInstances": [ # [Output Only] The list of instances in the managed instance group. |
| { # A Managed Instance resource. |
| "allInstancesConfig": { # [Output Only] Current all-instances configuration revision applied to this |
| # instance. |
| "revision": "A String", # [Output Only] Current all-instances configuration revision. |
| # This value is in RFC3339 text format. |
| }, |
| "currentAction": "A String", # [Output Only] The current action that the managed instance group has |
| # scheduled for the instance. Possible values: |
| # |
| # - NONE The instance is running, and the managed |
| # instance group does not have any scheduled actions for this instance. |
| # - CREATING The managed instance group is creating this |
| # instance. If the group fails to create this instance, it will try again |
| # until it is successful. |
| # - CREATING_WITHOUT_RETRIES The managed instance group |
| # is attempting to create this instance only once. If the group fails |
| # to create this instance, it does not try again and the group'stargetSize value is decreased instead. |
| # - RECREATING The managed instance group is recreating |
| # this instance. |
| # - DELETING The managed instance group is permanently |
| # deleting this instance. |
| # - ABANDONING The managed instance group is abandoning |
| # this instance. The instance will be removed from the instance group |
| # and from any target pools that are associated with this group. |
| # - RESTARTING The managed instance group is restarting |
| # the instance. |
| # - REFRESHING The managed instance group is applying |
| # configuration changes to the instance without stopping it. For example, |
| # the group can update the target pool list for an instance without |
| # stopping that instance. |
| # - VERIFYING The managed instance group has created the |
| # instance and it is in the process of being verified. |
| "currentActionDetails": { |
| "methodName": "A String", |
| "trigger": "A String", # [Output Only] Details of the current action that the managed instance |
| # group has scheduled for the instance. Contains trigger for the current |
| # action, and methodName in case it was triggered by API call. Possible |
| # values for trigger: |
| # |
| # - API Any API call. |
| # - PROACTIVE_UPDATE Proactive updater scheduled an update |
| # on this managed instance. |
| # - AUTOSCALING Instance being deleted/created after a |
| # decision from the Autoscaler. |
| # - REDISTRIBUTION The regional managed instance group is |
| # moving instances between zones to restore balance. |
| # - STANDBY_REFILL The managed instance group is refilling |
| # the Standby Pool (stopped/suspended virtual machines) after scale |
| # up. |
| # - MAINTENANCE Manual maintenance. |
| # - FAILED_CREATION The managed instance group is handling |
| # failed instance creation. |
| # - INSTANCE_FAILURE The managed instance group is handling |
| # instance failure, according to |
| # the Instance Lifecycle Policy. |
| # - FAILED_HEALTH_CHECK The managed instance group is |
| # handling failed health check, according to the Instance Lifecycle |
| # Policy. |
| # - TERMINATION_TIMESTAMP Instance reached termination time, |
| # thus managed instance group stops/deletes it. |
| }, |
| "id": "A String", # [Output only] The unique identifier for this resource. This field is empty |
| # when instance does not exist. |
| "instance": "A String", # [Output Only] The URL of the instance. The URL can exist even if the |
| # instance has not yet been created. |
| "instanceFlexibilityOverride": { # [Output Only] The overrides to instance properties resulting from |
| # InstanceFlexibilityPolicy. |
| "disks": [ # List of disks to be attached to the instance. |
| { # An instance-attached disk resource. |
| "architecture": "A String", # [Output Only] The architecture of the attached disk. Valid values are ARM64 |
| # or X86_64. |
| "autoDelete": True or False, # Specifies whether the disk will be auto-deleted when the instance is |
| # deleted (but not when the disk is detached from the instance). |
| "boot": True or False, # Indicates that this is a boot disk. The virtual machine will use the first |
| # partition of the disk for its root filesystem. |
| "deviceName": "A String", # Specifies a unique device name of your choice that is reflected into the/dev/disk/by-id/google-* tree of a Linux operating system |
| # running within the instance. This name can be used to reference the device |
| # for mounting, resizing, and so on, from within the instance. |
| # |
| # If not specified, the server chooses a default device name to apply to this |
| # disk, in the form persistent-disk-x, where x is a number |
| # assigned by Google Compute Engine. This field is only applicable for |
| # persistent disks. |
| "diskEncryptionKey": { # Encrypts or decrypts a disk using acustomer-supplied |
| # encryption key. |
| # |
| # If you are creating a new disk, this field encrypts the new disk using |
| # an encryption key that you provide. If you are attaching an existing |
| # disk that is already encrypted, this field decrypts the disk using |
| # the customer-supplied encryption key. |
| # |
| # If you encrypt a disk using a customer-supplied key, you must provide the |
| # same key again when you attempt to use this resource at a later time. For |
| # example, you must provide the key when you create a snapshot or an image |
| # from the disk or when you attach the disk to a virtual machine instance. |
| # |
| # If you do not provide an encryption key, then the disk will be encrypted |
| # using an automatically generated key and you do not need to provide a key |
| # to use the disk later. |
| # |
| # Note: |
| # |
| # Instance templates do not storecustomer-supplied |
| # encryption keys, so you cannot use your own keys to encrypt disks in amanaged instance group. |
| # |
| # You cannot create VMs that have disks with customer-supplied keys using |
| # the bulk |
| # insert method. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "diskSizeGb": "A String", # The size of the disk in GB. |
| "forceAttach": True or False, # [Input Only] Whether to force attach the regional disk even if it's |
| # currently attached to another instance. If you try to force attach a zonal |
| # disk to an instance, you will receive an error. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "index": 42, # [Output Only] A zero-based index to this disk, where 0 is reserved for the |
| # boot disk. If you have many disks attached to an instance, each |
| # disk would have a unique index number. |
| "initializeParams": { # [Input Only] Specifies the parameters for a new disk that will be created # [Input Only] Specifies the parameters for a new disk that will be created |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This field is persisted and returned for instanceTemplate and not returned |
| # in the context of instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| "architecture": "A String", # The architecture of the attached disk. Valid values are |
| # arm64 or x86_64. |
| "description": "A String", # An optional description. Provide this property when creating the disk. |
| "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name |
| # of the instance. If a disk with the same name already exists in the given |
| # region, the existing disk is attached to the new instance and the |
| # new disk is not created. |
| "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. The size must be at least |
| # 10 GB. If you specify a sourceImage, which is required for |
| # boot disks, the default size is the size of the sourceImage. |
| # If you do not specify a sourceImage, the default disk size |
| # is 500 GB. |
| "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, |
| # the default is pd-standard, specified using the full URL. |
| # For example: |
| # |
| # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard |
| # |
| # |
| # For a full list of acceptable values, seePersistent disk |
| # types. If you specify this field when creating a VM, you can provide |
| # either the full or partial URL. For example, the following values are |
| # valid: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType |
| # - projects/project/zones/zone/diskTypes/diskType |
| # - zones/zone/diskTypes/diskType |
| # |
| # |
| # If you specify this field when creating or updating an instance template |
| # or all-instances configuration, specify the type of the disk, not the |
| # URL. For example: pd-standard. |
| "enableConfidentialCompute": True or False, # Whether this disk is using confidential compute mode. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| # |
| # Guest OS features are applied by merginginitializeParams.guestOsFeatures anddisks.guestOsFeatures |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "interface": "A String", # [Deprecated] Specifies the disk interface to use for attaching this disk, |
| # which is either SCSI or NVME. The default isSCSI. |
| "labels": { # Labels to apply to this disk. These can be later modified by thedisks.setLabels method. This field is only applicable for |
| # persistent disks. |
| "a_key": "A String", |
| }, |
| "licenseCodes": [ # Integer license codes indicating which licenses are attached to this |
| # disk. |
| "A String", |
| ], |
| "licenses": [ # A list of publicly visible licenses. Reserved for Google's use. |
| "A String", |
| ], |
| "multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to |
| # more than one instance. |
| "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default |
| # is to use the existing disk. |
| "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number |
| # of I/O operations per second that the disk can handle. Values must be |
| # between 10,000 and 120,000. For more details, see theExtreme persistent |
| # disk documentation. |
| "provisionedThroughput": "A String", # Indicates how much throughput to provision for the disk. This sets the |
| # number of throughput mb per second that the disk can handle. Values must |
| # greater than or equal to 1. |
| "replicaZones": [ # Required for each regional disk associated with the instance. Specify |
| # the URLs of the zones where the disk should be replicated to. |
| # You must provide exactly two replica zones, and one zone must be the same |
| # as the instance zone. |
| "A String", |
| ], |
| "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values |
| # have the same definition as resource |
| # manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and |
| # values are in the format `tagValues/456`. The field is ignored (both PUT |
| # & PATCH) when empty. |
| "a_key": "A String", |
| }, |
| "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. |
| # Specified using the full or partial URL. For instance template, specify |
| # only the resource policy name. |
| "A String", |
| ], |
| "sourceImage": "A String", # The source image to create this disk. When creating a new instance boot |
| # disk, one of initializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # To create a disk with one of the public operating system |
| # images, specify the image by its family name. For example, specifyfamily/debian-9 to use the latest Debian 9 image: |
| # |
| # projects/debian-cloud/global/images/family/debian-9 |
| # |
| # |
| # Alternatively, use a specific version of a public operating system image: |
| # |
| # projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD |
| # |
| # |
| # To create a disk with a custom image that you created, specify the |
| # image name in the following format: |
| # |
| # global/images/my-custom-image |
| # |
| # |
| # You can also specify a custom image by its image family, which returns |
| # the latest version of the image in that family. Replace the image name |
| # with family/family-name: |
| # |
| # global/images/family/my-image-family |
| # |
| # |
| # If the source image is deleted later, this field will not be set. |
| "sourceImageEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source image. Required if the source image is |
| # protected by a customer-supplied encryption key. |
| # |
| # InstanceTemplate and InstancePropertiesPatch do not storecustomer-supplied |
| # encryption keys, so you cannot create disks for instances in a managed instance group if the |
| # source images are encrypted with your own keys. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "sourceInstantSnapshot": "A String", # The source instant-snapshot to create this disk. When creating a new |
| # instance boot disk, one of initializeParams.sourceSnapshot |
| # or initializeParams.sourceInstantSnapshotinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # us-central1-a/instantSnapshots/my-backup |
| # |
| # |
| # If the source instant-snapshot is deleted later, this field will not be |
| # set. |
| "sourceSnapshot": "A String", # The source snapshot to create this disk. When creating a new instance |
| # boot disk, one of initializeParams.sourceSnapshot orinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # global/snapshots/my-backup |
| # |
| # |
| # If the source snapshot is deleted later, this field will not be set. |
| # |
| # Note: You cannot create VMs in bulk using a snapshot as the source. Use |
| # an image instead when you create VMs using |
| # the bulk |
| # insert method. |
| "sourceSnapshotEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source snapshot. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "storagePool": "A String", # The storage pool in which the new disk is created. You can provide |
| # this as a partial or full URL to the resource. For example, the following |
| # are valid values: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/storagePools/storagePool |
| # - projects/project/zones/zone/storagePools/storagePool |
| # - zones/zone/storagePools/storagePool |
| }, |
| "interface": "A String", # Specifies the disk interface to use for attaching this disk, which is |
| # either SCSI or NVME. For most machine types, the |
| # default is SCSI. Local SSDs can use either NVME or SCSI. |
| # In certain configurations, persistent disks can use NVMe. For more |
| # information, seeAbout |
| # persistent disks. |
| "kind": "compute#attachedDisk", # [Output Only] Type of the resource. Alwayscompute#attachedDisk for attached disks. |
| "licenses": [ # [Output Only] Any valid publicly visible licenses. |
| "A String", |
| ], |
| "locked": True or False, # [Output Only] Whether to indicate the attached disk is locked. The locked |
| # disk is not allowed to be detached from the instance, or to be used as the |
| # source of the snapshot creation, and the image creation. The instance with |
| # at least one locked attached disk is not allow to be used as source of |
| # machine image creation, instant snapshot creation, and not allowed to be |
| # deleted with --keep-disk parameter set to true for locked disks. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the disk |
| # in READ_WRITE mode. |
| "savedState": "A String", # For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this |
| # field is set to PRESERVED if the LocalSSD data has been saved |
| # to a persistent location by customer request. (see the |
| # discard_local_ssd option on Stop/Suspend). |
| # Read-only in the api. |
| "shieldedInstanceInitialState": { # Initial State for shielded instance, # [Output Only] shielded vm initial state stored on disk |
| # these are public keys which are safe to store in public |
| "dbs": [ # The Key Database (db). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "dbxs": [ # The forbidden key database (dbx). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "keks": [ # The Key Exchange Key (KEK). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "pk": { # The Platform Key (PK). |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| }, |
| "source": "A String", # Specifies a valid partial or full URL to an existing Persistent Disk |
| # resource. When creating a new instance boot disk, one ofinitializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # If desired, you can also attach existing non-root persistent disks using |
| # this property. This field is only applicable for persistent disks. |
| # |
| # Note that for InstanceTemplate, specify the disk name for zonal disk, |
| # and the URL for regional disk. |
| "type": "A String", # Specifies the type of the disk, either SCRATCH orPERSISTENT. If not specified, the default isPERSISTENT. |
| "userLicenses": [ # [Output Only] A list of user provided licenses. It represents a list of |
| # URLs to the license resource. Unlike regular licenses, user provided |
| # licenses can be modified after the disk is created. |
| "A String", |
| ], |
| }, |
| ], |
| "machineType": "A String", # The machine type to be used for this instance. |
| "minCpuPlatform": "A String", # Name of the minimum CPU platform to be used by this instance. |
| # e.g. 'Intel Ice Lake'. |
| "provisioningModel": "A String", # The provisioning model to be used for this instance. |
| }, |
| "instanceHealth": [ # [Output Only] Health state of the instance per health-check. |
| { |
| "detailedHealthState": "A String", # [Output Only] The current detailed instance health state. |
| "healthCheck": "A String", # [Output Only] The URL for the health check that verifies whether the |
| # instance is healthy. |
| "healthState": "A String", # [Output Only] The current instance health state. |
| # This field will not get promoted to beta/GA and might be removed from |
| # alpha APIs after 01/12/2019. Please use detailed_health_state field |
| # instead. |
| }, |
| ], |
| "instanceStatus": "A String", # [Output Only] The status of the instance. This field is empty when |
| # the instance does not exist. |
| "instanceTemplate": "A String", # [Output Only] The intended template of the instance. This field is empty |
| # when current_action is one of { DELETING, ABANDONING }. |
| "lastAttempt": { # [Output Only] Information about the last attempt to create or delete |
| # the instance. |
| "errors": { # [Output Only] Encountered errors during the last attempt to create or |
| # delete the instance. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| }, |
| "name": "A String", # [Output Only] The name of the instance. The name always exists even if the |
| # instance has not yet been created. |
| "preservedStateFromConfig": { # Preserved state for a given instance. # [Output Only] Preserved state applied from per-instance config |
| # for this instance. |
| "disks": { # Preserved disks defined for this instance. |
| # This map is keyed with the device names of the disks. |
| "a_key": { |
| "autoDelete": "A String", # These stateful disks will never be deleted during autohealing, |
| # update, instance recreate operations. This flag is used to configure |
| # if the disk should be deleted after it is no longer used by the group, |
| # e.g. when the given instance or the whole MIG is deleted. |
| # Note: disks attached in READ_ONLY mode cannot be |
| # auto-deleted. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the |
| # disk in READ_WRITE mode. |
| "source": "A String", # The URL of the disk resource that is stateful and should be attached |
| # to the VM instance. |
| }, |
| }, |
| "externalIPs": { # Preserved external IPs defined for this instance. |
| # This map is keyed with the name of the network interface. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| "ipAddress": { # Ip address representation |
| "address": "A String", # The URL of the reservation for this IP address. |
| "literal": "A String", # An IPv4 internal network address to assign to the instance for this |
| # network interface. |
| }, |
| }, |
| }, |
| "internalIPs": { # Preserved internal IPs defined for this instance. |
| # This map is keyed with the name of the network interface. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| "ipAddress": { # Ip address representation |
| "address": "A String", # The URL of the reservation for this IP address. |
| "literal": "A String", # An IPv4 internal network address to assign to the instance for this |
| # network interface. |
| }, |
| }, |
| }, |
| "metadata": { # Preserved metadata defined for this instance. |
| "a_key": "A String", |
| }, |
| }, |
| "preservedStateFromPolicy": { # Preserved state for a given instance. # [Output Only] Preserved state generated based on stateful policy |
| # for this instance. |
| "disks": { # Preserved disks defined for this instance. |
| # This map is keyed with the device names of the disks. |
| "a_key": { |
| "autoDelete": "A String", # These stateful disks will never be deleted during autohealing, |
| # update, instance recreate operations. This flag is used to configure |
| # if the disk should be deleted after it is no longer used by the group, |
| # e.g. when the given instance or the whole MIG is deleted. |
| # Note: disks attached in READ_ONLY mode cannot be |
| # auto-deleted. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the |
| # disk in READ_WRITE mode. |
| "source": "A String", # The URL of the disk resource that is stateful and should be attached |
| # to the VM instance. |
| }, |
| }, |
| "externalIPs": { # Preserved external IPs defined for this instance. |
| # This map is keyed with the name of the network interface. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| "ipAddress": { # Ip address representation |
| "address": "A String", # The URL of the reservation for this IP address. |
| "literal": "A String", # An IPv4 internal network address to assign to the instance for this |
| # network interface. |
| }, |
| }, |
| }, |
| "internalIPs": { # Preserved internal IPs defined for this instance. |
| # This map is keyed with the name of the network interface. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| "ipAddress": { # Ip address representation |
| "address": "A String", # The URL of the reservation for this IP address. |
| "literal": "A String", # An IPv4 internal network address to assign to the instance for this |
| # network interface. |
| }, |
| }, |
| }, |
| "metadata": { # Preserved metadata defined for this instance. |
| "a_key": "A String", |
| }, |
| }, |
| "propertiesFromFlexibilityPolicy": { # [Output Only] Instance properties selected for this instance resulting from |
| # InstanceFlexibilityPolicy. |
| "machineType": "A String", # The machine type to be used for this instance. |
| "provisioningModel": "A String", # The provisioning model to be used for this instance. |
| }, |
| "scheduling": { # [Output Only] Information about the termination timestamp of the instance, |
| # if applicable. |
| "terminationTimestamp": "A String", # [Output Only] The timestamp at which the managed instance will be |
| # terminated. This is in RFC3339 text format. |
| }, |
| "sizeInUnit": 3.14, # [Output only] The size of the VM represented by this Managed Instance. |
| # This is how much this Managed Instance contributes to the |
| # size of the group. |
| "tag": "A String", # [Output Only] Tag describing the version. |
| "targetStatus": "A String", # [Output Only] The eventual status of the instance. The instance group |
| # manager will not be identified as stable till each managed instance reaches |
| # its targetStatus. |
| "version": { # [Output Only] Intended version of this instance. |
| "instanceTemplate": "A String", # [Output Only] The intended template of the instance. This field is empty |
| # when current_action is one of { DELETING, ABANDONING }. |
| "name": "A String", # [Output Only] Name of the version. |
| }, |
| }, |
| ], |
| "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for |
| # list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for |
| # the query parameter pageToken in the next list request. |
| # Subsequent list requests will have their own nextPageToken to |
| # continue paging through the results. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="listManagedInstances_next">listManagedInstances_next()</code> |
| <pre>Retrieves the next page of results. |
| |
| Args: |
| previous_request: The request for the previous page. (required) |
| previous_response: The response from the request for the previous page. (required) |
| |
| Returns: |
| A request object that you can call 'execute()' on to request the next |
| page. Returns None if there are no more items in the collection. |
| </pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="listPerInstanceConfigs">listPerInstanceConfigs(project, zone, instanceGroupManager, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)</code> |
| <pre>Lists all of the per-instance configurations defined for the managed |
| instance group. The orderBy query parameter is not supported. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone |
| where the managed instance group is located. |
| It should conform to RFC1035. (required) |
| instanceGroupManager: string, The name of the managed instance group. It should conform to RFC1035. (required) |
| filter: string, A filter expression that filters resources listed in the response. Most |
| Compute resources support two types of filter expressions: |
| expressions that support regular expressions and expressions that follow |
| API improvement proposal AIP-160. |
| These two types of filter expressions cannot be mixed in one request. |
| |
| If you want to use AIP-160, your expression must specify the field name, an |
| operator, and the value that you want to use for filtering. The value |
| must be a string, a number, or a boolean. The operator |
| must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. |
| |
| For example, if you are filtering Compute Engine instances, you can |
| exclude instances named `example-instance` by specifying |
| `name != example-instance`. |
| |
| The `:*` comparison can be used to test whether a key has been defined. |
| For example, to find all objects with `owner` label use: |
| ``` |
| labels.owner:* |
| ``` |
| |
| You can also filter nested fields. For example, you could specify |
| `scheduling.automaticRestart = false` to include instances only |
| if they are not scheduled for automatic restarts. You can use filtering |
| on nested fields to filter based onresource labels. |
| |
| To filter on multiple expressions, provide each separate expression within |
| parentheses. For example: |
| ``` |
| (scheduling.automaticRestart = true) |
| (cpuPlatform = "Intel Skylake") |
| ``` |
| By default, each expression is an `AND` expression. However, you |
| can include `AND` and `OR` expressions explicitly. |
| For example: |
| ``` |
| (cpuPlatform = "Intel Skylake") OR |
| (cpuPlatform = "Intel Broadwell") AND |
| (scheduling.automaticRestart = true) |
| ``` |
| |
| If you want to use a regular expression, use the `eq` (equal) or `ne` |
| (not equal) operator against a single un-parenthesized expression with or |
| without quotes or against multiple parenthesized expressions. Examples: |
| |
| `fieldname eq unquoted literal` |
| `fieldname eq 'single quoted literal'` |
| `fieldname eq "double quoted literal"` |
| `(fieldname1 eq literal) (fieldname2 ne "literal")` |
| |
| The literal value is interpreted as a regular expression using GoogleRE2 library syntax. |
| The literal value must match the entire field. |
| |
| For example, to filter for instances that do not end with name "instance", |
| you would use `name ne .*instance`. |
| |
| You cannot combine constraints on multiple fields using regular |
| expressions. |
| maxResults: integer, The maximum number of results per page that should be returned. |
| If the number of available results is larger than `maxResults`, |
| Compute Engine returns a `nextPageToken` that can be used to get |
| the next page of results in subsequent list requests. Acceptable values are |
| `0` to `500`, inclusive. (Default: `500`) |
| orderBy: string, Sorts list results by a certain order. By default, results |
| are returned in alphanumerical order based on the resource name. |
| |
| You can also sort results in descending order based on the creation |
| timestamp using `orderBy="creationTimestamp desc"`. This sorts |
| results based on the `creationTimestamp` field in |
| reverse chronological order (newest result first). Use this to sort |
| resources like operations so that the newest operation is returned first. |
| |
| Currently, only sorting by `name` or |
| `creationTimestamp desc` is supported. |
| pageToken: string, Specifies a page token to use. Set `pageToken` to the |
| `nextPageToken` returned by a previous list request to get |
| the next page of results. |
| returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case |
| of failure. The default value is false. |
| |
| For example, when partial success behavior is enabled, aggregatedList for a |
| single zone scope either returns all resources in the zone or no resources, |
| with an error code. |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { |
| "items": [ # [Output Only] The list of PerInstanceConfig. |
| { |
| "fingerprint": "A String", # Fingerprint of this per-instance config. This field can be used in |
| # optimistic locking. It is ignored when inserting a per-instance |
| # config. An up-to-date fingerprint must be provided in order to update an |
| # existing per-instance configuration or the field needs to be unset. |
| "name": "A String", # The name of a per-instance configuration and its corresponding instance. |
| # Serves as a merge key during UpdatePerInstanceConfigs |
| # operations, that is, if a per-instance configuration with the same name |
| # exists then it will be updated, otherwise a new one will be created for the |
| # VM instance with the same name. An attempt to create a per-instance |
| # configuration for a VM instance that either doesn't exist or is not part |
| # of the group will result in an error. |
| "preservedState": { # Preserved state for a given instance. # The intended preserved state for the given instance. Does not contain |
| # preserved state generated from a stateful policy. |
| "disks": { # Preserved disks defined for this instance. |
| # This map is keyed with the device names of the disks. |
| "a_key": { |
| "autoDelete": "A String", # These stateful disks will never be deleted during autohealing, |
| # update, instance recreate operations. This flag is used to configure |
| # if the disk should be deleted after it is no longer used by the group, |
| # e.g. when the given instance or the whole MIG is deleted. |
| # Note: disks attached in READ_ONLY mode cannot be |
| # auto-deleted. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the |
| # disk in READ_WRITE mode. |
| "source": "A String", # The URL of the disk resource that is stateful and should be attached |
| # to the VM instance. |
| }, |
| }, |
| "externalIPs": { # Preserved external IPs defined for this instance. |
| # This map is keyed with the name of the network interface. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| "ipAddress": { # Ip address representation |
| "address": "A String", # The URL of the reservation for this IP address. |
| "literal": "A String", # An IPv4 internal network address to assign to the instance for this |
| # network interface. |
| }, |
| }, |
| }, |
| "internalIPs": { # Preserved internal IPs defined for this instance. |
| # This map is keyed with the name of the network interface. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| "ipAddress": { # Ip address representation |
| "address": "A String", # The URL of the reservation for this IP address. |
| "literal": "A String", # An IPv4 internal network address to assign to the instance for this |
| # network interface. |
| }, |
| }, |
| }, |
| "metadata": { # Preserved metadata defined for this instance. |
| "a_key": "A String", |
| }, |
| }, |
| "status": "A String", # The status of applying this per-instance configuration on the corresponding |
| # managed instance. |
| }, |
| ], |
| "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for |
| # list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for |
| # the query parameter pageToken in the next list request. |
| # Subsequent list requests will have their own nextPageToken to |
| # continue paging through the results. |
| "warning": { # [Output Only] Informational warning message. |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="listPerInstanceConfigs_next">listPerInstanceConfigs_next()</code> |
| <pre>Retrieves the next page of results. |
| |
| Args: |
| previous_request: The request for the previous page. (required) |
| previous_response: The response from the request for the previous page. (required) |
| |
| Returns: |
| A request object that you can call 'execute()' on to request the next |
| page. Returns None if there are no more items in the collection. |
| </pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="list_next">list_next()</code> |
| <pre>Retrieves the next page of results. |
| |
| Args: |
| previous_request: The request for the previous page. (required) |
| previous_response: The response from the request for the previous page. (required) |
| |
| Returns: |
| A request object that you can call 'execute()' on to request the next |
| page. Returns None if there are no more items in the collection. |
| </pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="patch">patch(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</code> |
| <pre>Updates a managed instance group using the information that you specify |
| in the request. |
| This operation is marked as DONE when the group is patched |
| even if the instances in the group are still in the process of being |
| patched. You must separately verify the status of the individual instances |
| with thelistManagedInstances |
| method. This method supportsPATCH |
| semantics and uses theJSON merge |
| patch format and processing rules. |
| |
| If you update your group to specify a new template or instance |
| configuration, it's possible that your intended specification for each VM |
| in the group is different from the current state of that VM. To learn how |
| to apply an updated configuration to the VMs in a MIG, seeUpdating instances in |
| a MIG. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of the zone where |
| you want to create the managed instance group. (required) |
| instanceGroupManager: string, The name of the instance group manager. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { # Represents a Managed Instance Group resource. |
| # |
| # An instance group is a collection of VM instances that you can manage as a |
| # single entity. For more information, readInstance groups. |
| # |
| # For zonal Managed Instance Group, use the instanceGroupManagers |
| # resource. |
| # |
| # For regional Managed Instance Group, use theregionInstanceGroupManagers resource. |
| "allInstancesConfig": { # Specifies configuration that overrides the instance template configuration |
| # for the group. |
| "properties": { # Represents the change that you want to make to the instance properties. # Properties to set on all instances in the group. |
| # |
| # You can add or modify properties using theinstanceGroupManagers.patch orregionInstanceGroupManagers.patch. After settingallInstancesConfig on the group, you must update the group's |
| # instances to apply the configuration. To apply the configuration, set the |
| # group's updatePolicy.type field to use proactive updates or |
| # use the applyUpdatesToInstances method. |
| "labels": { # The label key-value pairs that you want to patch onto the instance. |
| "a_key": "A String", |
| }, |
| "metadata": { # The metadata key-value pairs that you want to patch onto the instance. For |
| # more information, see Project and |
| # instance metadata. |
| "a_key": "A String", |
| }, |
| }, |
| }, |
| "autoHealingPolicies": [ # The autohealing policy for this managed instance group. You can specify |
| # only one value. |
| { |
| "autoHealingTriggers": { # Restricts what triggers autohealing. |
| "onHealthCheck": "A String", # If you have configured an application-based health check for the group, |
| # this field controls whether to trigger VM autohealing based on a failed |
| # health check. Valid values are: |
| # |
| # - ON (default): The group recreates running VMs that |
| # fail the application-based health check. |
| # - OFF: When set to OFF, you can still observe instance |
| # health state, but the group does not recreate VMs that fail the |
| # application-based health check. This is useful for troubleshooting and |
| # setting up your health check configuration. |
| }, |
| "healthCheck": "A String", # The URL for the health check that signals autohealing. |
| "initialDelaySec": 42, # The initial delay is the number of seconds that a new VM takes to |
| # initialize and run its startup script. During a VM's initial delay |
| # period, the MIG ignores unsuccessful health checks because the VM might |
| # be in the startup process. This prevents the MIG from prematurely |
| # recreating a VM. If the health check receives a healthy response during |
| # the initial delay, it indicates that the startup process is complete and |
| # the VM is ready. The value of initial delay must be between 0 and 3600 |
| # seconds. The default value is 0. |
| "maxUnavailable": { # Encapsulates numeric value that can be either absolute or relative. # Maximum number of instances that can be unavailable when autohealing. |
| # When 'percent' is used, the value is rounded if necessary. |
| # The instance is considered available if all of the following conditions |
| # are satisfied: |
| # 1. Instance's status is RUNNING. |
| # 2. Instance's currentAction is NONE (in particular its liveness health |
| # check result was observed to be HEALTHY at least once as it passed |
| # VERIFYING). |
| # 3. There is no outgoing action on an instance triggered by IGM. |
| # |
| # By default, number of concurrently autohealed instances is smaller than |
| # the managed instance group target size. However, if a zonal managed |
| # instance group has only one instance, or a regional managed instance |
| # group has only one instance per zone, autohealing will recreate these |
| # instances when they become unhealthy. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| }, |
| ], |
| "baseInstanceName": "A String", # The base instance name is a prefix that you want to attach to the names of |
| # all VMs in a MIG. The maximum character length is 58 and the name must |
| # comply with RFC1035 format. |
| # |
| # When a VM is created in the group, the MIG appends a hyphen and a random |
| # four-character string to the base instance name. If you want the MIG to |
| # assign sequential numbers instead of a random string, then end the base |
| # instance name with a hyphen followed by one or more hash symbols. The hash |
| # symbols indicate the number of digits. For example, a base instance name of |
| # "vm-###" results in "vm-001" as a VM name. |
| # @pattern |
| # [a-z](([-a-z0-9]{0,57})|([-a-z0-9]{0,51}-#{1,10}(\\[[0-9]{1,10}\\])?)) |
| "creationTimestamp": "A String", # [Output Only] The creation timestamp for this managed instance group inRFC3339 |
| # text format. |
| "currentActions": { # [Output Only] The list of instance actions and the number of instances |
| # in this managed instance group that are scheduled for each of those |
| # actions. |
| "abandoning": 42, # [Output Only] The total number of instances in the managed instance group |
| # that are scheduled to be abandoned. Abandoning an instance removes it |
| # from the managed instance group without deleting it. |
| "creating": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be created or are currently being created. If the group |
| # fails to create any of these instances, it tries again until it creates |
| # the instance successfully. |
| # |
| # If you have disabled creation retries, this field will not be populated; |
| # instead, the creatingWithoutRetries field will be populated. |
| "creatingAtomically": 42, # [Output Only] The number of instances that the managed instance group |
| # will attempt to create atomically, in a batch mode. If the desired count |
| # of instances can not be created, entire batch will be deleted and the |
| # group will decrease its targetSize value accordingly. |
| "creatingWithoutRetries": 42, # [Output Only] The number of instances that the managed instance group |
| # will attempt to create. The group attempts to create each instance |
| # only once. If the group fails to create any of these instances, it |
| # decreases the group's targetSize value accordingly. |
| "deleting": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be deleted or are currently being deleted. |
| "none": 42, # [Output Only] The number of instances in the managed instance group that |
| # are running and have no scheduled actions. |
| "queuing": 42, # [Output Only] The number of instances that the managed instance group |
| # is currently queuing. |
| "recreating": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be recreated or are currently being being recreated. |
| # Recreating an instance deletes the existing root persistent disk |
| # and creates a new disk from the image that is defined in the |
| # instance template. |
| "refreshing": 42, # [Output Only] The number of instances in the managed instance group that |
| # are being reconfigured with properties that do not require a restart |
| # or a recreate action. For example, setting or removing target |
| # pools for the instance. |
| "restarting": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be restarted or are currently being restarted. |
| "resuming": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be resumed or are currently being resumed. |
| "starting": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be started or are currently being started. |
| "stopping": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be stopped or are currently being stopped. |
| "suspending": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be suspended or are currently being suspended. |
| "verifying": 42, # [Output Only] The number of instances in the managed instance group that |
| # are being verified. See the managedInstances[].currentAction |
| # property in the listManagedInstances method documentation. |
| }, |
| "description": "A String", # An optional description of this resource. |
| "distributionPolicy": { # Policy specifying the intended distribution of managed instances across |
| # zones in a regional managed instance group. |
| "targetShape": "A String", # The distribution shape to which the group converges either proactively or |
| # on resize events (depending on the value set inupdatePolicy.instanceRedistributionType). |
| "zones": [ # Zones where the regional managed instance group will create and manage |
| # its instances. |
| { |
| "zone": "A String", # The URL of thezone. |
| # The zone must exist in the region where the managed instance group is |
| # located. |
| }, |
| ], |
| }, |
| "failoverAction": "A String", # The action to perform in case of zone failure. Only one value is supported,NO_FAILOVER. The default is NO_FAILOVER. |
| "fingerprint": "A String", # Fingerprint of this resource. This field may be used in optimistic locking. |
| # It will be ignored when inserting an InstanceGroupManager. An up-to-date |
| # fingerprint must be provided in order to update the InstanceGroupManager, |
| # otherwise the request will fail with error412 conditionNotMet. |
| # |
| # To see the latest fingerprint, make a get() request to |
| # retrieve an InstanceGroupManager. |
| "id": "A String", # [Output Only] A unique identifier for this resource type. The server |
| # generates this identifier. |
| "instanceFlexibilityPolicy": { # Instance flexibility allowing MIG to create VMs from multiple |
| # types of machines. |
| # Instance flexibility configuration on MIG overrides instance |
| # template configuration. |
| "instanceSelectionLists": { # Named instance selections configuring properties that the group will use |
| # when creating new VMs. |
| "a_key": { |
| "disks": [ # List of disks to be attached to the instances created from this |
| # selection. |
| { # An instance-attached disk resource. |
| "architecture": "A String", # [Output Only] The architecture of the attached disk. Valid values are ARM64 |
| # or X86_64. |
| "autoDelete": True or False, # Specifies whether the disk will be auto-deleted when the instance is |
| # deleted (but not when the disk is detached from the instance). |
| "boot": True or False, # Indicates that this is a boot disk. The virtual machine will use the first |
| # partition of the disk for its root filesystem. |
| "deviceName": "A String", # Specifies a unique device name of your choice that is reflected into the/dev/disk/by-id/google-* tree of a Linux operating system |
| # running within the instance. This name can be used to reference the device |
| # for mounting, resizing, and so on, from within the instance. |
| # |
| # If not specified, the server chooses a default device name to apply to this |
| # disk, in the form persistent-disk-x, where x is a number |
| # assigned by Google Compute Engine. This field is only applicable for |
| # persistent disks. |
| "diskEncryptionKey": { # Encrypts or decrypts a disk using acustomer-supplied |
| # encryption key. |
| # |
| # If you are creating a new disk, this field encrypts the new disk using |
| # an encryption key that you provide. If you are attaching an existing |
| # disk that is already encrypted, this field decrypts the disk using |
| # the customer-supplied encryption key. |
| # |
| # If you encrypt a disk using a customer-supplied key, you must provide the |
| # same key again when you attempt to use this resource at a later time. For |
| # example, you must provide the key when you create a snapshot or an image |
| # from the disk or when you attach the disk to a virtual machine instance. |
| # |
| # If you do not provide an encryption key, then the disk will be encrypted |
| # using an automatically generated key and you do not need to provide a key |
| # to use the disk later. |
| # |
| # Note: |
| # |
| # Instance templates do not storecustomer-supplied |
| # encryption keys, so you cannot use your own keys to encrypt disks in amanaged instance group. |
| # |
| # You cannot create VMs that have disks with customer-supplied keys using |
| # the bulk |
| # insert method. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "diskSizeGb": "A String", # The size of the disk in GB. |
| "forceAttach": True or False, # [Input Only] Whether to force attach the regional disk even if it's |
| # currently attached to another instance. If you try to force attach a zonal |
| # disk to an instance, you will receive an error. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "index": 42, # [Output Only] A zero-based index to this disk, where 0 is reserved for the |
| # boot disk. If you have many disks attached to an instance, each |
| # disk would have a unique index number. |
| "initializeParams": { # [Input Only] Specifies the parameters for a new disk that will be created # [Input Only] Specifies the parameters for a new disk that will be created |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This field is persisted and returned for instanceTemplate and not returned |
| # in the context of instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| "architecture": "A String", # The architecture of the attached disk. Valid values are |
| # arm64 or x86_64. |
| "description": "A String", # An optional description. Provide this property when creating the disk. |
| "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name |
| # of the instance. If a disk with the same name already exists in the given |
| # region, the existing disk is attached to the new instance and the |
| # new disk is not created. |
| "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. The size must be at least |
| # 10 GB. If you specify a sourceImage, which is required for |
| # boot disks, the default size is the size of the sourceImage. |
| # If you do not specify a sourceImage, the default disk size |
| # is 500 GB. |
| "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, |
| # the default is pd-standard, specified using the full URL. |
| # For example: |
| # |
| # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard |
| # |
| # |
| # For a full list of acceptable values, seePersistent disk |
| # types. If you specify this field when creating a VM, you can provide |
| # either the full or partial URL. For example, the following values are |
| # valid: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType |
| # - projects/project/zones/zone/diskTypes/diskType |
| # - zones/zone/diskTypes/diskType |
| # |
| # |
| # If you specify this field when creating or updating an instance template |
| # or all-instances configuration, specify the type of the disk, not the |
| # URL. For example: pd-standard. |
| "enableConfidentialCompute": True or False, # Whether this disk is using confidential compute mode. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| # |
| # Guest OS features are applied by merginginitializeParams.guestOsFeatures anddisks.guestOsFeatures |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "interface": "A String", # [Deprecated] Specifies the disk interface to use for attaching this disk, |
| # which is either SCSI or NVME. The default isSCSI. |
| "labels": { # Labels to apply to this disk. These can be later modified by thedisks.setLabels method. This field is only applicable for |
| # persistent disks. |
| "a_key": "A String", |
| }, |
| "licenseCodes": [ # Integer license codes indicating which licenses are attached to this |
| # disk. |
| "A String", |
| ], |
| "licenses": [ # A list of publicly visible licenses. Reserved for Google's use. |
| "A String", |
| ], |
| "multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to |
| # more than one instance. |
| "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default |
| # is to use the existing disk. |
| "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number |
| # of I/O operations per second that the disk can handle. Values must be |
| # between 10,000 and 120,000. For more details, see theExtreme persistent |
| # disk documentation. |
| "provisionedThroughput": "A String", # Indicates how much throughput to provision for the disk. This sets the |
| # number of throughput mb per second that the disk can handle. Values must |
| # greater than or equal to 1. |
| "replicaZones": [ # Required for each regional disk associated with the instance. Specify |
| # the URLs of the zones where the disk should be replicated to. |
| # You must provide exactly two replica zones, and one zone must be the same |
| # as the instance zone. |
| "A String", |
| ], |
| "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values |
| # have the same definition as resource |
| # manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and |
| # values are in the format `tagValues/456`. The field is ignored (both PUT |
| # & PATCH) when empty. |
| "a_key": "A String", |
| }, |
| "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. |
| # Specified using the full or partial URL. For instance template, specify |
| # only the resource policy name. |
| "A String", |
| ], |
| "sourceImage": "A String", # The source image to create this disk. When creating a new instance boot |
| # disk, one of initializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # To create a disk with one of the public operating system |
| # images, specify the image by its family name. For example, specifyfamily/debian-9 to use the latest Debian 9 image: |
| # |
| # projects/debian-cloud/global/images/family/debian-9 |
| # |
| # |
| # Alternatively, use a specific version of a public operating system image: |
| # |
| # projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD |
| # |
| # |
| # To create a disk with a custom image that you created, specify the |
| # image name in the following format: |
| # |
| # global/images/my-custom-image |
| # |
| # |
| # You can also specify a custom image by its image family, which returns |
| # the latest version of the image in that family. Replace the image name |
| # with family/family-name: |
| # |
| # global/images/family/my-image-family |
| # |
| # |
| # If the source image is deleted later, this field will not be set. |
| "sourceImageEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source image. Required if the source image is |
| # protected by a customer-supplied encryption key. |
| # |
| # InstanceTemplate and InstancePropertiesPatch do not storecustomer-supplied |
| # encryption keys, so you cannot create disks for instances in a managed instance group if the |
| # source images are encrypted with your own keys. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "sourceInstantSnapshot": "A String", # The source instant-snapshot to create this disk. When creating a new |
| # instance boot disk, one of initializeParams.sourceSnapshot |
| # or initializeParams.sourceInstantSnapshotinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # us-central1-a/instantSnapshots/my-backup |
| # |
| # |
| # If the source instant-snapshot is deleted later, this field will not be |
| # set. |
| "sourceSnapshot": "A String", # The source snapshot to create this disk. When creating a new instance |
| # boot disk, one of initializeParams.sourceSnapshot orinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # global/snapshots/my-backup |
| # |
| # |
| # If the source snapshot is deleted later, this field will not be set. |
| # |
| # Note: You cannot create VMs in bulk using a snapshot as the source. Use |
| # an image instead when you create VMs using |
| # the bulk |
| # insert method. |
| "sourceSnapshotEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source snapshot. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "storagePool": "A String", # The storage pool in which the new disk is created. You can provide |
| # this as a partial or full URL to the resource. For example, the following |
| # are valid values: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/storagePools/storagePool |
| # - projects/project/zones/zone/storagePools/storagePool |
| # - zones/zone/storagePools/storagePool |
| }, |
| "interface": "A String", # Specifies the disk interface to use for attaching this disk, which is |
| # either SCSI or NVME. For most machine types, the |
| # default is SCSI. Local SSDs can use either NVME or SCSI. |
| # In certain configurations, persistent disks can use NVMe. For more |
| # information, seeAbout |
| # persistent disks. |
| "kind": "compute#attachedDisk", # [Output Only] Type of the resource. Alwayscompute#attachedDisk for attached disks. |
| "licenses": [ # [Output Only] Any valid publicly visible licenses. |
| "A String", |
| ], |
| "locked": True or False, # [Output Only] Whether to indicate the attached disk is locked. The locked |
| # disk is not allowed to be detached from the instance, or to be used as the |
| # source of the snapshot creation, and the image creation. The instance with |
| # at least one locked attached disk is not allow to be used as source of |
| # machine image creation, instant snapshot creation, and not allowed to be |
| # deleted with --keep-disk parameter set to true for locked disks. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the disk |
| # in READ_WRITE mode. |
| "savedState": "A String", # For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this |
| # field is set to PRESERVED if the LocalSSD data has been saved |
| # to a persistent location by customer request. (see the |
| # discard_local_ssd option on Stop/Suspend). |
| # Read-only in the api. |
| "shieldedInstanceInitialState": { # Initial State for shielded instance, # [Output Only] shielded vm initial state stored on disk |
| # these are public keys which are safe to store in public |
| "dbs": [ # The Key Database (db). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "dbxs": [ # The forbidden key database (dbx). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "keks": [ # The Key Exchange Key (KEK). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "pk": { # The Platform Key (PK). |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| }, |
| "source": "A String", # Specifies a valid partial or full URL to an existing Persistent Disk |
| # resource. When creating a new instance boot disk, one ofinitializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # If desired, you can also attach existing non-root persistent disks using |
| # this property. This field is only applicable for persistent disks. |
| # |
| # Note that for InstanceTemplate, specify the disk name for zonal disk, |
| # and the URL for regional disk. |
| "type": "A String", # Specifies the type of the disk, either SCRATCH orPERSISTENT. If not specified, the default isPERSISTENT. |
| "userLicenses": [ # [Output Only] A list of user provided licenses. It represents a list of |
| # URLs to the license resource. Unlike regular licenses, user provided |
| # licenses can be modified after the disk is created. |
| "A String", |
| ], |
| }, |
| ], |
| "machineTypes": [ # Full machine-type names, e.g. "n1-standard-16". |
| "A String", |
| ], |
| "minCpuPlatform": "A String", # Name of the minimum CPU platform to be used by this instance selection. |
| # e.g. 'Intel Ice Lake'. |
| "rank": 42, # Preference of this instance selection. Lower number means higher |
| # preference. MIG will first try to create a VM based on the machine-type |
| # with lowest rank and fallback to next rank based on availability. |
| # Machine types and instance selections with the same rank have the same |
| # preference. |
| }, |
| }, |
| "instanceSelections": { # Named instance selections configuring properties that the group will use |
| # when creating new VMs. |
| "a_key": { |
| "disks": [ # List of disks to be attached to the instances created from this |
| # selection. |
| { # An instance-attached disk resource. |
| "architecture": "A String", # [Output Only] The architecture of the attached disk. Valid values are ARM64 |
| # or X86_64. |
| "autoDelete": True or False, # Specifies whether the disk will be auto-deleted when the instance is |
| # deleted (but not when the disk is detached from the instance). |
| "boot": True or False, # Indicates that this is a boot disk. The virtual machine will use the first |
| # partition of the disk for its root filesystem. |
| "deviceName": "A String", # Specifies a unique device name of your choice that is reflected into the/dev/disk/by-id/google-* tree of a Linux operating system |
| # running within the instance. This name can be used to reference the device |
| # for mounting, resizing, and so on, from within the instance. |
| # |
| # If not specified, the server chooses a default device name to apply to this |
| # disk, in the form persistent-disk-x, where x is a number |
| # assigned by Google Compute Engine. This field is only applicable for |
| # persistent disks. |
| "diskEncryptionKey": { # Encrypts or decrypts a disk using acustomer-supplied |
| # encryption key. |
| # |
| # If you are creating a new disk, this field encrypts the new disk using |
| # an encryption key that you provide. If you are attaching an existing |
| # disk that is already encrypted, this field decrypts the disk using |
| # the customer-supplied encryption key. |
| # |
| # If you encrypt a disk using a customer-supplied key, you must provide the |
| # same key again when you attempt to use this resource at a later time. For |
| # example, you must provide the key when you create a snapshot or an image |
| # from the disk or when you attach the disk to a virtual machine instance. |
| # |
| # If you do not provide an encryption key, then the disk will be encrypted |
| # using an automatically generated key and you do not need to provide a key |
| # to use the disk later. |
| # |
| # Note: |
| # |
| # Instance templates do not storecustomer-supplied |
| # encryption keys, so you cannot use your own keys to encrypt disks in amanaged instance group. |
| # |
| # You cannot create VMs that have disks with customer-supplied keys using |
| # the bulk |
| # insert method. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "diskSizeGb": "A String", # The size of the disk in GB. |
| "forceAttach": True or False, # [Input Only] Whether to force attach the regional disk even if it's |
| # currently attached to another instance. If you try to force attach a zonal |
| # disk to an instance, you will receive an error. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "index": 42, # [Output Only] A zero-based index to this disk, where 0 is reserved for the |
| # boot disk. If you have many disks attached to an instance, each |
| # disk would have a unique index number. |
| "initializeParams": { # [Input Only] Specifies the parameters for a new disk that will be created # [Input Only] Specifies the parameters for a new disk that will be created |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This field is persisted and returned for instanceTemplate and not returned |
| # in the context of instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| "architecture": "A String", # The architecture of the attached disk. Valid values are |
| # arm64 or x86_64. |
| "description": "A String", # An optional description. Provide this property when creating the disk. |
| "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name |
| # of the instance. If a disk with the same name already exists in the given |
| # region, the existing disk is attached to the new instance and the |
| # new disk is not created. |
| "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. The size must be at least |
| # 10 GB. If you specify a sourceImage, which is required for |
| # boot disks, the default size is the size of the sourceImage. |
| # If you do not specify a sourceImage, the default disk size |
| # is 500 GB. |
| "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, |
| # the default is pd-standard, specified using the full URL. |
| # For example: |
| # |
| # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard |
| # |
| # |
| # For a full list of acceptable values, seePersistent disk |
| # types. If you specify this field when creating a VM, you can provide |
| # either the full or partial URL. For example, the following values are |
| # valid: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType |
| # - projects/project/zones/zone/diskTypes/diskType |
| # - zones/zone/diskTypes/diskType |
| # |
| # |
| # If you specify this field when creating or updating an instance template |
| # or all-instances configuration, specify the type of the disk, not the |
| # URL. For example: pd-standard. |
| "enableConfidentialCompute": True or False, # Whether this disk is using confidential compute mode. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| # |
| # Guest OS features are applied by merginginitializeParams.guestOsFeatures anddisks.guestOsFeatures |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "interface": "A String", # [Deprecated] Specifies the disk interface to use for attaching this disk, |
| # which is either SCSI or NVME. The default isSCSI. |
| "labels": { # Labels to apply to this disk. These can be later modified by thedisks.setLabels method. This field is only applicable for |
| # persistent disks. |
| "a_key": "A String", |
| }, |
| "licenseCodes": [ # Integer license codes indicating which licenses are attached to this |
| # disk. |
| "A String", |
| ], |
| "licenses": [ # A list of publicly visible licenses. Reserved for Google's use. |
| "A String", |
| ], |
| "multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to |
| # more than one instance. |
| "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default |
| # is to use the existing disk. |
| "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number |
| # of I/O operations per second that the disk can handle. Values must be |
| # between 10,000 and 120,000. For more details, see theExtreme persistent |
| # disk documentation. |
| "provisionedThroughput": "A String", # Indicates how much throughput to provision for the disk. This sets the |
| # number of throughput mb per second that the disk can handle. Values must |
| # greater than or equal to 1. |
| "replicaZones": [ # Required for each regional disk associated with the instance. Specify |
| # the URLs of the zones where the disk should be replicated to. |
| # You must provide exactly two replica zones, and one zone must be the same |
| # as the instance zone. |
| "A String", |
| ], |
| "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values |
| # have the same definition as resource |
| # manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and |
| # values are in the format `tagValues/456`. The field is ignored (both PUT |
| # & PATCH) when empty. |
| "a_key": "A String", |
| }, |
| "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. |
| # Specified using the full or partial URL. For instance template, specify |
| # only the resource policy name. |
| "A String", |
| ], |
| "sourceImage": "A String", # The source image to create this disk. When creating a new instance boot |
| # disk, one of initializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # To create a disk with one of the public operating system |
| # images, specify the image by its family name. For example, specifyfamily/debian-9 to use the latest Debian 9 image: |
| # |
| # projects/debian-cloud/global/images/family/debian-9 |
| # |
| # |
| # Alternatively, use a specific version of a public operating system image: |
| # |
| # projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD |
| # |
| # |
| # To create a disk with a custom image that you created, specify the |
| # image name in the following format: |
| # |
| # global/images/my-custom-image |
| # |
| # |
| # You can also specify a custom image by its image family, which returns |
| # the latest version of the image in that family. Replace the image name |
| # with family/family-name: |
| # |
| # global/images/family/my-image-family |
| # |
| # |
| # If the source image is deleted later, this field will not be set. |
| "sourceImageEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source image. Required if the source image is |
| # protected by a customer-supplied encryption key. |
| # |
| # InstanceTemplate and InstancePropertiesPatch do not storecustomer-supplied |
| # encryption keys, so you cannot create disks for instances in a managed instance group if the |
| # source images are encrypted with your own keys. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "sourceInstantSnapshot": "A String", # The source instant-snapshot to create this disk. When creating a new |
| # instance boot disk, one of initializeParams.sourceSnapshot |
| # or initializeParams.sourceInstantSnapshotinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # us-central1-a/instantSnapshots/my-backup |
| # |
| # |
| # If the source instant-snapshot is deleted later, this field will not be |
| # set. |
| "sourceSnapshot": "A String", # The source snapshot to create this disk. When creating a new instance |
| # boot disk, one of initializeParams.sourceSnapshot orinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # global/snapshots/my-backup |
| # |
| # |
| # If the source snapshot is deleted later, this field will not be set. |
| # |
| # Note: You cannot create VMs in bulk using a snapshot as the source. Use |
| # an image instead when you create VMs using |
| # the bulk |
| # insert method. |
| "sourceSnapshotEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source snapshot. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "storagePool": "A String", # The storage pool in which the new disk is created. You can provide |
| # this as a partial or full URL to the resource. For example, the following |
| # are valid values: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/storagePools/storagePool |
| # - projects/project/zones/zone/storagePools/storagePool |
| # - zones/zone/storagePools/storagePool |
| }, |
| "interface": "A String", # Specifies the disk interface to use for attaching this disk, which is |
| # either SCSI or NVME. For most machine types, the |
| # default is SCSI. Local SSDs can use either NVME or SCSI. |
| # In certain configurations, persistent disks can use NVMe. For more |
| # information, seeAbout |
| # persistent disks. |
| "kind": "compute#attachedDisk", # [Output Only] Type of the resource. Alwayscompute#attachedDisk for attached disks. |
| "licenses": [ # [Output Only] Any valid publicly visible licenses. |
| "A String", |
| ], |
| "locked": True or False, # [Output Only] Whether to indicate the attached disk is locked. The locked |
| # disk is not allowed to be detached from the instance, or to be used as the |
| # source of the snapshot creation, and the image creation. The instance with |
| # at least one locked attached disk is not allow to be used as source of |
| # machine image creation, instant snapshot creation, and not allowed to be |
| # deleted with --keep-disk parameter set to true for locked disks. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the disk |
| # in READ_WRITE mode. |
| "savedState": "A String", # For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this |
| # field is set to PRESERVED if the LocalSSD data has been saved |
| # to a persistent location by customer request. (see the |
| # discard_local_ssd option on Stop/Suspend). |
| # Read-only in the api. |
| "shieldedInstanceInitialState": { # Initial State for shielded instance, # [Output Only] shielded vm initial state stored on disk |
| # these are public keys which are safe to store in public |
| "dbs": [ # The Key Database (db). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "dbxs": [ # The forbidden key database (dbx). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "keks": [ # The Key Exchange Key (KEK). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "pk": { # The Platform Key (PK). |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| }, |
| "source": "A String", # Specifies a valid partial or full URL to an existing Persistent Disk |
| # resource. When creating a new instance boot disk, one ofinitializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # If desired, you can also attach existing non-root persistent disks using |
| # this property. This field is only applicable for persistent disks. |
| # |
| # Note that for InstanceTemplate, specify the disk name for zonal disk, |
| # and the URL for regional disk. |
| "type": "A String", # Specifies the type of the disk, either SCRATCH orPERSISTENT. If not specified, the default isPERSISTENT. |
| "userLicenses": [ # [Output Only] A list of user provided licenses. It represents a list of |
| # URLs to the license resource. Unlike regular licenses, user provided |
| # licenses can be modified after the disk is created. |
| "A String", |
| ], |
| }, |
| ], |
| "machineTypes": [ # Full machine-type names, e.g. "n1-standard-16". |
| "A String", |
| ], |
| "minCpuPlatform": "A String", # Name of the minimum CPU platform to be used by this instance selection. |
| # e.g. 'Intel Ice Lake'. |
| "rank": 42, # Preference of this instance selection. Lower number means higher |
| # preference. MIG will first try to create a VM based on the machine-type |
| # with lowest rank and fallback to next rank based on availability. |
| # Machine types and instance selections with the same rank have the same |
| # preference. |
| }, |
| }, |
| "provisioningModelMix": { # Provisioning model configuration used by this managed instance group to |
| # create instances. |
| "standardCapacityBase": 42, # The base capacity that will always use Standard VMs to avoid risk of |
| # more preemption than the minimum capacity user needs. MIG will create |
| # only Standard VMs until it reaches standard_capacity_base and only |
| # then will start using standard_capacity_percent_above_base to mix Spot |
| # with Standard VMs. |
| "standardCapacityPercentAboveBase": 42, # The percentage of target capacity that should use Standard VM. The |
| # remaining percentage will use Spot VMs. The percentage applies only to |
| # the capacity above standard_capacity_base. |
| }, |
| }, |
| "instanceGroup": "A String", # [Output Only] The URL of the Instance Group resource. |
| "instanceLifecyclePolicy": { # The repair policy for this managed instance group. |
| "defaultActionOnFailure": "A String", # The action that a MIG performs on a failed VM. If the value of the onFailedHealthCheck field |
| # is `DEFAULT_ACTION`, then the same action also applies to the VMs on which your application |
| # fails a health check. Valid values are - REPAIR (default): MIG automatically repairs a failed |
| # VM by recreating it. For more information, see about repairing VMs in a MIG. - DO_NOTHING: MIG |
| # does not repair a failed VM. |
| "forceUpdateOnRepair": "A String", # A bit indicating whether to forcefully apply the group's latest |
| # configuration when repairing a VM. Valid options are: |
| # |
| # |
| # |
| # - NO (default): If configuration updates are available, they are not |
| # forcefully applied during repair. Instead, configuration updates are |
| # applied according to the group's update policy. |
| # |
| # - YES: If configuration updates are available, they are applied |
| # during repair. |
| "metadataBasedReadinessSignal": { # The configuration for metadata based readiness signal sent by the |
| # instance during initialization when stopping / suspending an instance. |
| # The Instance Group Manager will wait for a signal that indicates |
| # successful initialization before stopping / suspending an instance. |
| # |
| # If a successful readiness signal is not sent before timeout, the |
| # corresponding instance will not be stopped / suspended. Instead, |
| # an error will be visible in the lastAttempt.errors field of |
| # the managed instance in the listmanagedinstances |
| # method. |
| # |
| # If metadataBasedReadinessSignal.timeoutSec is unset, |
| # the Instance Group Manager will directly proceed to suspend / stop |
| # instances, skipping initialization on them. |
| "timeoutSec": 42, # The number of seconds to wait for a readiness signal during |
| # initialization before timing out. |
| }, |
| "onFailedHealthCheck": "A String", # The action that a MIG performs on an unhealthy VM. A VM is marked as |
| # unhealthy when the application running on that VM fails a health check. |
| # Valid values are: |
| # |
| # - DEFAULT_ACTION (default): MIG uses the same action |
| # configured for instanceLifecyclePolicy.defaultActionOnFailure field. |
| # - REPAIR: MIG automatically repairs an unhealthy VM by |
| # recreating it. |
| # - DO_NOTHING: MIG doesn't repair an unhealthy VM. |
| # For more information, see |
| # About repairing VMs in a MIG. |
| "onRepair": { # Configuration for VM repairs in the MIG. # Configuration for VM repairs in the MIG. |
| "allowChangingZone": "A String", # Specifies whether the MIG can change a VM's zone during a repair. |
| # Valid values are: |
| # |
| # - NO (default): MIG cannot change a VM's zone during a |
| # repair. |
| # - YES: MIG can select a different zone for the VM during |
| # a repair. |
| }, |
| }, |
| "instanceTemplate": "A String", # The URL of the instance template that is specified for this managed |
| # instance group. The group uses this template to create all new instances |
| # in the managed instance group. The templates for existing instances in the |
| # group do not change unless you run recreateInstances, runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE. |
| "kind": "compute#instanceGroupManager", # [Output Only] The resource type, which is alwayscompute#instanceGroupManager for managed instance groups. |
| "listManagedInstancesResults": "A String", # Pagination behavior of the listManagedInstances API method for |
| # this managed instance group. |
| "multiMig": "A String", # URL to the multi-MIG that this Managed Instance Group belongs to. |
| "name": "A String", # The name of the managed instance group. The name must be 1-63 characters |
| # long, and comply withRFC1035. |
| "namedPorts": [ # [Output Only] Named ports configured on the Instance Groups complementary |
| # to this Instance Group Manager. |
| { # The named port. For example: <"http", 80>. |
| "name": "A String", # The name for this named port. |
| # The name must be 1-63 characters long, and comply withRFC1035. |
| "port": 42, # The port number, which can be a value between 1 and 65535. |
| }, |
| ], |
| "params": { # Input only additional params for instance group manager creation. # Input only. Additional params passed with the request, but not persisted |
| # as part of resource payload. |
| "resourceManagerTags": { # Resource manager tags to bind to the managed instance group. The tags are |
| # key-value pairs. Keys must be in the format tagKeys/123 and values in the |
| # format tagValues/456. For more information, seeManage tags |
| # for resources. |
| "a_key": "A String", |
| }, |
| }, |
| "region": "A String", # [Output Only] The URL of theregion |
| # where the managed instance group resides (for regional resources). |
| "resourcePolicies": { # Resource policies for this managed instance group. |
| "workloadPolicy": "A String", # The URL of the workload policy that is specified for this managed |
| # instance group. |
| # It can be a full or partial URL. For example, the following are |
| # all valid URLs to a workload policy: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/regions/region/resourcePolicies/resourcePolicy |
| # - projects/project/regions/region/resourcePolicies/resourcePolicy |
| # - regions/region/resourcePolicies/resourcePolicy |
| }, |
| "satisfiesPzi": True or False, # [Output Only] Reserved for future use. |
| "satisfiesPzs": True or False, # [Output Only] Reserved for future use. |
| "selfLink": "A String", # [Output Only] The URL for this managed instance group. The server defines |
| # this URL. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "serviceAccount": "A String", # The service account to be used as credentials for all operations performed |
| # by the managed instance group on instances. The service accounts needs all |
| # permissions required to create and delete instances. |
| # By default, the service account |
| # {projectNumber}@cloudservices.gserviceaccount.com is used. |
| "standbyPolicy": { # Standby policy for stopped and suspended instances. |
| "initialDelaySec": 42, # Specifies the number of seconds that the MIG should wait to suspend or |
| # stop a VM after that VM was created. The initial delay gives the |
| # initialization script the time to prepare your VM for a quick scale out. |
| # The value of initial delay must be between 0 and 3600 seconds. The |
| # default value is 0. |
| "mode": "A String", # Defines how a MIG resumes or starts VMs from a standby pool when the |
| # group scales out. The default mode is `MANUAL`. |
| }, |
| "statefulPolicy": { # Stateful configuration for this Instanced Group Manager |
| "preservedState": { # Configuration of preserved resources. |
| "disks": { # Disks created on the instances that will be preserved on instance |
| # delete, update, etc. This map is keyed with the device names of |
| # the disks. |
| "a_key": { |
| "autoDelete": "A String", # These stateful disks will never be deleted during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the disk should be deleted after it |
| # is no longer used by the group, e.g. when the given instance or |
| # the whole group is deleted. Note: disks attached inREAD_ONLY mode cannot be auto-deleted. |
| }, |
| }, |
| "externalIPs": { # External network IPs assigned to the instances that will be preserved on |
| # instance delete, update, etc. This map is keyed with the network |
| # interface name. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| }, |
| }, |
| "internalIPs": { # Internal network IPs assigned to the instances that will be preserved on |
| # instance delete, update, etc. This map is keyed with the network |
| # interface name. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| }, |
| }, |
| }, |
| }, |
| "status": { # [Output Only] The status of this managed instance group. |
| "allInstancesConfig": { # [Output only] Status of all-instances configuration on the group. |
| "currentRevision": "A String", # [Output Only] Current all-instances configuration revision. |
| # This value is in RFC3339 text format. |
| "effective": True or False, # [Output Only] A bit indicating whether this configuration has |
| # been applied to all managed instances in the group. |
| }, |
| "autoscaler": "A String", # [Output Only] The URL of theAutoscaler |
| # that targets this instance group manager. |
| "bulkInstanceOperation": { # Bulk instance operation is the creation of VMs in a MIG when the # [Output Only] The status of bulk instance operation. |
| # targetSizePolicy.mode is set to BULK. |
| "inProgress": True or False, # [Output Only] Informs whether bulk instance operation is in progress. |
| "lastProgressCheck": { # [Output Only] Information from the last progress check of bulk instance |
| # operation. |
| "error": { # [Output Only] Errors encountered during bulk instance operation. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "timestamp": "A String", # [Output Only] Timestamp of the last progress check of bulk instance |
| # operation. Timestamp is in RFC3339 text format. |
| }, |
| }, |
| "isStable": True or False, # [Output Only] A bit indicating whether the managed instance group is in a |
| # stable state. A stable state means that: none of the instances in the |
| # managed instance group is currently undergoing any type of change (for |
| # example, creation, restart, or deletion); no future changes are scheduled |
| # for instances in the managed instance group; and the managed instance |
| # group itself is not being modified. |
| "stateful": { # [Output Only] Stateful status of the given Instance Group Manager. |
| "hasStatefulConfig": True or False, # [Output Only] A bit indicating whether the managed instance group |
| # has stateful configuration, that is, if you have configured any items |
| # in a stateful policy or in per-instance configs. |
| # The group might report that it has no stateful configuration even when |
| # there is still some preserved state on a managed instance, for example, |
| # if you have deleted all PICs but not yet applied those deletions. |
| "isStateful": True or False, # [Output Only] A bit indicating whether the managed instance group |
| # has stateful configuration, that is, if you have configured any items |
| # in a stateful policy or in per-instance configs. |
| # The group might report that it has no stateful configuration even when |
| # there is still some preserved state on a managed instance, for example, |
| # if you have deleted all PICs but not yet applied those deletions. This |
| # field is deprecated in favor of has_stateful_config. |
| "perInstanceConfigs": { # [Output Only] Status of per-instance configurations on the instances. |
| "allEffective": True or False, # A bit indicating if all of the group's per-instance configurations |
| # (listed in the output of a listPerInstanceConfigs API call) have |
| # status EFFECTIVE or there are no per-instance-configs. |
| }, |
| }, |
| "versionTarget": { # [Output Only] A status of consistency of Instances' versions with their |
| # target version specified by version field on Instance Group |
| # Manager. |
| "isReached": True or False, # [Output Only] A bit indicating whether version target has been reached |
| # in this managed instance group, i.e. all instances are in their target |
| # version. Instances' target version are specified byversion field on Instance Group Manager. |
| }, |
| }, |
| "targetPools": [ # The URLs for all TargetPool resources to which instances in theinstanceGroup field are added. The target pools automatically |
| # apply to all of the instances in the managed instance group. |
| "A String", |
| ], |
| "targetSize": 42, # The target number of running instances for this managed instance group. |
| # You can reduce this number by using the instanceGroupManager |
| # deleteInstances or abandonInstances methods. Resizing the group also |
| # changes this number. |
| "targetSizePolicy": { # The policy that specifies how the MIG creates its VMs to achieve the target |
| # size. |
| "mode": "A String", # The mode of target size policy based on which the MIG creates its VMs |
| # individually or all at once. |
| }, |
| "targetSizeUnit": "A String", # The unit of measure for the target size. |
| "targetStoppedSize": 42, # The target number of stopped instances for this managed instance group. |
| # This number changes when you: |
| # |
| # - Stop instance using the stopInstances |
| # method or start instances using the startInstances |
| # method. |
| # - Manually change the targetStoppedSize using the update |
| # method. |
| "targetSuspendedSize": 42, # The target number of suspended instances for this managed instance group. |
| # This number changes when you: |
| # |
| # - Suspend instance using the suspendInstances |
| # method or resume instances using the resumeInstances |
| # method. |
| # - Manually change the targetSuspendedSize using the update |
| # method. |
| "updatePolicy": { # The update policy for this managed instance group. |
| "instanceRedistributionType": "A String", # The |
| # instance redistribution policy for regional managed instance groups. |
| # Valid values are: |
| # |
| # - PROACTIVE (default): The group attempts to maintain an |
| # even distribution of VM instances across zones in the region. |
| # - NONE: For non-autoscaled groups, proactive |
| # redistribution is disabled. |
| "maxSurge": { # Encapsulates numeric value that can be either absolute or relative. # The maximum number of instances that can be created above the specifiedtargetSize during the update process. This value can be |
| # either a fixed number or, if the group has 10 or more instances, a |
| # percentage. If you set a percentage, the number of instances is rounded |
| # if necessary. The default value for maxSurge is a fixed |
| # value equal to the number of zones in which the managed instance group |
| # operates. |
| # |
| # At least one of either maxSurge ormaxUnavailable must be greater than 0. Learn more about maxSurge. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| "maxUnavailable": { # Encapsulates numeric value that can be either absolute or relative. # The maximum number of instances that can be unavailable during the update |
| # process. An instance is considered available if all of the following |
| # conditions are satisfied: |
| # |
| # |
| # |
| # - The instance's status is |
| # RUNNING. |
| # - If there is a health |
| # check on the instance group, the instance's health check status |
| # must be HEALTHY at least once. If there is no health check |
| # on the group, then the instance only needs to have a status of |
| # RUNNING to be considered available. |
| # |
| # |
| # This value can be either a fixed number or, if the group has 10 or more |
| # instances, a percentage. If you set a percentage, the number of instances |
| # is rounded if necessary. The default value formaxUnavailable is a fixed value equal to the number of zones |
| # in which the managed instance group operates. |
| # |
| # At least one of either maxSurge ormaxUnavailable must be greater than 0. Learn more about maxUnavailable. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| "minReadySec": 42, # Minimum number of seconds to wait for after a newly created instance |
| # becomes available. This value must be from range [0, 3600]. |
| "minimalAction": "A String", # Minimal action to be taken on an instance. Use this option to minimize |
| # disruption as much as possible or to apply a more disruptive action than |
| # is necessary. |
| # |
| # - To limit disruption as much as possible, set the minimal action toREFRESH. If your update requires a more disruptive action, |
| # Compute Engine performs the necessary action to execute the update. |
| # - To apply a more disruptive action than is strictly necessary, set the |
| # minimal action to RESTART or REPLACE. For |
| # example, Compute Engine does not need to restart a VM to change its |
| # metadata. But if your application reads instance metadata only when a VM |
| # is restarted, you can set the minimal action to RESTART in |
| # order to pick up metadata changes. |
| "mostDisruptiveAllowedAction": "A String", # Most disruptive action that is allowed to be taken on an instance. |
| # You can specify either NONE to forbid any actions,REFRESH to avoid restarting the VM and to limit disruption |
| # as much as possible. RESTART to allow actions that can be |
| # applied without instance replacing or REPLACE to allow all |
| # possible actions. If the Updater determines that the minimal update |
| # action needed is more disruptive than most disruptive allowed action you |
| # specify it will not perform the update at all. |
| "replacementMethod": "A String", # What action should be used to replace instances. |
| # See minimal_action.REPLACE |
| "type": "A String", # The type |
| # of update process. You can specify either PROACTIVE so |
| # that the MIG automatically updates VMs to the latest configurations orOPPORTUNISTIC so that you can select the VMs that you want |
| # to update. |
| }, |
| "versions": [ # Specifies the instance templates used by this managed instance group to |
| # create instances. |
| # |
| # Each version is defined by an instanceTemplate and aname. Every version can appear at most once per instance |
| # group. This field overrides the top-level instanceTemplate |
| # field. Read more about therelationships |
| # between these fields. Exactly one version must leave thetargetSize field unset. That version will be applied to all |
| # remaining instances. For more information, read aboutcanary |
| # updates. |
| { |
| "instanceTemplate": "A String", # The URL of the instance template that is specified for this managed |
| # instance group. The group uses this template to create new instances in |
| # the managed instance group until the `targetSize` for this version is |
| # reached. The templates for existing instances in the group do not change |
| # unless you run recreateInstances, runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE; in those cases, |
| # existing instances are updated until the `targetSize` for this version is |
| # reached. |
| "name": "A String", # Name of the version. Unique among all versions in the scope of this |
| # managed instance group. |
| "tag": "A String", # Tag describing the version. Used to trigger rollout of a target version |
| # even if instance_template remains unchanged. |
| # Deprecated in favor of 'name'. |
| "targetSize": { # Encapsulates numeric value that can be either absolute or relative. # Specifies the intended number of instances to be created from theinstanceTemplate. The final number of instances created |
| # from the template will be equal to: |
| # |
| # |
| # - If expressed as a fixed number, the minimum of either |
| # targetSize.fixed or |
| # instanceGroupManager.targetSize is used. |
| # - if expressed as a percent, the targetSize |
| # would be (targetSize.percent/100 * |
| # InstanceGroupManager.targetSize) If there is a remainder, the |
| # number is rounded. |
| # |
| # If unset, this version will update any remaining instances not |
| # updated by another version. ReadStarting |
| # a canary update for more information. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of azone |
| # where the managed instance group is located (for zonal resources). |
| } |
| |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. This |
| prevents clients from accidentally creating duplicate commitments. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="patchPerInstanceConfigs">patchPerInstanceConfigs(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</code> |
| <pre>Inserts or patches per-instance configurations for the managed instance |
| group. perInstanceConfig.name serves as a key used to |
| distinguish whether to perform insert or patch. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone |
| where the managed instance group is located. |
| It should conform to RFC1035. (required) |
| instanceGroupManager: string, The name of the managed instance group. |
| It should conform to RFC1035. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { # InstanceGroupManagers.patchPerInstanceConfigs |
| "perInstanceConfigs": [ # The list of per-instance configurations to insert or patch on this managed |
| # instance group. |
| { |
| "fingerprint": "A String", # Fingerprint of this per-instance config. This field can be used in |
| # optimistic locking. It is ignored when inserting a per-instance |
| # config. An up-to-date fingerprint must be provided in order to update an |
| # existing per-instance configuration or the field needs to be unset. |
| "name": "A String", # The name of a per-instance configuration and its corresponding instance. |
| # Serves as a merge key during UpdatePerInstanceConfigs |
| # operations, that is, if a per-instance configuration with the same name |
| # exists then it will be updated, otherwise a new one will be created for the |
| # VM instance with the same name. An attempt to create a per-instance |
| # configuration for a VM instance that either doesn't exist or is not part |
| # of the group will result in an error. |
| "preservedState": { # Preserved state for a given instance. # The intended preserved state for the given instance. Does not contain |
| # preserved state generated from a stateful policy. |
| "disks": { # Preserved disks defined for this instance. |
| # This map is keyed with the device names of the disks. |
| "a_key": { |
| "autoDelete": "A String", # These stateful disks will never be deleted during autohealing, |
| # update, instance recreate operations. This flag is used to configure |
| # if the disk should be deleted after it is no longer used by the group, |
| # e.g. when the given instance or the whole MIG is deleted. |
| # Note: disks attached in READ_ONLY mode cannot be |
| # auto-deleted. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the |
| # disk in READ_WRITE mode. |
| "source": "A String", # The URL of the disk resource that is stateful and should be attached |
| # to the VM instance. |
| }, |
| }, |
| "externalIPs": { # Preserved external IPs defined for this instance. |
| # This map is keyed with the name of the network interface. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| "ipAddress": { # Ip address representation |
| "address": "A String", # The URL of the reservation for this IP address. |
| "literal": "A String", # An IPv4 internal network address to assign to the instance for this |
| # network interface. |
| }, |
| }, |
| }, |
| "internalIPs": { # Preserved internal IPs defined for this instance. |
| # This map is keyed with the name of the network interface. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| "ipAddress": { # Ip address representation |
| "address": "A String", # The URL of the reservation for this IP address. |
| "literal": "A String", # An IPv4 internal network address to assign to the instance for this |
| # network interface. |
| }, |
| }, |
| }, |
| "metadata": { # Preserved metadata defined for this instance. |
| "a_key": "A String", |
| }, |
| }, |
| "status": "A String", # The status of applying this per-instance configuration on the corresponding |
| # managed instance. |
| }, |
| ], |
| } |
| |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. This |
| prevents clients from accidentally creating duplicate commitments. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="recreateInstances">recreateInstances(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</code> |
| <pre>Flags the specified VM instances in the managed instance group to be |
| immediately recreated. Each instance is recreated using the group's current |
| configuration. This operation is marked as DONE when the flag |
| is set even if the instances have not yet been recreated. You must |
| separately verify the status of each instance by checking itscurrentAction field; for more information, see Checking |
| the status of managed instances. |
| |
| If the group is part of a backend |
| service that has enabled |
| connection draining, it can take up to 60 seconds after the connection |
| draining duration has elapsed before the VM instance is removed or deleted. |
| |
| You can specify a maximum of 1000 instances with this method per request. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone where the managed |
| instance group is located. (required) |
| instanceGroupManager: string, The name of the managed instance group. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { |
| "instances": [ # The URLs of one or more instances to recreate. This can be a full URL or |
| # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. |
| "A String", |
| ], |
| } |
| |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. This |
| prevents clients from accidentally creating duplicate commitments. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="resize">resize(project, zone, instanceGroupManager, size, requestId=None, x__xgafv=None)</code> |
| <pre>Resizes the managed instance group. If you increase the size, the group |
| creates new instances using the current instance template. If you decrease |
| the size, the group deletes instances. The resize operation is markedDONE when the resize actions are scheduled even if the group |
| has not yet added or deleted any instances. You must separately |
| verify the status of the creating or deleting |
| actions with thelistmanagedinstances |
| method. |
| |
| When resizing down, the instance group arbitrarily chooses the order in |
| which VMs are deleted. The group takes into account some VM attributes when |
| making the selection including: |
| |
| + The status of the VM instance. |
| + The health of the VM instance. |
| + The instance template version the VM is based on. |
| + For regional managed instance groups, the location of the VM instance. |
| |
| This list is subject to change. |
| |
| If the group is part of a backend |
| service that has enabled |
| connection draining, it can take up to 60 seconds after the connection |
| draining duration has elapsed before the VM instance is removed or deleted. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone where the managed |
| instance group is located. (required) |
| instanceGroupManager: string, The name of the managed instance group. (required) |
| size: integer, The number of running instances that the managed instance group should |
| maintain at any given time. The group automatically adds or removes |
| instances to maintain the number of instances specified by this parameter. (required) |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. This |
| prevents clients from accidentally creating duplicate commitments. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="resizeAdvanced">resizeAdvanced(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</code> |
| <pre>Resizes the managed instance group with advanced configuration options like |
| disabling creation retries. This is an extended version of theresize method. |
| |
| If you increase the size of the instance group, the group creates new |
| instances using the current instance template. If you decrease the size, |
| the group deletes instances. The resize operation is markedDONE when the resize actions are scheduled even if the group |
| has not yet added or deleted any instances. You must separately |
| verify the status of the creating,creatingWithoutRetries, or deleting actions with |
| the get |
| orlistmanagedinstances |
| method. |
| |
| If the group is part of a backend |
| service that has enabled |
| connection draining, it can take up to 60 seconds after the connection |
| draining duration has elapsed before the VM instance is removed or deleted. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone where the managed |
| instance group is located. (required) |
| instanceGroupManager: string, The name of the managed instance group. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { |
| "noCreationRetries": True or False, # If this flag is true, the managed instance group attempts to create all |
| # instances initiated by this resize request only once. If there is an error |
| # during creation, the managed instance group does not retry create this |
| # instance, and we will decrease the targetSize of the request |
| # instead. If the flag is false, the group attempts to recreate each instance |
| # continuously until it succeeds. |
| # |
| # This flag matters only in the first attempt of creation of an instance. |
| # After an instance is successfully created while this flag is enabled, the |
| # instance behaves the same way as all the other instances created with a |
| # regular resize request. In particular, if a running instance dies |
| # unexpectedly at a later time and needs to be recreated, this mode does not |
| # affect the recreation behavior in that scenario. |
| # |
| # This flag is applicable only to the current resize request. It does not |
| # influence other resize requests in any way. |
| # |
| # You can see which instances is being creating in which mode by calling |
| # the get or listManagedInstances API. |
| "targetSize": 42, # The number of running instances that the managed instance group should |
| # maintain at any given time. The group automatically adds or removes |
| # instances to maintain the number of instances specified by this parameter. |
| } |
| |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. This |
| prevents clients from accidentally creating duplicate commitments. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="resumeInstances">resumeInstances(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</code> |
| <pre>Flags the specified instances in the managed instance group to be |
| resumed. This method increases thetargetSize and decreases the targetSuspendedSize |
| of the managed instance group by the number of instances that you resume. |
| The resumeInstances operation is marked DONE if |
| the resumeInstances request is successful. The underlying |
| actions take additional time. You must separately verify the status of theRESUMING action with thelistmanagedinstances |
| method. |
| |
| In this request, you can only specify instances that are suspended. For |
| example, if an instance was previously suspended using the suspendInstances |
| method, it can be resumed using the resumeInstances method. |
| |
| If a health check is attached to the managed instance group, the specified |
| instances will be verified as healthy after they are resumed. |
| |
| You can specify a maximum of 1000 instances with this method per request. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone where the managed |
| instance group is located. (required) |
| instanceGroupManager: string, The name of the managed instance group. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { |
| "instances": [ # The URLs of one or more instances to resume. This can be a full URL or |
| # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. |
| "A String", |
| ], |
| } |
| |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. This |
| prevents clients from accidentally creating duplicate commitments. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="setAutoHealingPolicies">setAutoHealingPolicies(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</code> |
| <pre>Motifies the autohealing policy for the instances in this managed |
| instance group. |
| [Deprecated] This method is deprecated. UseinstanceGroupManagers.patch instead. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone where the managed |
| instance group is located. (required) |
| instanceGroupManager: string, The name of the instance group manager. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { |
| "autoHealingPolicies": [ |
| { |
| "autoHealingTriggers": { # Restricts what triggers autohealing. |
| "onHealthCheck": "A String", # If you have configured an application-based health check for the group, |
| # this field controls whether to trigger VM autohealing based on a failed |
| # health check. Valid values are: |
| # |
| # - ON (default): The group recreates running VMs that |
| # fail the application-based health check. |
| # - OFF: When set to OFF, you can still observe instance |
| # health state, but the group does not recreate VMs that fail the |
| # application-based health check. This is useful for troubleshooting and |
| # setting up your health check configuration. |
| }, |
| "healthCheck": "A String", # The URL for the health check that signals autohealing. |
| "initialDelaySec": 42, # The initial delay is the number of seconds that a new VM takes to |
| # initialize and run its startup script. During a VM's initial delay |
| # period, the MIG ignores unsuccessful health checks because the VM might |
| # be in the startup process. This prevents the MIG from prematurely |
| # recreating a VM. If the health check receives a healthy response during |
| # the initial delay, it indicates that the startup process is complete and |
| # the VM is ready. The value of initial delay must be between 0 and 3600 |
| # seconds. The default value is 0. |
| "maxUnavailable": { # Encapsulates numeric value that can be either absolute or relative. # Maximum number of instances that can be unavailable when autohealing. |
| # When 'percent' is used, the value is rounded if necessary. |
| # The instance is considered available if all of the following conditions |
| # are satisfied: |
| # 1. Instance's status is RUNNING. |
| # 2. Instance's currentAction is NONE (in particular its liveness health |
| # check result was observed to be HEALTHY at least once as it passed |
| # VERIFYING). |
| # 3. There is no outgoing action on an instance triggered by IGM. |
| # |
| # By default, number of concurrently autohealed instances is smaller than |
| # the managed instance group target size. However, if a zonal managed |
| # instance group has only one instance, or a regional managed instance |
| # group has only one instance per zone, autohealing will recreate these |
| # instances when they become unhealthy. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| }, |
| ], |
| } |
| |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. This |
| prevents clients from accidentally creating duplicate commitments. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="setInstanceTemplate">setInstanceTemplate(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</code> |
| <pre>Specifies the instance template to use when creating new instances in this |
| group. The templates for existing instances in the group do not change |
| unless you run recreateInstances, runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone where the managed |
| instance group is located. (required) |
| instanceGroupManager: string, The name of the managed instance group. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { |
| "instanceTemplate": "A String", # The URL of the instance template that is specified for this managed |
| # instance group. The group uses this template to create all new instances |
| # in the managed instance group. The templates for existing instances in the |
| # group do not change unless you run recreateInstances, runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE. |
| } |
| |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. This |
| prevents clients from accidentally creating duplicate commitments. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="setTargetPools">setTargetPools(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</code> |
| <pre>Modifies the target pools to which all instances in this managed instance |
| group are assigned. The target pools automatically apply to all of the |
| instances in the managed instance group. This operation is markedDONE when you make the request even if the instances have not |
| yet been added to their target pools. The change might take some time to |
| apply to all of the instances in the group depending on the size of the |
| group. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone where the managed |
| instance group is located. (required) |
| instanceGroupManager: string, The name of the managed instance group. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { |
| "fingerprint": "A String", # The fingerprint of the target pools information. Use this optional |
| # property to prevent conflicts when multiple users change the target pools |
| # settings concurrently. Obtain the fingerprint with theinstanceGroupManagers.get |
| # method. Then, include the fingerprint in your request to ensure that you |
| # do not overwrite changes that were applied from another |
| # concurrent request. |
| "targetPools": [ # The list of target pool URLs that instances in this managed instance group |
| # belong to. The managed instance group applies these target pools to all |
| # of the instances in the group. Existing instances and new instances in the |
| # group all receive these target pool settings. |
| "A String", |
| ], |
| } |
| |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. This |
| prevents clients from accidentally creating duplicate commitments. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="startInstances">startInstances(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</code> |
| <pre>Flags the specified instances in the managed instance group to be |
| started. This method increases thetargetSize and decreases the targetStoppedSize |
| of the managed instance group by the number of instances that you start. |
| The startInstances operation is marked DONE if |
| the startInstances request is successful. The underlying |
| actions take additional time. You must separately verify the status of theSTARTING action with thelistmanagedinstances |
| method. |
| |
| In this request, you can only specify instances that are stopped. For |
| example, if an instance was previously stopped using the stopInstances |
| method, it can be started using the startInstances method. |
| |
| If a health check is attached to the managed instance group, the specified |
| instances will be verified as healthy after they are started. |
| |
| You can specify a maximum of 1000 instances with this method per request. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone where the managed |
| instance group is located. (required) |
| instanceGroupManager: string, The name of the managed instance group. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { |
| "instances": [ # The URLs of one or more instances to start. This can be a full URL or |
| # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. |
| "A String", |
| ], |
| } |
| |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. This |
| prevents clients from accidentally creating duplicate commitments. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="stopInstances">stopInstances(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</code> |
| <pre>Flags the specified instances in the managed instance group to be |
| immediately stopped. You can only specify instances that are running in |
| this request. This method reduces thetargetSize and increases the targetStoppedSize |
| of the managed instance group by the number of instances that you stop. |
| The stopInstances operation is marked DONE if |
| the stopInstances request is successful. The underlying |
| actions take additional time. You must separately verify the status of theSTOPPING action with thelistmanagedinstances |
| method. |
| |
| If the standbyPolicy.initialDelaySec field is set, the group |
| delays stopping the instances until initialDelaySec have |
| passed from instance.creationTimestamp (that is, when the |
| instance was created). This delay gives your application time to |
| set itself up and initialize on the instance. If more thaninitialDelaySec seconds have passed sinceinstance.creationTimestamp when this method is called, there |
| will be zero delay. |
| |
| If the group is part of a backend |
| service that has enabled |
| connection draining, it can take up to 60 seconds after the connection |
| draining duration has elapsed before the VM instance is stopped. |
| |
| Stopped instances can be started using the startInstances |
| method. |
| |
| You can specify a maximum of 1000 instances with this method per request. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone where the managed |
| instance group is located. (required) |
| instanceGroupManager: string, The name of the managed instance group. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { |
| "forceStop": True or False, # If this flag is set to true, the Instance Group Manager will proceed to |
| # stop the instances, skipping initialization on them. |
| "instances": [ # The URLs of one or more instances to stop. This can be a full URL or |
| # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. |
| "A String", |
| ], |
| } |
| |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. This |
| prevents clients from accidentally creating duplicate commitments. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="suspendInstances">suspendInstances(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</code> |
| <pre>Flags the specified instances in the managed instance group to be |
| immediately suspended. You can only specify instances that are running in |
| this request. This method reduces thetargetSize and increases the targetSuspendedSize |
| of the managed instance group by the number of instances that you suspend. |
| The suspendInstances operation is marked DONE if |
| the suspendInstances request is successful. The underlying |
| actions take additional time. You must separately verify the status of theSUSPENDING action with thelistmanagedinstances |
| method. |
| |
| If the standbyPolicy.initialDelaySec field is set, the group |
| delays suspension of the instances until initialDelaySec have |
| passed from instance.creationTimestamp (that is, when the |
| instance was created). This delay gives your application time to |
| set itself up and initialize on the instance. If more thaninitialDelaySec seconds have passed sinceinstance.creationTimestamp when this method is called, there |
| will be zero delay. |
| |
| If the group is part of a backend |
| service that has enabled |
| connection draining, it can take up to 60 seconds after the connection |
| draining duration has elapsed before the VM instance is suspended. |
| |
| Suspended instances can be resumed using the resumeInstances |
| method. |
| |
| You can specify a maximum of 1000 instances with this method per request. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone where the managed |
| instance group is located. (required) |
| instanceGroupManager: string, The name of the managed instance group. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { |
| "forceSuspend": True or False, # If this flag is set to true, the Instance Group Manager will proceed to |
| # suspend the instances, skipping initialization on them. |
| "instances": [ # The URLs of one or more instances to suspend. This can be a full URL or |
| # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. |
| "A String", |
| ], |
| } |
| |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. This |
| prevents clients from accidentally creating duplicate commitments. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="testIamPermissions">testIamPermissions(project, zone, resource, body=None, x__xgafv=None)</code> |
| <pre>Returns permissions that a caller has on the specified resource. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of the zone for this request. (required) |
| resource: string, Name or id of the resource for this request. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { |
| "permissions": [ # The set of permissions to check for the 'resource'. Permissions with |
| # wildcards (such as '*' or 'storage.*') are not allowed. |
| "A String", |
| ], |
| } |
| |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { |
| "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is |
| # allowed. |
| "A String", |
| ], |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="update">update(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</code> |
| <pre>Updates a managed instance group using the information that you specify |
| in the request. |
| This operation is marked as DONE when the group is updated |
| even if the instances in the group have not yet been updated. You must |
| separately verify the status of the individual instances with thelistManagedInstances |
| method. |
| |
| If you update your group to specify a new template or instance |
| configuration, it's possible that your intended specification for each VM |
| in the group is different from the current state of that VM. To learn how |
| to apply an updated configuration to the VMs in a MIG, seeUpdating instances in |
| a MIG. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of the zone |
| where you want to create the managed instance group. (required) |
| instanceGroupManager: string, The name of the instance group manager. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { # Represents a Managed Instance Group resource. |
| # |
| # An instance group is a collection of VM instances that you can manage as a |
| # single entity. For more information, readInstance groups. |
| # |
| # For zonal Managed Instance Group, use the instanceGroupManagers |
| # resource. |
| # |
| # For regional Managed Instance Group, use theregionInstanceGroupManagers resource. |
| "allInstancesConfig": { # Specifies configuration that overrides the instance template configuration |
| # for the group. |
| "properties": { # Represents the change that you want to make to the instance properties. # Properties to set on all instances in the group. |
| # |
| # You can add or modify properties using theinstanceGroupManagers.patch orregionInstanceGroupManagers.patch. After settingallInstancesConfig on the group, you must update the group's |
| # instances to apply the configuration. To apply the configuration, set the |
| # group's updatePolicy.type field to use proactive updates or |
| # use the applyUpdatesToInstances method. |
| "labels": { # The label key-value pairs that you want to patch onto the instance. |
| "a_key": "A String", |
| }, |
| "metadata": { # The metadata key-value pairs that you want to patch onto the instance. For |
| # more information, see Project and |
| # instance metadata. |
| "a_key": "A String", |
| }, |
| }, |
| }, |
| "autoHealingPolicies": [ # The autohealing policy for this managed instance group. You can specify |
| # only one value. |
| { |
| "autoHealingTriggers": { # Restricts what triggers autohealing. |
| "onHealthCheck": "A String", # If you have configured an application-based health check for the group, |
| # this field controls whether to trigger VM autohealing based on a failed |
| # health check. Valid values are: |
| # |
| # - ON (default): The group recreates running VMs that |
| # fail the application-based health check. |
| # - OFF: When set to OFF, you can still observe instance |
| # health state, but the group does not recreate VMs that fail the |
| # application-based health check. This is useful for troubleshooting and |
| # setting up your health check configuration. |
| }, |
| "healthCheck": "A String", # The URL for the health check that signals autohealing. |
| "initialDelaySec": 42, # The initial delay is the number of seconds that a new VM takes to |
| # initialize and run its startup script. During a VM's initial delay |
| # period, the MIG ignores unsuccessful health checks because the VM might |
| # be in the startup process. This prevents the MIG from prematurely |
| # recreating a VM. If the health check receives a healthy response during |
| # the initial delay, it indicates that the startup process is complete and |
| # the VM is ready. The value of initial delay must be between 0 and 3600 |
| # seconds. The default value is 0. |
| "maxUnavailable": { # Encapsulates numeric value that can be either absolute or relative. # Maximum number of instances that can be unavailable when autohealing. |
| # When 'percent' is used, the value is rounded if necessary. |
| # The instance is considered available if all of the following conditions |
| # are satisfied: |
| # 1. Instance's status is RUNNING. |
| # 2. Instance's currentAction is NONE (in particular its liveness health |
| # check result was observed to be HEALTHY at least once as it passed |
| # VERIFYING). |
| # 3. There is no outgoing action on an instance triggered by IGM. |
| # |
| # By default, number of concurrently autohealed instances is smaller than |
| # the managed instance group target size. However, if a zonal managed |
| # instance group has only one instance, or a regional managed instance |
| # group has only one instance per zone, autohealing will recreate these |
| # instances when they become unhealthy. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| }, |
| ], |
| "baseInstanceName": "A String", # The base instance name is a prefix that you want to attach to the names of |
| # all VMs in a MIG. The maximum character length is 58 and the name must |
| # comply with RFC1035 format. |
| # |
| # When a VM is created in the group, the MIG appends a hyphen and a random |
| # four-character string to the base instance name. If you want the MIG to |
| # assign sequential numbers instead of a random string, then end the base |
| # instance name with a hyphen followed by one or more hash symbols. The hash |
| # symbols indicate the number of digits. For example, a base instance name of |
| # "vm-###" results in "vm-001" as a VM name. |
| # @pattern |
| # [a-z](([-a-z0-9]{0,57})|([-a-z0-9]{0,51}-#{1,10}(\\[[0-9]{1,10}\\])?)) |
| "creationTimestamp": "A String", # [Output Only] The creation timestamp for this managed instance group inRFC3339 |
| # text format. |
| "currentActions": { # [Output Only] The list of instance actions and the number of instances |
| # in this managed instance group that are scheduled for each of those |
| # actions. |
| "abandoning": 42, # [Output Only] The total number of instances in the managed instance group |
| # that are scheduled to be abandoned. Abandoning an instance removes it |
| # from the managed instance group without deleting it. |
| "creating": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be created or are currently being created. If the group |
| # fails to create any of these instances, it tries again until it creates |
| # the instance successfully. |
| # |
| # If you have disabled creation retries, this field will not be populated; |
| # instead, the creatingWithoutRetries field will be populated. |
| "creatingAtomically": 42, # [Output Only] The number of instances that the managed instance group |
| # will attempt to create atomically, in a batch mode. If the desired count |
| # of instances can not be created, entire batch will be deleted and the |
| # group will decrease its targetSize value accordingly. |
| "creatingWithoutRetries": 42, # [Output Only] The number of instances that the managed instance group |
| # will attempt to create. The group attempts to create each instance |
| # only once. If the group fails to create any of these instances, it |
| # decreases the group's targetSize value accordingly. |
| "deleting": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be deleted or are currently being deleted. |
| "none": 42, # [Output Only] The number of instances in the managed instance group that |
| # are running and have no scheduled actions. |
| "queuing": 42, # [Output Only] The number of instances that the managed instance group |
| # is currently queuing. |
| "recreating": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be recreated or are currently being being recreated. |
| # Recreating an instance deletes the existing root persistent disk |
| # and creates a new disk from the image that is defined in the |
| # instance template. |
| "refreshing": 42, # [Output Only] The number of instances in the managed instance group that |
| # are being reconfigured with properties that do not require a restart |
| # or a recreate action. For example, setting or removing target |
| # pools for the instance. |
| "restarting": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be restarted or are currently being restarted. |
| "resuming": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be resumed or are currently being resumed. |
| "starting": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be started or are currently being started. |
| "stopping": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be stopped or are currently being stopped. |
| "suspending": 42, # [Output Only] The number of instances in the managed instance group that |
| # are scheduled to be suspended or are currently being suspended. |
| "verifying": 42, # [Output Only] The number of instances in the managed instance group that |
| # are being verified. See the managedInstances[].currentAction |
| # property in the listManagedInstances method documentation. |
| }, |
| "description": "A String", # An optional description of this resource. |
| "distributionPolicy": { # Policy specifying the intended distribution of managed instances across |
| # zones in a regional managed instance group. |
| "targetShape": "A String", # The distribution shape to which the group converges either proactively or |
| # on resize events (depending on the value set inupdatePolicy.instanceRedistributionType). |
| "zones": [ # Zones where the regional managed instance group will create and manage |
| # its instances. |
| { |
| "zone": "A String", # The URL of thezone. |
| # The zone must exist in the region where the managed instance group is |
| # located. |
| }, |
| ], |
| }, |
| "failoverAction": "A String", # The action to perform in case of zone failure. Only one value is supported,NO_FAILOVER. The default is NO_FAILOVER. |
| "fingerprint": "A String", # Fingerprint of this resource. This field may be used in optimistic locking. |
| # It will be ignored when inserting an InstanceGroupManager. An up-to-date |
| # fingerprint must be provided in order to update the InstanceGroupManager, |
| # otherwise the request will fail with error412 conditionNotMet. |
| # |
| # To see the latest fingerprint, make a get() request to |
| # retrieve an InstanceGroupManager. |
| "id": "A String", # [Output Only] A unique identifier for this resource type. The server |
| # generates this identifier. |
| "instanceFlexibilityPolicy": { # Instance flexibility allowing MIG to create VMs from multiple |
| # types of machines. |
| # Instance flexibility configuration on MIG overrides instance |
| # template configuration. |
| "instanceSelectionLists": { # Named instance selections configuring properties that the group will use |
| # when creating new VMs. |
| "a_key": { |
| "disks": [ # List of disks to be attached to the instances created from this |
| # selection. |
| { # An instance-attached disk resource. |
| "architecture": "A String", # [Output Only] The architecture of the attached disk. Valid values are ARM64 |
| # or X86_64. |
| "autoDelete": True or False, # Specifies whether the disk will be auto-deleted when the instance is |
| # deleted (but not when the disk is detached from the instance). |
| "boot": True or False, # Indicates that this is a boot disk. The virtual machine will use the first |
| # partition of the disk for its root filesystem. |
| "deviceName": "A String", # Specifies a unique device name of your choice that is reflected into the/dev/disk/by-id/google-* tree of a Linux operating system |
| # running within the instance. This name can be used to reference the device |
| # for mounting, resizing, and so on, from within the instance. |
| # |
| # If not specified, the server chooses a default device name to apply to this |
| # disk, in the form persistent-disk-x, where x is a number |
| # assigned by Google Compute Engine. This field is only applicable for |
| # persistent disks. |
| "diskEncryptionKey": { # Encrypts or decrypts a disk using acustomer-supplied |
| # encryption key. |
| # |
| # If you are creating a new disk, this field encrypts the new disk using |
| # an encryption key that you provide. If you are attaching an existing |
| # disk that is already encrypted, this field decrypts the disk using |
| # the customer-supplied encryption key. |
| # |
| # If you encrypt a disk using a customer-supplied key, you must provide the |
| # same key again when you attempt to use this resource at a later time. For |
| # example, you must provide the key when you create a snapshot or an image |
| # from the disk or when you attach the disk to a virtual machine instance. |
| # |
| # If you do not provide an encryption key, then the disk will be encrypted |
| # using an automatically generated key and you do not need to provide a key |
| # to use the disk later. |
| # |
| # Note: |
| # |
| # Instance templates do not storecustomer-supplied |
| # encryption keys, so you cannot use your own keys to encrypt disks in amanaged instance group. |
| # |
| # You cannot create VMs that have disks with customer-supplied keys using |
| # the bulk |
| # insert method. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "diskSizeGb": "A String", # The size of the disk in GB. |
| "forceAttach": True or False, # [Input Only] Whether to force attach the regional disk even if it's |
| # currently attached to another instance. If you try to force attach a zonal |
| # disk to an instance, you will receive an error. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "index": 42, # [Output Only] A zero-based index to this disk, where 0 is reserved for the |
| # boot disk. If you have many disks attached to an instance, each |
| # disk would have a unique index number. |
| "initializeParams": { # [Input Only] Specifies the parameters for a new disk that will be created # [Input Only] Specifies the parameters for a new disk that will be created |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This field is persisted and returned for instanceTemplate and not returned |
| # in the context of instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| "architecture": "A String", # The architecture of the attached disk. Valid values are |
| # arm64 or x86_64. |
| "description": "A String", # An optional description. Provide this property when creating the disk. |
| "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name |
| # of the instance. If a disk with the same name already exists in the given |
| # region, the existing disk is attached to the new instance and the |
| # new disk is not created. |
| "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. The size must be at least |
| # 10 GB. If you specify a sourceImage, which is required for |
| # boot disks, the default size is the size of the sourceImage. |
| # If you do not specify a sourceImage, the default disk size |
| # is 500 GB. |
| "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, |
| # the default is pd-standard, specified using the full URL. |
| # For example: |
| # |
| # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard |
| # |
| # |
| # For a full list of acceptable values, seePersistent disk |
| # types. If you specify this field when creating a VM, you can provide |
| # either the full or partial URL. For example, the following values are |
| # valid: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType |
| # - projects/project/zones/zone/diskTypes/diskType |
| # - zones/zone/diskTypes/diskType |
| # |
| # |
| # If you specify this field when creating or updating an instance template |
| # or all-instances configuration, specify the type of the disk, not the |
| # URL. For example: pd-standard. |
| "enableConfidentialCompute": True or False, # Whether this disk is using confidential compute mode. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| # |
| # Guest OS features are applied by merginginitializeParams.guestOsFeatures anddisks.guestOsFeatures |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "interface": "A String", # [Deprecated] Specifies the disk interface to use for attaching this disk, |
| # which is either SCSI or NVME. The default isSCSI. |
| "labels": { # Labels to apply to this disk. These can be later modified by thedisks.setLabels method. This field is only applicable for |
| # persistent disks. |
| "a_key": "A String", |
| }, |
| "licenseCodes": [ # Integer license codes indicating which licenses are attached to this |
| # disk. |
| "A String", |
| ], |
| "licenses": [ # A list of publicly visible licenses. Reserved for Google's use. |
| "A String", |
| ], |
| "multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to |
| # more than one instance. |
| "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default |
| # is to use the existing disk. |
| "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number |
| # of I/O operations per second that the disk can handle. Values must be |
| # between 10,000 and 120,000. For more details, see theExtreme persistent |
| # disk documentation. |
| "provisionedThroughput": "A String", # Indicates how much throughput to provision for the disk. This sets the |
| # number of throughput mb per second that the disk can handle. Values must |
| # greater than or equal to 1. |
| "replicaZones": [ # Required for each regional disk associated with the instance. Specify |
| # the URLs of the zones where the disk should be replicated to. |
| # You must provide exactly two replica zones, and one zone must be the same |
| # as the instance zone. |
| "A String", |
| ], |
| "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values |
| # have the same definition as resource |
| # manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and |
| # values are in the format `tagValues/456`. The field is ignored (both PUT |
| # & PATCH) when empty. |
| "a_key": "A String", |
| }, |
| "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. |
| # Specified using the full or partial URL. For instance template, specify |
| # only the resource policy name. |
| "A String", |
| ], |
| "sourceImage": "A String", # The source image to create this disk. When creating a new instance boot |
| # disk, one of initializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # To create a disk with one of the public operating system |
| # images, specify the image by its family name. For example, specifyfamily/debian-9 to use the latest Debian 9 image: |
| # |
| # projects/debian-cloud/global/images/family/debian-9 |
| # |
| # |
| # Alternatively, use a specific version of a public operating system image: |
| # |
| # projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD |
| # |
| # |
| # To create a disk with a custom image that you created, specify the |
| # image name in the following format: |
| # |
| # global/images/my-custom-image |
| # |
| # |
| # You can also specify a custom image by its image family, which returns |
| # the latest version of the image in that family. Replace the image name |
| # with family/family-name: |
| # |
| # global/images/family/my-image-family |
| # |
| # |
| # If the source image is deleted later, this field will not be set. |
| "sourceImageEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source image. Required if the source image is |
| # protected by a customer-supplied encryption key. |
| # |
| # InstanceTemplate and InstancePropertiesPatch do not storecustomer-supplied |
| # encryption keys, so you cannot create disks for instances in a managed instance group if the |
| # source images are encrypted with your own keys. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "sourceInstantSnapshot": "A String", # The source instant-snapshot to create this disk. When creating a new |
| # instance boot disk, one of initializeParams.sourceSnapshot |
| # or initializeParams.sourceInstantSnapshotinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # us-central1-a/instantSnapshots/my-backup |
| # |
| # |
| # If the source instant-snapshot is deleted later, this field will not be |
| # set. |
| "sourceSnapshot": "A String", # The source snapshot to create this disk. When creating a new instance |
| # boot disk, one of initializeParams.sourceSnapshot orinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # global/snapshots/my-backup |
| # |
| # |
| # If the source snapshot is deleted later, this field will not be set. |
| # |
| # Note: You cannot create VMs in bulk using a snapshot as the source. Use |
| # an image instead when you create VMs using |
| # the bulk |
| # insert method. |
| "sourceSnapshotEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source snapshot. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "storagePool": "A String", # The storage pool in which the new disk is created. You can provide |
| # this as a partial or full URL to the resource. For example, the following |
| # are valid values: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/storagePools/storagePool |
| # - projects/project/zones/zone/storagePools/storagePool |
| # - zones/zone/storagePools/storagePool |
| }, |
| "interface": "A String", # Specifies the disk interface to use for attaching this disk, which is |
| # either SCSI or NVME. For most machine types, the |
| # default is SCSI. Local SSDs can use either NVME or SCSI. |
| # In certain configurations, persistent disks can use NVMe. For more |
| # information, seeAbout |
| # persistent disks. |
| "kind": "compute#attachedDisk", # [Output Only] Type of the resource. Alwayscompute#attachedDisk for attached disks. |
| "licenses": [ # [Output Only] Any valid publicly visible licenses. |
| "A String", |
| ], |
| "locked": True or False, # [Output Only] Whether to indicate the attached disk is locked. The locked |
| # disk is not allowed to be detached from the instance, or to be used as the |
| # source of the snapshot creation, and the image creation. The instance with |
| # at least one locked attached disk is not allow to be used as source of |
| # machine image creation, instant snapshot creation, and not allowed to be |
| # deleted with --keep-disk parameter set to true for locked disks. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the disk |
| # in READ_WRITE mode. |
| "savedState": "A String", # For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this |
| # field is set to PRESERVED if the LocalSSD data has been saved |
| # to a persistent location by customer request. (see the |
| # discard_local_ssd option on Stop/Suspend). |
| # Read-only in the api. |
| "shieldedInstanceInitialState": { # Initial State for shielded instance, # [Output Only] shielded vm initial state stored on disk |
| # these are public keys which are safe to store in public |
| "dbs": [ # The Key Database (db). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "dbxs": [ # The forbidden key database (dbx). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "keks": [ # The Key Exchange Key (KEK). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "pk": { # The Platform Key (PK). |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| }, |
| "source": "A String", # Specifies a valid partial or full URL to an existing Persistent Disk |
| # resource. When creating a new instance boot disk, one ofinitializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # If desired, you can also attach existing non-root persistent disks using |
| # this property. This field is only applicable for persistent disks. |
| # |
| # Note that for InstanceTemplate, specify the disk name for zonal disk, |
| # and the URL for regional disk. |
| "type": "A String", # Specifies the type of the disk, either SCRATCH orPERSISTENT. If not specified, the default isPERSISTENT. |
| "userLicenses": [ # [Output Only] A list of user provided licenses. It represents a list of |
| # URLs to the license resource. Unlike regular licenses, user provided |
| # licenses can be modified after the disk is created. |
| "A String", |
| ], |
| }, |
| ], |
| "machineTypes": [ # Full machine-type names, e.g. "n1-standard-16". |
| "A String", |
| ], |
| "minCpuPlatform": "A String", # Name of the minimum CPU platform to be used by this instance selection. |
| # e.g. 'Intel Ice Lake'. |
| "rank": 42, # Preference of this instance selection. Lower number means higher |
| # preference. MIG will first try to create a VM based on the machine-type |
| # with lowest rank and fallback to next rank based on availability. |
| # Machine types and instance selections with the same rank have the same |
| # preference. |
| }, |
| }, |
| "instanceSelections": { # Named instance selections configuring properties that the group will use |
| # when creating new VMs. |
| "a_key": { |
| "disks": [ # List of disks to be attached to the instances created from this |
| # selection. |
| { # An instance-attached disk resource. |
| "architecture": "A String", # [Output Only] The architecture of the attached disk. Valid values are ARM64 |
| # or X86_64. |
| "autoDelete": True or False, # Specifies whether the disk will be auto-deleted when the instance is |
| # deleted (but not when the disk is detached from the instance). |
| "boot": True or False, # Indicates that this is a boot disk. The virtual machine will use the first |
| # partition of the disk for its root filesystem. |
| "deviceName": "A String", # Specifies a unique device name of your choice that is reflected into the/dev/disk/by-id/google-* tree of a Linux operating system |
| # running within the instance. This name can be used to reference the device |
| # for mounting, resizing, and so on, from within the instance. |
| # |
| # If not specified, the server chooses a default device name to apply to this |
| # disk, in the form persistent-disk-x, where x is a number |
| # assigned by Google Compute Engine. This field is only applicable for |
| # persistent disks. |
| "diskEncryptionKey": { # Encrypts or decrypts a disk using acustomer-supplied |
| # encryption key. |
| # |
| # If you are creating a new disk, this field encrypts the new disk using |
| # an encryption key that you provide. If you are attaching an existing |
| # disk that is already encrypted, this field decrypts the disk using |
| # the customer-supplied encryption key. |
| # |
| # If you encrypt a disk using a customer-supplied key, you must provide the |
| # same key again when you attempt to use this resource at a later time. For |
| # example, you must provide the key when you create a snapshot or an image |
| # from the disk or when you attach the disk to a virtual machine instance. |
| # |
| # If you do not provide an encryption key, then the disk will be encrypted |
| # using an automatically generated key and you do not need to provide a key |
| # to use the disk later. |
| # |
| # Note: |
| # |
| # Instance templates do not storecustomer-supplied |
| # encryption keys, so you cannot use your own keys to encrypt disks in amanaged instance group. |
| # |
| # You cannot create VMs that have disks with customer-supplied keys using |
| # the bulk |
| # insert method. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "diskSizeGb": "A String", # The size of the disk in GB. |
| "forceAttach": True or False, # [Input Only] Whether to force attach the regional disk even if it's |
| # currently attached to another instance. If you try to force attach a zonal |
| # disk to an instance, you will receive an error. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "index": 42, # [Output Only] A zero-based index to this disk, where 0 is reserved for the |
| # boot disk. If you have many disks attached to an instance, each |
| # disk would have a unique index number. |
| "initializeParams": { # [Input Only] Specifies the parameters for a new disk that will be created # [Input Only] Specifies the parameters for a new disk that will be created |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| # alongside the new instance. Use initialization parameters to create boot |
| # disks or local SSDs attached to the new instance. |
| # |
| # This field is persisted and returned for instanceTemplate and not returned |
| # in the context of instance. |
| # |
| # This property is mutually exclusive with the source property; |
| # you can only define one or the other, but not both. |
| "architecture": "A String", # The architecture of the attached disk. Valid values are |
| # arm64 or x86_64. |
| "description": "A String", # An optional description. Provide this property when creating the disk. |
| "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name |
| # of the instance. If a disk with the same name already exists in the given |
| # region, the existing disk is attached to the new instance and the |
| # new disk is not created. |
| "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. The size must be at least |
| # 10 GB. If you specify a sourceImage, which is required for |
| # boot disks, the default size is the size of the sourceImage. |
| # If you do not specify a sourceImage, the default disk size |
| # is 500 GB. |
| "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, |
| # the default is pd-standard, specified using the full URL. |
| # For example: |
| # |
| # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard |
| # |
| # |
| # For a full list of acceptable values, seePersistent disk |
| # types. If you specify this field when creating a VM, you can provide |
| # either the full or partial URL. For example, the following values are |
| # valid: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType |
| # - projects/project/zones/zone/diskTypes/diskType |
| # - zones/zone/diskTypes/diskType |
| # |
| # |
| # If you specify this field when creating or updating an instance template |
| # or all-instances configuration, specify the type of the disk, not the |
| # URL. For example: pd-standard. |
| "enableConfidentialCompute": True or False, # Whether this disk is using confidential compute mode. |
| "guestOsFeatures": [ # A list of features to enable on the guest operating system. Applicable |
| # only for bootable images. Read |
| # Enabling guest operating system features to see a list of available |
| # options. |
| # |
| # Guest OS features are applied by merginginitializeParams.guestOsFeatures anddisks.guestOsFeatures |
| { # Guest OS features. |
| "type": "A String", # The ID of a supported feature. To add multiple values, use commas to |
| # separate values. Set to one or more of the following values: |
| # |
| # - VIRTIO_SCSI_MULTIQUEUE |
| # - WINDOWS |
| # - MULTI_IP_SUBNET |
| # - UEFI_COMPATIBLE |
| # - GVNIC |
| # - SEV_CAPABLE |
| # - SUSPEND_RESUME_COMPATIBLE |
| # - SEV_LIVE_MIGRATABLE_V2 |
| # - SEV_SNP_CAPABLE |
| # - TDX_CAPABLE |
| # - IDPF |
| # - SNP_SVSM_CAPABLE |
| # |
| # |
| # For more information, see |
| # Enabling guest operating system features. |
| }, |
| ], |
| "interface": "A String", # [Deprecated] Specifies the disk interface to use for attaching this disk, |
| # which is either SCSI or NVME. The default isSCSI. |
| "labels": { # Labels to apply to this disk. These can be later modified by thedisks.setLabels method. This field is only applicable for |
| # persistent disks. |
| "a_key": "A String", |
| }, |
| "licenseCodes": [ # Integer license codes indicating which licenses are attached to this |
| # disk. |
| "A String", |
| ], |
| "licenses": [ # A list of publicly visible licenses. Reserved for Google's use. |
| "A String", |
| ], |
| "multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to |
| # more than one instance. |
| "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default |
| # is to use the existing disk. |
| "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number |
| # of I/O operations per second that the disk can handle. Values must be |
| # between 10,000 and 120,000. For more details, see theExtreme persistent |
| # disk documentation. |
| "provisionedThroughput": "A String", # Indicates how much throughput to provision for the disk. This sets the |
| # number of throughput mb per second that the disk can handle. Values must |
| # greater than or equal to 1. |
| "replicaZones": [ # Required for each regional disk associated with the instance. Specify |
| # the URLs of the zones where the disk should be replicated to. |
| # You must provide exactly two replica zones, and one zone must be the same |
| # as the instance zone. |
| "A String", |
| ], |
| "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values |
| # have the same definition as resource |
| # manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and |
| # values are in the format `tagValues/456`. The field is ignored (both PUT |
| # & PATCH) when empty. |
| "a_key": "A String", |
| }, |
| "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. |
| # Specified using the full or partial URL. For instance template, specify |
| # only the resource policy name. |
| "A String", |
| ], |
| "sourceImage": "A String", # The source image to create this disk. When creating a new instance boot |
| # disk, one of initializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # To create a disk with one of the public operating system |
| # images, specify the image by its family name. For example, specifyfamily/debian-9 to use the latest Debian 9 image: |
| # |
| # projects/debian-cloud/global/images/family/debian-9 |
| # |
| # |
| # Alternatively, use a specific version of a public operating system image: |
| # |
| # projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD |
| # |
| # |
| # To create a disk with a custom image that you created, specify the |
| # image name in the following format: |
| # |
| # global/images/my-custom-image |
| # |
| # |
| # You can also specify a custom image by its image family, which returns |
| # the latest version of the image in that family. Replace the image name |
| # with family/family-name: |
| # |
| # global/images/family/my-image-family |
| # |
| # |
| # If the source image is deleted later, this field will not be set. |
| "sourceImageEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source image. Required if the source image is |
| # protected by a customer-supplied encryption key. |
| # |
| # InstanceTemplate and InstancePropertiesPatch do not storecustomer-supplied |
| # encryption keys, so you cannot create disks for instances in a managed instance group if the |
| # source images are encrypted with your own keys. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "sourceInstantSnapshot": "A String", # The source instant-snapshot to create this disk. When creating a new |
| # instance boot disk, one of initializeParams.sourceSnapshot |
| # or initializeParams.sourceInstantSnapshotinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # us-central1-a/instantSnapshots/my-backup |
| # |
| # |
| # If the source instant-snapshot is deleted later, this field will not be |
| # set. |
| "sourceSnapshot": "A String", # The source snapshot to create this disk. When creating a new instance |
| # boot disk, one of initializeParams.sourceSnapshot orinitializeParams.sourceImage or disks.source |
| # is required. |
| # |
| # To create a disk with a snapshot that you created, specify the |
| # snapshot name in the following format: |
| # |
| # global/snapshots/my-backup |
| # |
| # |
| # If the source snapshot is deleted later, this field will not be set. |
| # |
| # Note: You cannot create VMs in bulk using a snapshot as the source. Use |
| # an image instead when you create VMs using |
| # the bulk |
| # insert method. |
| "sourceSnapshotEncryptionKey": { # Thecustomer-supplied |
| # encryption key of the source snapshot. |
| "kmsKeyName": "A String", # The name of the encryption key that is stored in Google Cloud KMS. |
| # For example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # |
| # The fully-qualifed key name may be returned for resource GET requests. For |
| # example: |
| # |
| # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ |
| # key_region/cryptoKeys/key |
| # /cryptoKeyVersions/1 |
| "kmsKeyServiceAccount": "A String", # The service account being used for the encryption request for the given KMS |
| # key. If absent, the Compute Engine default service account is used. |
| # For example: |
| # |
| # "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/ |
| "rawKey": "A String", # Specifies a 256-bit customer-supplied |
| # encryption key, encoded in RFC |
| # 4648 base64 to either encrypt or decrypt this resource. You can |
| # provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rawKey": |
| # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" |
| "rsaEncryptedKey": "A String", # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit |
| # customer-supplied encryption key to either encrypt or decrypt this |
| # resource. You can provide either the rawKey or thersaEncryptedKey. |
| # For example: |
| # |
| # "rsaEncryptedKey": |
| # "ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH |
| # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD |
| # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" |
| # |
| # The key must meet the following requirements before you can provide it to |
| # Compute Engine: |
| # |
| # 1. The key is wrapped using a RSA public key certificate provided by |
| # Google. |
| # 2. After being wrapped, the key must be encoded in RFC 4648 base64 |
| # encoding. |
| # |
| # Gets the RSA public key certificate provided by Google at: |
| # |
| # |
| # https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem |
| "sha256": "A String", # [Output only] TheRFC |
| # 4648 base64 encoded SHA-256 hash of the customer-supplied |
| # encryption key that protects this resource. |
| }, |
| "storagePool": "A String", # The storage pool in which the new disk is created. You can provide |
| # this as a partial or full URL to the resource. For example, the following |
| # are valid values: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/storagePools/storagePool |
| # - projects/project/zones/zone/storagePools/storagePool |
| # - zones/zone/storagePools/storagePool |
| }, |
| "interface": "A String", # Specifies the disk interface to use for attaching this disk, which is |
| # either SCSI or NVME. For most machine types, the |
| # default is SCSI. Local SSDs can use either NVME or SCSI. |
| # In certain configurations, persistent disks can use NVMe. For more |
| # information, seeAbout |
| # persistent disks. |
| "kind": "compute#attachedDisk", # [Output Only] Type of the resource. Alwayscompute#attachedDisk for attached disks. |
| "licenses": [ # [Output Only] Any valid publicly visible licenses. |
| "A String", |
| ], |
| "locked": True or False, # [Output Only] Whether to indicate the attached disk is locked. The locked |
| # disk is not allowed to be detached from the instance, or to be used as the |
| # source of the snapshot creation, and the image creation. The instance with |
| # at least one locked attached disk is not allow to be used as source of |
| # machine image creation, instant snapshot creation, and not allowed to be |
| # deleted with --keep-disk parameter set to true for locked disks. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the disk |
| # in READ_WRITE mode. |
| "savedState": "A String", # For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this |
| # field is set to PRESERVED if the LocalSSD data has been saved |
| # to a persistent location by customer request. (see the |
| # discard_local_ssd option on Stop/Suspend). |
| # Read-only in the api. |
| "shieldedInstanceInitialState": { # Initial State for shielded instance, # [Output Only] shielded vm initial state stored on disk |
| # these are public keys which are safe to store in public |
| "dbs": [ # The Key Database (db). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "dbxs": [ # The forbidden key database (dbx). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "keks": [ # The Key Exchange Key (KEK). |
| { |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| ], |
| "pk": { # The Platform Key (PK). |
| "content": "A String", # The raw content in the secure keys file. |
| "fileType": "A String", # The file type of source file. |
| }, |
| }, |
| "source": "A String", # Specifies a valid partial or full URL to an existing Persistent Disk |
| # resource. When creating a new instance boot disk, one ofinitializeParams.sourceImage orinitializeParams.sourceSnapshot or disks.source |
| # is required. |
| # |
| # If desired, you can also attach existing non-root persistent disks using |
| # this property. This field is only applicable for persistent disks. |
| # |
| # Note that for InstanceTemplate, specify the disk name for zonal disk, |
| # and the URL for regional disk. |
| "type": "A String", # Specifies the type of the disk, either SCRATCH orPERSISTENT. If not specified, the default isPERSISTENT. |
| "userLicenses": [ # [Output Only] A list of user provided licenses. It represents a list of |
| # URLs to the license resource. Unlike regular licenses, user provided |
| # licenses can be modified after the disk is created. |
| "A String", |
| ], |
| }, |
| ], |
| "machineTypes": [ # Full machine-type names, e.g. "n1-standard-16". |
| "A String", |
| ], |
| "minCpuPlatform": "A String", # Name of the minimum CPU platform to be used by this instance selection. |
| # e.g. 'Intel Ice Lake'. |
| "rank": 42, # Preference of this instance selection. Lower number means higher |
| # preference. MIG will first try to create a VM based on the machine-type |
| # with lowest rank and fallback to next rank based on availability. |
| # Machine types and instance selections with the same rank have the same |
| # preference. |
| }, |
| }, |
| "provisioningModelMix": { # Provisioning model configuration used by this managed instance group to |
| # create instances. |
| "standardCapacityBase": 42, # The base capacity that will always use Standard VMs to avoid risk of |
| # more preemption than the minimum capacity user needs. MIG will create |
| # only Standard VMs until it reaches standard_capacity_base and only |
| # then will start using standard_capacity_percent_above_base to mix Spot |
| # with Standard VMs. |
| "standardCapacityPercentAboveBase": 42, # The percentage of target capacity that should use Standard VM. The |
| # remaining percentage will use Spot VMs. The percentage applies only to |
| # the capacity above standard_capacity_base. |
| }, |
| }, |
| "instanceGroup": "A String", # [Output Only] The URL of the Instance Group resource. |
| "instanceLifecyclePolicy": { # The repair policy for this managed instance group. |
| "defaultActionOnFailure": "A String", # The action that a MIG performs on a failed VM. If the value of the onFailedHealthCheck field |
| # is `DEFAULT_ACTION`, then the same action also applies to the VMs on which your application |
| # fails a health check. Valid values are - REPAIR (default): MIG automatically repairs a failed |
| # VM by recreating it. For more information, see about repairing VMs in a MIG. - DO_NOTHING: MIG |
| # does not repair a failed VM. |
| "forceUpdateOnRepair": "A String", # A bit indicating whether to forcefully apply the group's latest |
| # configuration when repairing a VM. Valid options are: |
| # |
| # |
| # |
| # - NO (default): If configuration updates are available, they are not |
| # forcefully applied during repair. Instead, configuration updates are |
| # applied according to the group's update policy. |
| # |
| # - YES: If configuration updates are available, they are applied |
| # during repair. |
| "metadataBasedReadinessSignal": { # The configuration for metadata based readiness signal sent by the |
| # instance during initialization when stopping / suspending an instance. |
| # The Instance Group Manager will wait for a signal that indicates |
| # successful initialization before stopping / suspending an instance. |
| # |
| # If a successful readiness signal is not sent before timeout, the |
| # corresponding instance will not be stopped / suspended. Instead, |
| # an error will be visible in the lastAttempt.errors field of |
| # the managed instance in the listmanagedinstances |
| # method. |
| # |
| # If metadataBasedReadinessSignal.timeoutSec is unset, |
| # the Instance Group Manager will directly proceed to suspend / stop |
| # instances, skipping initialization on them. |
| "timeoutSec": 42, # The number of seconds to wait for a readiness signal during |
| # initialization before timing out. |
| }, |
| "onFailedHealthCheck": "A String", # The action that a MIG performs on an unhealthy VM. A VM is marked as |
| # unhealthy when the application running on that VM fails a health check. |
| # Valid values are: |
| # |
| # - DEFAULT_ACTION (default): MIG uses the same action |
| # configured for instanceLifecyclePolicy.defaultActionOnFailure field. |
| # - REPAIR: MIG automatically repairs an unhealthy VM by |
| # recreating it. |
| # - DO_NOTHING: MIG doesn't repair an unhealthy VM. |
| # For more information, see |
| # About repairing VMs in a MIG. |
| "onRepair": { # Configuration for VM repairs in the MIG. # Configuration for VM repairs in the MIG. |
| "allowChangingZone": "A String", # Specifies whether the MIG can change a VM's zone during a repair. |
| # Valid values are: |
| # |
| # - NO (default): MIG cannot change a VM's zone during a |
| # repair. |
| # - YES: MIG can select a different zone for the VM during |
| # a repair. |
| }, |
| }, |
| "instanceTemplate": "A String", # The URL of the instance template that is specified for this managed |
| # instance group. The group uses this template to create all new instances |
| # in the managed instance group. The templates for existing instances in the |
| # group do not change unless you run recreateInstances, runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE. |
| "kind": "compute#instanceGroupManager", # [Output Only] The resource type, which is alwayscompute#instanceGroupManager for managed instance groups. |
| "listManagedInstancesResults": "A String", # Pagination behavior of the listManagedInstances API method for |
| # this managed instance group. |
| "multiMig": "A String", # URL to the multi-MIG that this Managed Instance Group belongs to. |
| "name": "A String", # The name of the managed instance group. The name must be 1-63 characters |
| # long, and comply withRFC1035. |
| "namedPorts": [ # [Output Only] Named ports configured on the Instance Groups complementary |
| # to this Instance Group Manager. |
| { # The named port. For example: <"http", 80>. |
| "name": "A String", # The name for this named port. |
| # The name must be 1-63 characters long, and comply withRFC1035. |
| "port": 42, # The port number, which can be a value between 1 and 65535. |
| }, |
| ], |
| "params": { # Input only additional params for instance group manager creation. # Input only. Additional params passed with the request, but not persisted |
| # as part of resource payload. |
| "resourceManagerTags": { # Resource manager tags to bind to the managed instance group. The tags are |
| # key-value pairs. Keys must be in the format tagKeys/123 and values in the |
| # format tagValues/456. For more information, seeManage tags |
| # for resources. |
| "a_key": "A String", |
| }, |
| }, |
| "region": "A String", # [Output Only] The URL of theregion |
| # where the managed instance group resides (for regional resources). |
| "resourcePolicies": { # Resource policies for this managed instance group. |
| "workloadPolicy": "A String", # The URL of the workload policy that is specified for this managed |
| # instance group. |
| # It can be a full or partial URL. For example, the following are |
| # all valid URLs to a workload policy: |
| # |
| # |
| # - https://www.googleapis.com/compute/v1/projects/project/regions/region/resourcePolicies/resourcePolicy |
| # - projects/project/regions/region/resourcePolicies/resourcePolicy |
| # - regions/region/resourcePolicies/resourcePolicy |
| }, |
| "satisfiesPzi": True or False, # [Output Only] Reserved for future use. |
| "satisfiesPzs": True or False, # [Output Only] Reserved for future use. |
| "selfLink": "A String", # [Output Only] The URL for this managed instance group. The server defines |
| # this URL. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "serviceAccount": "A String", # The service account to be used as credentials for all operations performed |
| # by the managed instance group on instances. The service accounts needs all |
| # permissions required to create and delete instances. |
| # By default, the service account |
| # {projectNumber}@cloudservices.gserviceaccount.com is used. |
| "standbyPolicy": { # Standby policy for stopped and suspended instances. |
| "initialDelaySec": 42, # Specifies the number of seconds that the MIG should wait to suspend or |
| # stop a VM after that VM was created. The initial delay gives the |
| # initialization script the time to prepare your VM for a quick scale out. |
| # The value of initial delay must be between 0 and 3600 seconds. The |
| # default value is 0. |
| "mode": "A String", # Defines how a MIG resumes or starts VMs from a standby pool when the |
| # group scales out. The default mode is `MANUAL`. |
| }, |
| "statefulPolicy": { # Stateful configuration for this Instanced Group Manager |
| "preservedState": { # Configuration of preserved resources. |
| "disks": { # Disks created on the instances that will be preserved on instance |
| # delete, update, etc. This map is keyed with the device names of |
| # the disks. |
| "a_key": { |
| "autoDelete": "A String", # These stateful disks will never be deleted during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the disk should be deleted after it |
| # is no longer used by the group, e.g. when the given instance or |
| # the whole group is deleted. Note: disks attached inREAD_ONLY mode cannot be auto-deleted. |
| }, |
| }, |
| "externalIPs": { # External network IPs assigned to the instances that will be preserved on |
| # instance delete, update, etc. This map is keyed with the network |
| # interface name. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| }, |
| }, |
| "internalIPs": { # Internal network IPs assigned to the instances that will be preserved on |
| # instance delete, update, etc. This map is keyed with the network |
| # interface name. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| }, |
| }, |
| }, |
| }, |
| "status": { # [Output Only] The status of this managed instance group. |
| "allInstancesConfig": { # [Output only] Status of all-instances configuration on the group. |
| "currentRevision": "A String", # [Output Only] Current all-instances configuration revision. |
| # This value is in RFC3339 text format. |
| "effective": True or False, # [Output Only] A bit indicating whether this configuration has |
| # been applied to all managed instances in the group. |
| }, |
| "autoscaler": "A String", # [Output Only] The URL of theAutoscaler |
| # that targets this instance group manager. |
| "bulkInstanceOperation": { # Bulk instance operation is the creation of VMs in a MIG when the # [Output Only] The status of bulk instance operation. |
| # targetSizePolicy.mode is set to BULK. |
| "inProgress": True or False, # [Output Only] Informs whether bulk instance operation is in progress. |
| "lastProgressCheck": { # [Output Only] Information from the last progress check of bulk instance |
| # operation. |
| "error": { # [Output Only] Errors encountered during bulk instance operation. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "timestamp": "A String", # [Output Only] Timestamp of the last progress check of bulk instance |
| # operation. Timestamp is in RFC3339 text format. |
| }, |
| }, |
| "isStable": True or False, # [Output Only] A bit indicating whether the managed instance group is in a |
| # stable state. A stable state means that: none of the instances in the |
| # managed instance group is currently undergoing any type of change (for |
| # example, creation, restart, or deletion); no future changes are scheduled |
| # for instances in the managed instance group; and the managed instance |
| # group itself is not being modified. |
| "stateful": { # [Output Only] Stateful status of the given Instance Group Manager. |
| "hasStatefulConfig": True or False, # [Output Only] A bit indicating whether the managed instance group |
| # has stateful configuration, that is, if you have configured any items |
| # in a stateful policy or in per-instance configs. |
| # The group might report that it has no stateful configuration even when |
| # there is still some preserved state on a managed instance, for example, |
| # if you have deleted all PICs but not yet applied those deletions. |
| "isStateful": True or False, # [Output Only] A bit indicating whether the managed instance group |
| # has stateful configuration, that is, if you have configured any items |
| # in a stateful policy or in per-instance configs. |
| # The group might report that it has no stateful configuration even when |
| # there is still some preserved state on a managed instance, for example, |
| # if you have deleted all PICs but not yet applied those deletions. This |
| # field is deprecated in favor of has_stateful_config. |
| "perInstanceConfigs": { # [Output Only] Status of per-instance configurations on the instances. |
| "allEffective": True or False, # A bit indicating if all of the group's per-instance configurations |
| # (listed in the output of a listPerInstanceConfigs API call) have |
| # status EFFECTIVE or there are no per-instance-configs. |
| }, |
| }, |
| "versionTarget": { # [Output Only] A status of consistency of Instances' versions with their |
| # target version specified by version field on Instance Group |
| # Manager. |
| "isReached": True or False, # [Output Only] A bit indicating whether version target has been reached |
| # in this managed instance group, i.e. all instances are in their target |
| # version. Instances' target version are specified byversion field on Instance Group Manager. |
| }, |
| }, |
| "targetPools": [ # The URLs for all TargetPool resources to which instances in theinstanceGroup field are added. The target pools automatically |
| # apply to all of the instances in the managed instance group. |
| "A String", |
| ], |
| "targetSize": 42, # The target number of running instances for this managed instance group. |
| # You can reduce this number by using the instanceGroupManager |
| # deleteInstances or abandonInstances methods. Resizing the group also |
| # changes this number. |
| "targetSizePolicy": { # The policy that specifies how the MIG creates its VMs to achieve the target |
| # size. |
| "mode": "A String", # The mode of target size policy based on which the MIG creates its VMs |
| # individually or all at once. |
| }, |
| "targetSizeUnit": "A String", # The unit of measure for the target size. |
| "targetStoppedSize": 42, # The target number of stopped instances for this managed instance group. |
| # This number changes when you: |
| # |
| # - Stop instance using the stopInstances |
| # method or start instances using the startInstances |
| # method. |
| # - Manually change the targetStoppedSize using the update |
| # method. |
| "targetSuspendedSize": 42, # The target number of suspended instances for this managed instance group. |
| # This number changes when you: |
| # |
| # - Suspend instance using the suspendInstances |
| # method or resume instances using the resumeInstances |
| # method. |
| # - Manually change the targetSuspendedSize using the update |
| # method. |
| "updatePolicy": { # The update policy for this managed instance group. |
| "instanceRedistributionType": "A String", # The |
| # instance redistribution policy for regional managed instance groups. |
| # Valid values are: |
| # |
| # - PROACTIVE (default): The group attempts to maintain an |
| # even distribution of VM instances across zones in the region. |
| # - NONE: For non-autoscaled groups, proactive |
| # redistribution is disabled. |
| "maxSurge": { # Encapsulates numeric value that can be either absolute or relative. # The maximum number of instances that can be created above the specifiedtargetSize during the update process. This value can be |
| # either a fixed number or, if the group has 10 or more instances, a |
| # percentage. If you set a percentage, the number of instances is rounded |
| # if necessary. The default value for maxSurge is a fixed |
| # value equal to the number of zones in which the managed instance group |
| # operates. |
| # |
| # At least one of either maxSurge ormaxUnavailable must be greater than 0. Learn more about maxSurge. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| "maxUnavailable": { # Encapsulates numeric value that can be either absolute or relative. # The maximum number of instances that can be unavailable during the update |
| # process. An instance is considered available if all of the following |
| # conditions are satisfied: |
| # |
| # |
| # |
| # - The instance's status is |
| # RUNNING. |
| # - If there is a health |
| # check on the instance group, the instance's health check status |
| # must be HEALTHY at least once. If there is no health check |
| # on the group, then the instance only needs to have a status of |
| # RUNNING to be considered available. |
| # |
| # |
| # This value can be either a fixed number or, if the group has 10 or more |
| # instances, a percentage. If you set a percentage, the number of instances |
| # is rounded if necessary. The default value formaxUnavailable is a fixed value equal to the number of zones |
| # in which the managed instance group operates. |
| # |
| # At least one of either maxSurge ormaxUnavailable must be greater than 0. Learn more about maxUnavailable. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| "minReadySec": 42, # Minimum number of seconds to wait for after a newly created instance |
| # becomes available. This value must be from range [0, 3600]. |
| "minimalAction": "A String", # Minimal action to be taken on an instance. Use this option to minimize |
| # disruption as much as possible or to apply a more disruptive action than |
| # is necessary. |
| # |
| # - To limit disruption as much as possible, set the minimal action toREFRESH. If your update requires a more disruptive action, |
| # Compute Engine performs the necessary action to execute the update. |
| # - To apply a more disruptive action than is strictly necessary, set the |
| # minimal action to RESTART or REPLACE. For |
| # example, Compute Engine does not need to restart a VM to change its |
| # metadata. But if your application reads instance metadata only when a VM |
| # is restarted, you can set the minimal action to RESTART in |
| # order to pick up metadata changes. |
| "mostDisruptiveAllowedAction": "A String", # Most disruptive action that is allowed to be taken on an instance. |
| # You can specify either NONE to forbid any actions,REFRESH to avoid restarting the VM and to limit disruption |
| # as much as possible. RESTART to allow actions that can be |
| # applied without instance replacing or REPLACE to allow all |
| # possible actions. If the Updater determines that the minimal update |
| # action needed is more disruptive than most disruptive allowed action you |
| # specify it will not perform the update at all. |
| "replacementMethod": "A String", # What action should be used to replace instances. |
| # See minimal_action.REPLACE |
| "type": "A String", # The type |
| # of update process. You can specify either PROACTIVE so |
| # that the MIG automatically updates VMs to the latest configurations orOPPORTUNISTIC so that you can select the VMs that you want |
| # to update. |
| }, |
| "versions": [ # Specifies the instance templates used by this managed instance group to |
| # create instances. |
| # |
| # Each version is defined by an instanceTemplate and aname. Every version can appear at most once per instance |
| # group. This field overrides the top-level instanceTemplate |
| # field. Read more about therelationships |
| # between these fields. Exactly one version must leave thetargetSize field unset. That version will be applied to all |
| # remaining instances. For more information, read aboutcanary |
| # updates. |
| { |
| "instanceTemplate": "A String", # The URL of the instance template that is specified for this managed |
| # instance group. The group uses this template to create new instances in |
| # the managed instance group until the `targetSize` for this version is |
| # reached. The templates for existing instances in the group do not change |
| # unless you run recreateInstances, runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE; in those cases, |
| # existing instances are updated until the `targetSize` for this version is |
| # reached. |
| "name": "A String", # Name of the version. Unique among all versions in the scope of this |
| # managed instance group. |
| "tag": "A String", # Tag describing the version. Used to trigger rollout of a target version |
| # even if instance_template remains unchanged. |
| # Deprecated in favor of 'name'. |
| "targetSize": { # Encapsulates numeric value that can be either absolute or relative. # Specifies the intended number of instances to be created from theinstanceTemplate. The final number of instances created |
| # from the template will be equal to: |
| # |
| # |
| # - If expressed as a fixed number, the minimum of either |
| # targetSize.fixed or |
| # instanceGroupManager.targetSize is used. |
| # - if expressed as a percent, the targetSize |
| # would be (targetSize.percent/100 * |
| # InstanceGroupManager.targetSize) If there is a remainder, the |
| # number is rounded. |
| # |
| # If unset, this version will update any remaining instances not |
| # updated by another version. ReadStarting |
| # a canary update for more information. |
| "calculated": 42, # [Output Only] Absolute value of VM instances calculated based on the |
| # specific mode. |
| # |
| # |
| # |
| # - If the value is fixed, then the calculated |
| # value is equal to the fixed value. |
| # - If the value is a percent, then the |
| # calculated |
| # value is percent/100 * targetSize. For example, |
| # the calculated value of a 80% of a managed instance group |
| # with 150 instances would be (80/100 * 150) = 120 VM instances. If there |
| # is a remainder, the number is rounded. |
| "fixed": 42, # Specifies a fixed number of VM instances. This must be a positive integer. |
| "percent": 42, # Specifies a percentage of instances between 0 to 100%, inclusive. For |
| # example, specify 80 for 80%. |
| }, |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of azone |
| # where the managed instance group is located (for zonal resources). |
| } |
| |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. This |
| prevents clients from accidentally creating duplicate commitments. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| <div class="method"> |
| <code class="details" id="updatePerInstanceConfigs">updatePerInstanceConfigs(project, zone, instanceGroupManager, body=None, requestId=None, x__xgafv=None)</code> |
| <pre>Inserts or updates per-instance configurations for the managed instance |
| group. perInstanceConfig.name serves as a key used to |
| distinguish whether to perform insert or patch. |
| |
| Args: |
| project: string, Project ID for this request. (required) |
| zone: string, The name of thezone |
| where the managed instance group is located. |
| It should conform to RFC1035. (required) |
| instanceGroupManager: string, The name of the managed instance group. |
| It should conform to RFC1035. (required) |
| body: object, The request body. |
| The object takes the form of: |
| |
| { # InstanceGroupManagers.updatePerInstanceConfigs |
| "perInstanceConfigs": [ # The list of per-instance configurations to insert or patch on this managed |
| # instance group. |
| { |
| "fingerprint": "A String", # Fingerprint of this per-instance config. This field can be used in |
| # optimistic locking. It is ignored when inserting a per-instance |
| # config. An up-to-date fingerprint must be provided in order to update an |
| # existing per-instance configuration or the field needs to be unset. |
| "name": "A String", # The name of a per-instance configuration and its corresponding instance. |
| # Serves as a merge key during UpdatePerInstanceConfigs |
| # operations, that is, if a per-instance configuration with the same name |
| # exists then it will be updated, otherwise a new one will be created for the |
| # VM instance with the same name. An attempt to create a per-instance |
| # configuration for a VM instance that either doesn't exist or is not part |
| # of the group will result in an error. |
| "preservedState": { # Preserved state for a given instance. # The intended preserved state for the given instance. Does not contain |
| # preserved state generated from a stateful policy. |
| "disks": { # Preserved disks defined for this instance. |
| # This map is keyed with the device names of the disks. |
| "a_key": { |
| "autoDelete": "A String", # These stateful disks will never be deleted during autohealing, |
| # update, instance recreate operations. This flag is used to configure |
| # if the disk should be deleted after it is no longer used by the group, |
| # e.g. when the given instance or the whole MIG is deleted. |
| # Note: disks attached in READ_ONLY mode cannot be |
| # auto-deleted. |
| "mode": "A String", # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not specified, the default is to attach the |
| # disk in READ_WRITE mode. |
| "source": "A String", # The URL of the disk resource that is stateful and should be attached |
| # to the VM instance. |
| }, |
| }, |
| "externalIPs": { # Preserved external IPs defined for this instance. |
| # This map is keyed with the name of the network interface. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| "ipAddress": { # Ip address representation |
| "address": "A String", # The URL of the reservation for this IP address. |
| "literal": "A String", # An IPv4 internal network address to assign to the instance for this |
| # network interface. |
| }, |
| }, |
| }, |
| "internalIPs": { # Preserved internal IPs defined for this instance. |
| # This map is keyed with the name of the network interface. |
| "a_key": { |
| "autoDelete": "A String", # These stateful IPs will never be released during autohealing, |
| # update or VM instance recreate operations. |
| # This flag is used to configure if the IP reservation should be deleted |
| # after it is no longer used by the group, e.g. when the given instance |
| # or the whole group is deleted. |
| "ipAddress": { # Ip address representation |
| "address": "A String", # The URL of the reservation for this IP address. |
| "literal": "A String", # An IPv4 internal network address to assign to the instance for this |
| # network interface. |
| }, |
| }, |
| }, |
| "metadata": { # Preserved metadata defined for this instance. |
| "a_key": "A String", |
| }, |
| }, |
| "status": "A String", # The status of applying this per-instance configuration on the corresponding |
| # managed instance. |
| }, |
| ], |
| } |
| |
| requestId: string, An optional request ID to identify requests. Specify a unique request ID so |
| that if you must retry your request, the server will know to ignore the |
| request if it has already been completed. |
| |
| For example, consider a situation where you make an initial request and |
| the request times out. If you make the request again with the same |
| request ID, the server can check if original operation with the same |
| request ID was received, and if so, will ignore the second request. This |
| prevents clients from accidentally creating duplicate commitments. |
| |
| The request ID must be |
| a valid UUID with the exception that zero UUID is not supported |
| (00000000-0000-0000-0000-000000000000). |
| x__xgafv: string, V1 error format. |
| Allowed values |
| 1 - v1 error format |
| 2 - v2 error format |
| |
| Returns: |
| An object of the form: |
| |
| { # Represents an Operation resource. |
| # |
| # Google Compute Engine has three Operation resources: |
| # |
| # * [Global](/compute/docs/reference/rest/alpha/globalOperations) |
| # * [Regional](/compute/docs/reference/rest/alpha/regionOperations) |
| # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations) |
| # |
| # You can use an operation resource to manage asynchronous API requests. |
| # For more information, readHandling |
| # API responses. |
| # |
| # Operations can be global, regional or zonal. |
| # |
| # - For global operations, use the `globalOperations` |
| # resource. |
| # - For regional operations, use the |
| # `regionOperations` resource. |
| # - For zonal operations, use |
| # the `zoneOperations` resource. |
| # |
| # |
| # |
| # For more information, read |
| # Global, Regional, and Zonal Resources. |
| # |
| # Note that completed Operation resources have a limited |
| # retention period. |
| "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. |
| # Not present otherwise. |
| "creationTimestamp": "A String", # [Deprecated] This field is deprecated. |
| "description": "A String", # [Output Only] A textual description of the operation, which is |
| # set when the operation is created. |
| "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 |
| # text format. |
| "error": { # [Output Only] If errors are generated during processing of the operation, |
| # this field will be populated. |
| "errors": [ # [Output Only] The array of errors encountered while processing this |
| # operation. |
| { |
| "code": "A String", # [Output Only] The error type identifier for this error. |
| "errorDetails": [ # [Output Only] An optional list of messages that contain the error |
| # details. There is a set of defined message types to use for providing |
| # details.The syntax depends on the error code. For example, |
| # QuotaExceededInfo will have details when the error code is |
| # QUOTA_EXCEEDED. |
| { |
| "errorInfo": { # Describes the cause of the error with structured details. |
| # |
| # Example of an error when contacting the "pubsub.googleapis.com" API when it |
| # is not enabled: |
| # |
| # { "reason": "API_DISABLED" |
| # "domain": "googleapis.com" |
| # "metadata": { |
| # "resource": "projects/123", |
| # "service": "pubsub.googleapis.com" |
| # } |
| # } |
| # |
| # This response indicates that the pubsub.googleapis.com API is not enabled. |
| # |
| # Example of an error that is returned when attempting to create a Spanner |
| # instance in a region that is out of stock: |
| # |
| # { "reason": "STOCKOUT" |
| # "domain": "spanner.googleapis.com", |
| # "metadata": { |
| # "availableRegions": "us-central1,us-east2" |
| # } |
| # } |
| "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain |
| # is typically the registered service name of the tool or product that |
| # generates the error. Example: "pubsub.googleapis.com". If the error is |
| # generated by some common infrastructure, the error domain must be a |
| # globally unique value that identifies the infrastructure. For Google API |
| # infrastructure, the error domain is "googleapis.com". |
| "metadatas": { # Additional structured details about this error. |
| # |
| # Keys must match a regular expression of `a-z+` but should |
| # ideally be lowerCamelCase. Also, they must be limited to 64 characters in |
| # length. When identifying the current value of an exceeded limit, the units |
| # should be contained in the key, not the value. For example, rather than |
| # `{"instanceLimit": "100/request"}`, should be returned as, |
| # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of |
| # instances that can be created in a single (batch) request. |
| "a_key": "A String", |
| }, |
| "reason": "A String", # The reason of the error. This is a constant value that identifies the |
| # proximate cause of the error. Error reasons are unique within a particular |
| # domain of errors. This should be at most 63 characters and match a |
| # regular expression of `A-Z+[A-Z0-9]`, which represents |
| # UPPER_SNAKE_CASE. |
| }, |
| "help": { # Provides links to documentation or for performing an out of band action. |
| # |
| # For example, if a quota check failed with an error indicating the calling |
| # project hasn't enabled the accessed service, this can contain a URL pointing |
| # directly to the right place in the developer console to flip the bit. |
| "links": [ # URL(s) pointing to additional information on handling the current error. |
| { # Describes a URL link. |
| "description": "A String", # Describes what the link offers. |
| "url": "A String", # The URL of the link. |
| }, |
| ], |
| }, |
| "localizedMessage": { # Provides a localized error message that is safe to return to the user |
| # which can be attached to an RPC error. |
| "locale": "A String", # The locale used following the specification defined at |
| # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. |
| # Examples are: "en-US", "fr-CH", "es-MX" |
| "message": "A String", # The localized error message in the above locale. |
| }, |
| "quotaInfo": { # Additional details for quota exceeded error for resource quota. |
| "dimensions": { # The map holding related quota dimensions. |
| "a_key": "A String", |
| }, |
| "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota |
| # type or metric. |
| "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type |
| # or metric. |
| "limitName": "A String", # The name of the quota limit. |
| "metricName": "A String", # The Compute Engine quota metric name. |
| "rolloutStatus": "A String", # Rollout status of the future quota limit. |
| }, |
| }, |
| ], |
| "location": "A String", # [Output Only] Indicates the field in the request that caused the error. |
| # This property is optional. |
| "message": "A String", # [Output Only] An optional, human-readable error message. |
| }, |
| ], |
| }, |
| "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error |
| # message that was returned, such as `NOT FOUND`. |
| "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error |
| # status code that was returned. For example, a `404` means the |
| # resource was not found. |
| "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is |
| # defined by the server. |
| "insertTime": "A String", # [Output Only] The time that this operation was requested. |
| # This value is inRFC3339 |
| # text format. |
| "instancesBulkInsertOperationMetadata": { |
| "perLocationStatus": { # Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. |
| "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. |
| "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an |
| # error. |
| "status": "A String", # [Output Only] Creation status of BulkInsert operation - information |
| # if the flow is rolling forward or rolling back. |
| "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. |
| }, |
| }, |
| }, |
| "kind": "compute#operation", # [Output Only] Type of the resource. Always `compute#operation` for |
| # Operation resources. |
| "name": "A String", # [Output Only] Name of the operation. |
| "operationGroupId": "A String", # [Output Only] An ID that represents a group of operations, such as when a |
| # group of operations results from a `bulkInsert` API request. |
| "operationType": "A String", # [Output Only] The type of operation, such as `insert`, |
| # `update`, or `delete`, and so on. |
| "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. |
| # There is no requirement that this be linear or support any granularity of |
| # operations. This should not be used to guess when the operation will be |
| # complete. This number should monotonically increase as the operation |
| # progresses. |
| "region": "A String", # [Output Only] The URL of the region where the operation resides. Only |
| # applicable when performing regional operations. |
| "selfLink": "A String", # [Output Only] Server-defined URL for the resource. |
| "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. |
| "setCommonInstanceMetadataOperationMetadata": { # [Output Only] If the operation is for projects.setCommonInstanceMetadata, |
| # this field will contain information on all underlying zonal actions and |
| # their state. |
| "clientOperationId": "A String", # [Output Only] The client operation id. |
| "perLocationOperations": { # [Output Only] Status information per location (location name is key). |
| # Example key: zones/us-central1-a |
| "a_key": { |
| "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is |
| # populated. |
| # different programming environments, including REST APIs and RPC APIs. It is |
| # used by [gRPC](https://github.com/grpc). Each `Status` message contains |
| # three pieces of data: error code, error message, and error details. |
| # |
| # You can find out more about this error model and how to work with it in the |
| # [API Design Guide](https://cloud.google.com/apis/design/errors). |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. |
| "details": [ # A list of messages that carry the error details. There is a common set of |
| # message types for APIs to use. |
| { |
| "a_key": "", # Properties of the object. Contains field @type with type URL. |
| }, |
| ], |
| "message": "A String", # A developer-facing error message, which should be in English. Any |
| # user-facing error message should be localized and sent in the |
| # google.rpc.Status.details field, or localized by the client. |
| }, |
| "state": "A String", # [Output Only] Status of the action, which can be one of the following: |
| # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. |
| }, |
| }, |
| }, |
| "startTime": "A String", # [Output Only] The time that this operation was started by the server. |
| # This value is inRFC3339 |
| # text format. |
| "status": "A String", # [Output Only] The status of the operation, which can be one of the |
| # following: |
| # `PENDING`, `RUNNING`, or `DONE`. |
| "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the |
| # operation. |
| "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation |
| # of the target resource. |
| "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For |
| # operations related to creating a snapshot, this points to the disk |
| # that the snapshot was created from. |
| "user": "A String", # [Output Only] User who requested the operation, for example: |
| # `[email protected]` or |
| # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. |
| "warnings": [ # [Output Only] If warning messages are generated during processing of the |
| # operation, this field will be populated. |
| { |
| "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute |
| # Engine returns NO_RESULTS_ON_PAGE if there |
| # are no results in the response. |
| "data": [ # [Output Only] Metadata about this warning in key: |
| # value format. For example: |
| # |
| # "data": [ |
| # { |
| # "key": "scope", |
| # "value": "zones/us-east1-d" |
| # } |
| { |
| "key": "A String", # [Output Only] A key that provides more detail on the warning being |
| # returned. For example, for warnings where there are no results in a list |
| # request for a particular zone, this key might be scope and |
| # the key value might be the zone name. Other examples might be a key |
| # indicating a deprecated resource and a suggested replacement, or a |
| # warning about invalid network settings (for example, if an instance |
| # attempts to perform IP forwarding but is not enabled for IP forwarding). |
| "value": "A String", # [Output Only] A warning data value corresponding to the key. |
| }, |
| ], |
| "message": "A String", # [Output Only] A human-readable description of the warning code. |
| }, |
| ], |
| "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only |
| # applicable when performing per-zone operations. |
| }</pre> |
| </div> |
| |
| </body></html> |