Create shared future reservation requests (original) (raw)

Skip to main content

Create shared future reservation requests

This document explains how to create future reservation requests that are shared across multiple projects.

After Google Cloud approves a shared future reservation request, Compute Engine automatically creates (auto-creates) reservations with your requested resources at your specified start time. You have very high assurance that Compute Engine delivers your reserved resources, giving both your project and any projects that the reservations are shared with exclusive access to those resources for the entire reservation period. You can then use the reserved resources to create virtual machine (VM) instances.

To learn more about the requirements and limitations that you apply when you create a future reservation request, seeAbout future reservation requests.

Before you begin

Required roles

To get the permissions that you need to create shared future reservation requests, ask your administrator to grant you theCompute Future Reservation User (roles/compute.futureReservationUser) IAM role on the project. For more information about granting roles, see Manage access to projects, folders, and organizations.

This predefined role contains the permissions required to create shared future reservation requests. To see the exact permissions that are required, expand the Required permissions section:

Required permissions

The following permissions are required to create shared future reservation requests:

You might also be able to get these permissions with custom roles or other predefined roles.

Restrictions

In addition to the generalrestrictionsfor future reservations, creating shared future reservation requests has the following restrictions:

When creating a future reservation request, you can either save the request as a draft and later submit it to Google Cloud for review, or directly submit the request for review. Google recommends creating a draft request first as this lets youdetermine the number of VMsthat Compute Engine will provision for your request instead of manually estimating this number, and optionallymodify the number of reserved VMs in the requestbefore submitting it for review.

To consume an auto-created reservation for a future reservation, a VM must haveproperties that exactly matchthat reservation. To specify the properties of the VMs that you want to request to reserve by creating a draft future reservation request, use one of the following methods:

An auto-created reservation for a future reservation can be automatically consumed by any VM with matching properties. If you want to avoid a VM to consume any of these auto-created reservations, see how tocreate VMs without consuming reservations.

Specify an instance template

When creating a shared future reservation request by specifying an instance template, consider the following:

After creating a future reservation request, you can't modify the future reservation request to override the template's VM properties or specify another template. Instead, if you need to change the VM properties specified in the request, you mustcreate a new future reservation request.

To create a shared future reservation by specifying an existing instance template, select one of the following options:

Console

  1. In the Google Cloud console, go to the Reservations page.
    Go to Reservations
  2. Click the Future reservations tab.
  3. Click Create future reservation. The Create a future reservation page appears.
  4. In the Machine configuration section, do the following:
    1. Select Use instance template.
    2. In Instance template list, select the instance template. If you select a regional instance template, then you can only reserve resources within the same region as the template's region.
  5. In the Location section, in the Region and Zone lists, select the region and zone in which to reserve resources.
  6. In the Capacity details section, in the Total capacity needed, enter thetotal count of VMsthat you want to reserve.
  7. In the Reservation period section, do the following:
    1. In the Start time field, specify a start time for the reservation period. The start time can't be later than one year from when you submit your future reservation request for review. To have sufficient time to optionally modify, cancel, or delete the future reservation before it enters its lock time, specify arecommended value for the start time.
    2. In the End time field, specify an end time for the reservation period. In the Duration summary section, you can see the length of the reservation period. To increase the likelihood that Google Cloud approves your future reservation request after you submit it, specify arecommended value for the reservation period.
  8. Click Next.
  9. In the Auto-delete section, do one of the following:
    • To enable Compute Engine to automatically delete the auto-created reservations for your future reservation request, do the following:
      1. Select the Enable auto-delete checkbox.
      2. Optional: In the Auto-delete time field, enter a date and time when to delete the auto-created reservations. The date and time must be after the end time of the reservation period. If you leave this field empty, then Compute Engine deletes the auto-created reservations within two hours after the reservation period's end time.
    • To disable automatic deletion, clear the Enable auto-deletecheckbox.
  10. In the Share type section, do the following:
  11. To shared the reserved resources with other projects, select Shared.
  12. Click Add projects, and then select the projects from the current project's organization that you want to share the future reservation request with. You can select up to 100 projects.
  13. Click Next.
  14. In the Future reservation name field, enter a name for your future reservation request.
  15. In the Prefix field, enter a name prefix. All auto-created reservations for this future reservation request use this prefix.
  16. To finish creating the draft future reservation request, clickSave a draft. The Reservations page appears. Creating the future reservation request can take up to a minute to complete. To verify when Compute Engine finishes creating it,view your future reservation requests.

