# REST Resource: reservationBlocks

- [Resource: ReservationBlocksGetResponse](https://docs.cloud.google.com/compute/docs/reference/rest/v1/reservationBlocks#ReservationBlocksGetResponse)
  - [JSON representation](https://docs.cloud.google.com/compute/docs/reference/rest/v1/reservationBlocks#ReservationBlocksGetResponse.SCHEMA_REPRESENTATION)
    - [JSON representation](https://docs.cloud.google.com/compute/docs/reference/rest/v1/reservationBlocks#ReservationBlocksGetResponse.SCHEMA_REPRESENTATION.resource.SCHEMA_REPRESENTATION)
    - [JSON representation](https://docs.cloud.google.com/compute/docs/reference/rest/v1/reservationBlocks#ReservationBlocksGetResponse.SCHEMA_REPRESENTATION.resource.SCHEMA_REPRESENTATION_1)
      - [JSON representation](https://docs.cloud.google.com/compute/docs/reference/rest/v1/reservationBlocks#ReservationBlocksGetResponse.SCHEMA_REPRESENTATION.resource.SCHEMA_REPRESENTATION_1.instances.SCHEMA_REPRESENTATION)
    - [JSON representation](https://docs.cloud.google.com/compute/docs/reference/rest/v1/reservationBlocks#ReservationBlocksGetResponse.SCHEMA_REPRESENTATION.resource.SCHEMA_REPRESENTATION_2)
- [Methods](https://docs.cloud.google.com/compute/docs/reference/rest/v1/reservationBlocks#METHODS_SUMMARY)

## Resource: ReservationBlocksGetResponse

| JSON representation |
|---|
| ``` { "resource": { "kind": string, "id": string, "creationTimestamp": string, "name": string, "zone": string, "selfLink": string, "selfLinkWithId": string, "count": integer, "inUseCount": integer, "reservationMaintenance": { "upcomingGroupMaintenance": { "type": enum, "canReschedule": boolean, "windowStartTime": string, "windowEndTime": string, "latestWindowStartTime": string, "maintenanceStatus": enum, "maintenanceOnShutdown": boolean, "maintenanceReasons": [ enum ] }, "maintenanceOngoingCount": integer, "maintenancePendingCount": integer, "schedulingType": enum, "subblockInfraMaintenanceOngoingCount": integer, "subblockInfraMaintenancePendingCount": integer, "instanceMaintenanceOngoingCount": integer, "instanceMaintenancePendingCount": integer }, "status": enum, "physicalTopology": { "cluster": string, "block": string, "instances": [ { "instanceId": string, "projectId": string, "physicalHostTopology": { "subBlock": string, "host": string } } ] }, "reservationSubBlockCount": integer, "reservationSubBlockInUseCount": integer, "inUseHostCount": integer, "healthInfo": { "healthStatus": enum, "healthySubBlockCount": integer, "degradedSubBlockCount": integer } } } ``` |

| Fields ||
|---|---|
| `resource` | `object` |
| `resource.kind` | `string` Output only. Type of the resource. Always `compute#reservationBlock` for reservation blocks. |
| `resource.id` | `string (https://developers.google.com/discovery/v1/type-format format)` Output only. The unique identifier for the resource. This identifier is defined by the server. |
| `resource.creationTimestamp` | `string` Output only. Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. |
| `resource.name` | `string` Output only. The name of this reservation block generated by Google Compute Engine. The name must be 1-63 characters long, and comply with RFC1035 @pattern [a-z](https://docs.cloud.google.com/compute/docs/reference/rest/v1/reservationBlocks?:%5B-a-z0-9%5D%7B0,61%7D%5Ba-z0-9%5D)? |
| `resource.zone` | `string` Output only. Zone in which the reservation block resides. |
| `resource.selfLink` | `string` Output only. Server-defined fully-qualified URL for this resource. |
| `resource.selfLinkWithId` | `string` Output only. Server-defined URL for this resource with the resource id. |
| `resource.count` | `integer` Output only. The number of resources that are allocated in this reservation block. |
| `resource.inUseCount` | `integer` Output only. The number of instances that are currently in use on this reservation block. |
| `resource.reservationMaintenance` | `object` Output only. Maintenance information for this reservation block. |
| `resource.reservationMaintenance.upcomingGroupMaintenance` | `object` Maintenance information on this group of VMs. |
| `resource.reservationMaintenance.upcomingGroupMaintenance.type` | `enum` Defines the type of maintenance. |
| `resource.reservationMaintenance.upcomingGroupMaintenance.canReschedule` | `boolean` Indicates if the maintenance can be customer triggered. |
| `resource.reservationMaintenance.upcomingGroupMaintenance.windowStartTime` | `string` The current start time of the maintenance window. This timestamp value is in RFC3339 text format. |
| `resource.reservationMaintenance.upcomingGroupMaintenance.windowEndTime` | `string` The time by which the maintenance disruption will be completed. This timestamp value is in RFC3339 text format. |
| `resource.reservationMaintenance.upcomingGroupMaintenance.latestWindowStartTime` | `string` The latest time for the planned maintenance window to start. This timestamp value is in RFC3339 text format. |
| `resource.reservationMaintenance.upcomingGroupMaintenance.maintenanceStatus` | `enum` |
| `resource.reservationMaintenance.upcomingGroupMaintenance.maintenanceOnShutdown` | `boolean` Indicates whether the UpcomingMaintenance will be triggered on VM shutdown. |
| `resource.reservationMaintenance.upcomingGroupMaintenance.maintenanceReasons[]` | `enum` The reasons for the maintenance. Only valid for vms. |
| `resource.reservationMaintenance.maintenanceOngoingCount` | `integer` Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that have ongoing maintenance. |
| `resource.reservationMaintenance.maintenancePendingCount` | `integer` Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that have pending maintenance. |
| `resource.reservationMaintenance.schedulingType` | `enum` The type of maintenance for the reservation. |
| `resource.reservationMaintenance.subblockInfraMaintenanceOngoingCount` | `integer` Describes number of subblock Infrastructure that has ongoing maintenance. Here, Subblock Infrastructure Maintenance pertains to upstream hardware contained in the Subblock that is necessary for a VM Family(e.g. NVLink Domains). Not all VM Families will support this field. |
| `resource.reservationMaintenance.subblockInfraMaintenancePendingCount` | `integer` Describes number of subblock Infrastructure that has pending maintenance. Here, Subblock Infrastructure Maintenance pertains to upstream hardware contained in the Subblock that is necessary for a VM Family (e.g. NVLink Domains). Not all VM Families will support this field. |
| `resource.reservationMaintenance.instanceMaintenanceOngoingCount` | `integer` Describes number of instances that have ongoing maintenance. |
| `resource.reservationMaintenance.instanceMaintenancePendingCount` | `integer` Describes number of instances that have pending maintenance. |
| `resource.status` | `enum` Output only. Status of the reservation block. |
| `resource.physicalTopology` | `object` Output only. The physical topology of the reservation block. |
| `resource.physicalTopology.cluster` | `string` The cluster name of the reservation block. |
| `resource.physicalTopology.block` | `string` The hash of the capacity block within the cluster. |
| `resource.physicalTopology.instances[]` | `object` Output only. The detailed instances information for a given Block |
| `resource.physicalTopology.instances[].instanceId` | `string (https://developers.google.com/discovery/v1/type-format format)` The InstanceId of the instance |
| `resource.physicalTopology.instances[].projectId` | `string (https://developers.google.com/discovery/v1/type-format format)` Project where the instance lives |
| `resource.physicalTopology.instances[].physicalHostTopology` | `object` Output only. The PhysicalHostTopology of instances within a Block resource. |
| `resource.physicalTopology.instances[].physicalHostTopology.subBlock` | `string` Sub block hash for a given instance |
| `resource.physicalTopology.instances[].physicalHostTopology.host` | `string` Host hash for a given instance |
| `resource.reservationSubBlockCount` | `integer` Output only. The number of reservation subBlocks associated with this reservation block. |
| `resource.reservationSubBlockInUseCount` | `integer` Output only. The number of in-use reservation subBlocks associated with this reservation block. If at least one VM is running on a subBlock, it is considered in-use. |
| `resource.inUseHostCount` | `integer` Output only. Number of hosts currently in use. If there is one or more Instances running on the host, it is considered in use. |
| `resource.healthInfo` | `object` Output only. Health information for the reservation block. |
| `resource.healthInfo.healthStatus` | `enum` The health status of the reservation block. |
| `resource.healthInfo.healthySubBlockCount` | `integer` The number of subBlocks that are healthy. |
| `resource.healthInfo.degradedSubBlockCount` | `integer` The number of subBlocks that are degraded. |

| ## Methods ||
|---|---|
| ### `https://docs.cloud.google.com/compute/docs/reference/rest/v1/reservationBlocks/get` | Retrieves information about the specified reservation block. |
| ### `https://docs.cloud.google.com/compute/docs/reference/rest/v1/reservationBlocks/getIamPolicy` | Gets the access control policy for a resource. |
| ### `https://docs.cloud.google.com/compute/docs/reference/rest/v1/reservationBlocks/list` | Retrieves a list of reservation blocks under a single reservation. |
| ### `https://docs.cloud.google.com/compute/docs/reference/rest/v1/reservationBlocks/performMaintenance` | Allows customers to perform maintenance on a reservation block |
| ### `https://docs.cloud.google.com/compute/docs/reference/rest/v1/reservationBlocks/setIamPolicy` | Sets the access control policy on the specified resource. |
| ### `https://docs.cloud.google.com/compute/docs/reference/rest/v1/reservationBlocks/testIamPermissions` | Returns permissions that a caller has on the specified resource. |