gcloud

To create a shared future reservation request by specifying an instance template, use thegcloud compute future-reservations create commandwith the --share-setting=projects and --share-with flags.

To create a draft future reservation request by specifying an instance template without including any optional flags, and auto-delete the auto-created reservation at the end of the reservation period, run the following command:

gcloud compute future-reservations create FUTURE_RESERVATION_NAME \
    --auto-delete-auto-created-reservations \
    --share-setting=projects \
    --share-with=CONSUMER_PROJECT_IDS \
    --source-instance-template=INSTANCE_TEMPLATE_URL \
    --start-time=START_TIME \
    --end-time=END_TIME \
    --total-count=TOTAL_COUNT \
    --zone=ZONE

Replace the following:

YYYY-MM-DDTHH:MM:SSOFFSET  

Replace the following:

For example, suppose that you want to create a draft future reservation request namedfr-02 in zone us-central1-a with the following properties:

To createfr-02, run the following command:

gcloud compute future-reservations create fr-02 \
    --auto-delete-auto-created-reservations \
    --share-setting=projects \
    --share-with=project-1,project-2 \
    --source-instance-template=projects/example-project/regions/us-central1/instanceTemplates/example-template \
    --start-time=2024-11-10T00:00:00Z \
    --end-time=2024-12-10T00:00:00Z \
    --total-count=80 \
    --zone=us-central1-a

Optionally, you can do one or more of the following:

gcloud compute future-reservations create FUTURE_RESERVATION_NAME \  
    --no-auto-delete-auto-created-reservations \  
    --share-setting=projects \  
    --share-with=CONSUMER_PROJECT_IDS \  
    --source-instance-template=INSTANCE_TEMPLATE_URL \  
    --start-time=START_TIME \  
    --end-time=END_TIME \  
    --total-count=TOTAL_COUNT \  
    --zone=ZONE  
gcloud compute future-reservations create FUTURE_RESERVATION_NAME \  
    --auto-delete-auto-created-reservations \  
    --name-prefix=NAME_PREFIX \  
    --share-setting=projects \  
    --share-with=CONSUMER_PROJECT_IDS \  
    --source-instance-template=INSTANCE_TEMPLATE_URL \  
    --start-time=START_TIME \  
    --end-time=END_TIME \  
    --total-count=TOTAL_COUNT \  
    --zone=ZONE  

Replace NAME_PREFIX with the name prefix for each auto-created reservation. To help you identify the auto-created reservations for this future reservation request, Google Cloud recommends to specify a unique name prefix.

REST

To create a shared future reservation request by specifying an instance template, make a POST request to thefutureReservations.insert method.

To create a draft future reservation request by specifying an instance template without including any optional fields, make a POST request as follows:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations

{
  "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
  "name": "FUTURE_RESERVATION_NAME",
  "shareSettings": {
    "projects": [
      "CONSUMER_PROJECT_ID_1",
      "CONSUMER_PROJECT_ID_2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "specificSkuProperties": { 
    "sourceInstanceTemplate": "INSTANCE_TEMPLATE_URL",
    "totalCount": TOTAL_COUNT
  },
  "timeWindow": {
    "startTime": "START_TIME",
    "endTime": "END_TIME"
  }
}

Replace the following:

YYYY-MM-DDTHH:MM:SSOFFSET  

Replace the following:

"duration": {  
  "seconds": END_DURATION  
}  

Replace END_DURATION with a duration in seconds. For example, specify 1209600 for 1,209,600 seconds (14 days).

For example, suppose that you want to create a draft future reservation request namedfr-02 in zone us-central1-a with the following properties:

To createfr-02, make a POST request as follows:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/futureReservations

{
  "autoDeleteAutoCreatedReservations": true,
  "name": "fr-02",
  "specificSkuProperties": { 
    "sourceInstanceTemplate": "projects/example-project/regions/us-central1/instanceTemplates/example-template",
    "totalCount": 80
  },
  "shareSettings": {
    "projects": [
      "project-1",
      "project-2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "timeWindow": {
    "startTime": "2024-11-10T00:00:00Z",
    "endTime": "2024-12-10T00:00:00Z"
  }
}

Optionally, you can do one or more of the following:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations  
{  
  "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,  
  "name": "FUTURE_RESERVATION_NAME",  
  "namePrefix": "NAME_PREFIX",  
  "shareSettings": {  
    "projects": [  
      "CONSUMER_PROJECT_ID_1",  
      "CONSUMER_PROJECT_ID_2"  
    ],  
    "shareType": "SPECIFIC_PROJECTS"  
  },  
  "specificSkuProperties": {  
    "sourceInstanceTemplate": "INSTANCE_TEMPLATE_URL",  
    "totalCount": TOTAL_COUNT  
  },  
  "timeWindow": {  
    "startTime": "START_TIME",  
    "endTime": "END_TIME"  
  }  
}  

Replace NAME_PREFIX with the name prefix for each auto-created reservation. To help you identify the auto-created reservations for this future reservation request, Google Cloud recommends to specify a unique name prefix.

After creating a draft future reservation request, you can determine thenumber of VMs that Compute Engine will provision for the request.

Specify an existing VM

You can only create a draft future reservation request based on an existing VM in the same project and zone as the VM.

After the future reservation request is approved by Google Cloud and it enters its reservation period, you can consume its auto-created reservations by creating VMs with properties that match the reference VM. You can do this by doing one of the following:

To create a shared future reservation request that uses the properties of an existing VM, do the following:

  1. In the Google Cloud console, go to the Reservations page.
    Go to Reservations
  2. Click the Future reservations tab.
  3. Click Create future reservation. The Create a future reservation page appears.
  4. In the Machine configuration section, do the following:
    1. Select Use existing VM.
    2. In the Existing VM list, select the VM whose properties you want to use to create the reservation.
  5. In the Location section, in the Region and Zone lists, select the region and zone in which to reserve resources.
  6. In the Capacity details section, in the Total capacity needed, enter thetotal count of VMsthat you want to reserve.
  7. In the Reservation period section, do the following:
    1. In the Start time field, specify a start time for the reservation period. The start time can't be later than one year from when you submit your future reservation request for review. To have sufficient time to optionally modify, cancel, or delete the future reservation before it enters its lock time, specify arecommended value for the start time.
    2. In the End time field, specify an end time for the reservation period. In the Duration summary section, you can see the length of the reservation period. To increase the likelihood that Google Cloud approves your future reservation request after you submit it, specify arecommended value for the reservation period.
  8. Click Next.
  9. In the Auto-delete section, do one of the following:
    • To enable Compute Engine to automatically delete the auto-created reservations for your future reservation request, do the following:
      1. Select the Enable auto-delete checkbox.
      2. Optional: In the Auto-delete time field, enter a date and time when to delete the auto-created reservations. The date and time must be after the end time of the reservation period. If you leave this field empty, then Compute Engine deletes the auto-created reservations within two hours after the reservation period's end time.
    • To disable automatic deletion, clear the Enable auto-deletecheckbox.
  10. In the Share type section, do the following:
  11. To shared the reserved resources with other projects, select Shared.
  12. Click Add projects, and then select the projects from the current project's organization that you want to share the future reservation request with. You can select up to 100 projects.
  13. Click Next.
  14. In the Future reservation name field, enter a name for your future reservation request.
  15. In the Prefix field, enter a name prefix. All auto-created reservations for this future reservation request use this prefix.
  16. To finish creating the draft future reservation request, clickSave a draft. The Reservations page appears. Creating the future reservation request can take up to a minute to complete. To verify when Compute Engine finishes creating it,view your future reservation requests.

After creating a draft future reservation request, you can determine thenumber of VMs that Compute Engine will provision for the request.

Specify properties directly

If you want to attach the auto-created reservations provisioned for a future reservation to a commitment, then you must disable the auto-delete option. For more information, seeRestrictions after creation.

To create a shared future reservation request by specifying properties directly, select one of the following options:

Console

  1. In the Google Cloud console, go to the Reservations page.
    Go to Reservations
  2. Click the Future reservations tab.
  3. Click Create future reservation. The Create a future reservation page appears.
  4. In the Machine configuration section, do the following:
    1. Select Specify machine type if it isn't already selected.
    2. Specify the machine type to use for the reserved VMs.
  5. In the Location section, in the Region and Zone lists, select the region and zone in which to reserve resources.
  6. In the Capacity details section, in the Total capacity needed, enter thetotal count of VMsthat you want to reserve.
  7. In the Reservation period section, do the following:
    1. In the Start time field, specify a start time for the reservation period. The start time can't be later than one year from when you submit your future reservation request for review. To have sufficient time to optionally modify, cancel, or delete the future reservation before it enters its lock time, specify arecommended value for the start time.
    2. In the End time field, specify an end time for the reservation period. In the Duration summary section, you can see the length of the reservation period. To increase the likelihood that Google Cloud approves your future reservation request after you submit it, specify arecommended value for the reservation period.
  8. Click Next.
  9. In the Auto-delete section, do one of the following:
    • To enable Compute Engine to automatically delete the auto-created reservations for your future reservation request, do the following:
      1. Select the Enable auto-delete checkbox.
      2. Optional: In the Auto-delete time field, enter a date and time when to delete the auto-created reservations. The date and time must be after the end time of the reservation period. If you leave this field empty, then Compute Engine deletes the auto-created reservations within two hours after the reservation period's end time.
    • To disable automatic deletion, clear the Enable auto-deletecheckbox.
  10. In the Share type section, do the following:
  11. To shared the reserved resources with other projects, select Shared.
  12. Click Add projects, and then select the projects from the current project's organization that you want to share the future reservation request with. You can select up to 100 projects.
  13. Click Next.
  14. In the Future reservation name field, enter a name for your future reservation request.
  15. In the Prefix field, enter a name prefix. All auto-created reservations for this future reservation request use this prefix.
  16. To finish creating the draft future reservation request, clickSave a draft. The Reservations page appears. Creating the future reservation request can take up to a minute to complete. To verify when Compute Engine finishes creating it,view your future reservation requests.

gcloud

To create a shared future reservation request by specifying properties directly, use thegcloud compute future-reservations create commandwith the --share-setting=projects and --share-with flags.

To create a draft future reservation request by specifying properties directly without including any optional flags, and auto-delete the auto-created reservation at the end of the reservation period, run the following command:

gcloud compute future-reservations create FUTURE_RESERVATION_NAME \
    --auto-delete-auto-created-reservations \
    --machine-type=MACHINE_TYPE \
    --share-setting=projects \
    --share-with=CONSUMER_PROJECT_IDS \
    --start-time=START_TIME \
    --end-time=END_TIME \
    --total-count=TOTAL_COUNT \
    --zone=ZONE

Replace the following:

YYYY-MM-DDTHH:MM:SSOFFSET  

Replace the following:

For example, suppose that you want to create a draft future reservation request namedfr-02 in zone us-central1-a with the following properties:

To createfr-02, run the following command:

gcloud compute future-reservations create fr-02 \
    --auto-delete-auto-created-reservations \
    --machine-type=n2-standard-4 \
    --share-setting=projects \
    --share-with=project-1,project-2 \
    --start-time=2024-11-10T00:00:00Z \
    --end-time=2024-12-10T00:00:00Z \
    --total-count=80 \
    --zone=us-central1-a

Optionally, you can do one or more of the following:

gcloud compute future-reservations create FUTURE_RESERVATION_NAME \  
    --accelerator=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE \  
    --auto-delete-auto-created-reservations \  
    --machine-type=MACHINE_TYPE \  
    --share-setting=projects \  
    --share-with=CONSUMER_PROJECT_IDS \  
    --start-time=START_TIME \  
    --end-time=END_TIME \  
    --total-count=TOTAL_COUNT \  
    --zone=ZONE  

Replace the following:

gcloud compute future-reservations create FUTURE_RESERVATION_NAME \  
    --no-auto-delete-auto-created-reservations \  
    --machine-type=MACHINE_TYPE \  
    --share-setting=projects \  
    --share-with=CONSUMER_PROJECT_IDS \  
    --start-time=START_TIME \  
    --end-time=END_TIME \  
    --total-count=TOTAL_COUNT \  
    --zone=ZONE  
gcloud compute future-reservations create FUTURE_RESERVATION_NAME \  
    --auto-delete-auto-created-reservations \  
    --local-ssd=count=NUMBER_OF_LOCAL_SSD_DISKS,size=375,interface=INTERFACE_TYPE \  
    --machine-type=MACHINE_TYPE \  
    --share-setting=projects \  
    --share-with=CONSUMER_PROJECT_IDS \  
    --start-time=START_TIME \  
    --end-time=END_TIME \  
    --total-count=TOTAL_COUNT \  
    --zone=ZONE  

Replace the following:

gcloud compute future-reservations create FUTURE_RESERVATION_NAME \  
    --auto-delete-auto-created-reservations \  
    --machine-type=MACHINE_TYPE \  
    --min-cpu-platform="MIN_CPU_PLATFORM" \  
    --share-setting=projects \  
    --share-with=CONSUMER_PROJECT_IDS \  
    --start-time=START_TIME \  
    --end-time=END_TIME \  
    --total-count=TOTAL_COUNT \  
    --zone=ZONE  

Replace MIN_CPU_PLATFORM with a minimum CPU platform. To make sure that a CPU platform is available in the zone where you're reserving resources,view the available CPU platforms by zone.

gcloud compute future-reservations create FUTURE_RESERVATION_NAME \  
    --auto-delete-auto-created-reservations \  
    --machine-type=MACHINE_TYPE \  
    --name-prefix=NAME_PREFIX \  
    --share-setting=projects \  
    --share-with=CONSUMER_PROJECT_IDS \  
    --start-time=START_TIME \  
    --end-time=END_TIME \  
    --total-count=TOTAL_COUNT \  
    --zone=ZONE  

Replace NAME_PREFIX with the name prefix for each auto-created reservation. To help you identify the auto-created reservations for this future reservation request, Google Cloud recommends to specify a unique name prefix.

REST

To create a shared future reservation request by specifying properties directly, make a POST request to thefutureReservations.insert method.

To create a draft future reservation request by specifying properties directly without including any optional fields, make a POST request as follows:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations

{
  "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,
  "name": "FUTURE_RESERVATION_NAME",
  "shareSettings": {
    "projects": [
      "CONSUMER_PROJECT_ID_1",
      "CONSUMER_PROJECT_ID_2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "specificSkuProperties": { 
    "instanceProperties": {
      "machineType": "MACHINE_TYPE"
    },
    "totalCount": TOTAL_COUNT
  },
  "timeWindow": {
    "startTime": "START_TIME",
    "endTime": "END_TIME"
  }
}

Replace the following:

YYYY-MM-DDTHH:MM:SSOFFSET  

Replace the following:

"duration": {  
  "seconds": END_DURATION  
}  

Replace END_DURATION with a duration in seconds. For example, specify 1209600 for 1,209,600 seconds (14 days).

For example, suppose that you want to create a draft future reservation request namedfr-02 in zone us-central1-a with the following properties:

To createfr-02, make a POST request as follows:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/futureReservations

{
  "autoDeleteAutoCreatedReservations": true,
  "name": "fr-02",
  "specificSkuProperties": { 
    "instanceProperties": {
      "machineType": "n2-standard-4"
    },
    "totalCount": 80
  },
  "shareSettings": {
    "projects": [
      "project-1",
      "project-2"
    ],
    "shareType": "SPECIFIC_PROJECTS"
  },
  "timeWindow": {
    "startTime": "2024-11-10T00:00:00Z",
    "endTime": "2024-12-10T00:00:00Z"
  }
}

Optionally, you can do one or more of the following:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations  
{  
  "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,  
  "name": "FUTURE_RESERVATION_NAME",  
  "namePrefix": "NAME_PREFIX",  
  "shareSettings": {  
    "projects": [  
      "CONSUMER_PROJECT_ID_1",  
      "CONSUMER_PROJECT_ID_2"  
    ],  
    "shareType": "SPECIFIC_PROJECTS"  
  },  
  "specificSkuProperties": {  
    "instanceProperties": {  
      "machineType": "MACHINE_TYPE"  
    },  
    "totalCount": TOTAL_COUNT  
  },  
  "timeWindow": {  
    "startTime": "START_TIME",  
    "endTime": "END_TIME"  
  }  
}  

Replace NAME_PREFIX with the name prefix for each auto-created reservation. To help you identify the auto-created reservations for this future reservation request, Google Cloud recommends to specify a unique name prefix.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations  
{  
  "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,  
  "name": "FUTURE_RESERVATION_NAME",  
  "shareSettings": {  
    "projects": [  
      "CONSUMER_PROJECT_ID_1",  
      "CONSUMER_PROJECT_ID_2"  
    ],  
    "shareType": "SPECIFIC_PROJECTS"  
  },  
  "specificSkuProperties": {  
    "instanceProperties": {  
      "guestAccelerators": [  
        {  
          "acceleratorCount": NUMBER_OF_ACCELERATORS,  
          "acceleratorType": "ACCELERATOR_TYPE"  
        }  
      ],  
      "machineType": "MACHINE_TYPE"  
    },  
    "totalCount": TOTAL_COUNT  
  },  
  "timeWindow": {  
    "startTime": "START_TIME",  
    "endTime": "END_TIME"  
  }  
}  

Replace the following:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations  
{  
  "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,  
  "name": "FUTURE_RESERVATION_NAME",  
  "shareSettings": {  
    "projects": [  
      "CONSUMER_PROJECT_ID_1",  
      "CONSUMER_PROJECT_ID_2"  
    ],  
    "shareType": "SPECIFIC_PROJECTS"  
  },  
  "specificSkuProperties": {  
    "instanceProperties": {  
      "localSsds": [  
        {  
          "diskSizeGb": "375",  
          "interface": "INTERFACE_TYPE"  
        },  
        {  
          "diskSizeGb": "375",  
          "interface": "INTERFACE_TYPE"  
        }  
      ],  
      "machineType": "MACHINE_TYPE"  
    },  
    "totalCount": TOTAL_COUNT  
  },  
  "timeWindow": {  
    "startTime": "START_TIME",  
    "endTime": "END_TIME"  
  }  
}  

Replace INTERFACE_TYPE with the type of disk interface that you want the Local SSD disks to use and thatyour specified machine type supports. Specify one of the following values:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations  
{  
  "autoDeleteAutoCreatedReservations": AUTO_DELETE_AUTO_CREATED_RESERVATIONS,  
  "name": "FUTURE_RESERVATION_NAME",  
  "shareSettings": {  
    "projects": [  
      "CONSUMER_PROJECT_ID_1",  
      "CONSUMER_PROJECT_ID_2"  
    ],  
    "shareType": "SPECIFIC_PROJECTS"  
  },  
  "specificSkuProperties": {  
    "instanceProperties": {  
      "machineType": "MACHINE_TYPE",  
      "minCpuPlatform": "MINIMUM_CPU_PLATFORM"  
    },  
    "totalCount": TOTAL_COUNT  
  },  
  "timeWindow": {  
    "startTime": "START_TIME",  
    "endTime": "END_TIME"  
  }  
}  

Replace MIN_CPU_PLATFORM with a minimum CPU platform. To verify that a CPU platform is available in the zone where you're reserving resources,view the available CPU platforms by zone.

After creating a draft future reservation request, you can determine thenumber of VMs that Compute Engine will provision for the request.

Submit a draft request

After a future reservation request is submitted, approved by Google Cloud, and past its lock time, you can delete the future reservation and its auto-created reservations only after the end of the future reservation's reservation period. Deleting an existing future reservation is useful if you need to create another future reservation with the same properties. Thus, before creating a future reservation request, make sure of the following:

If you want to modify one or more properties when submitting the draft future reservation request for review, then seeModify future reservation requestsinstead.

To submit a draft future reservation request to Google Cloud for review, select one of the following options:

Console

  1. In the Google Cloud console, go to the Reservations page.
    Go to Reservations
  2. Click the Future reservations tab.
  3. In the Name column, click the name of the future reservation request with a procurement status of Drafting. The Future reservationspage with the details of the future reservation request appears.
  4. Click Edit draft. A page to update the draft future reservation request appears.
  5. To submit the draft future reservation request for review, clickCreate. The Reservation page appears.

gcloud

To submit a draft future reservation request for review, use thegcloud compute future-reservations update commandwith the --planning-status flag set to SUBMITTED.

gcloud compute future-reservations update FUTURE_RESERVATION_NAME \
    --planning-status=SUBMITTED \
    --zone=ZONE

Replace the following:

REST

To submit a draft future reservation request for review, make a PATCHrequest to thefutureReservations.update method. In the request URL, include the updateMask query parameter set toplanningStatus.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/futureReservations/FUTURE_RESERVATION_NAME?updateMask=planningStatus

{
  "name": "FUTURE_RESERVATION_NAME",
  "planningStatus": "SUBMITTED"
}

Replace the following:

After you submit a draft future reservation request for review, you can do the following:

Troubleshoot

If you run into errors when creating a future reservation request, then see how totroubleshoot future reservation requests.

If you still encounter issues after troubleshooting, then contact youraccount team or thesales team.

What's next

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-06-15 UTC.