Renew commitments automatically

If you have workloads with predictable resource requirements, you can lower yourcosts throughresource-based committed use discounts (CUDs).You can receive resource-based CUDs by purchasing resource-basedcommitmentsfor a term of either 1 or 3 years. By default, resource-based commitments expireat the end of their term. After a commitment's expiry, you must purchase a newcommitment to continue receiving CUDs.Auto-renewal of your resource-basedcommitment removes the need for you to manually repurchase the commitment everytime it expires. Auto-renewal of a commitment lets you indefinitelyextend an existing commitment and continue receiving CUDs for those committedresources.

This document explains how auto-renewal works and shows you how to do thefollowing:

  • Enable auto-renewal when you purchase new commitments.
  • Enable and disable auto-renewal on your existing active commitments.

How auto-renewal works

When you enable auto-renewal on a resource-based commitment, each time yourcommitment reaches the end of its term, Compute Engine automaticallyrenews that commitment for a new term. After you enable auto-renewal on acommitment, the setting remains enabled until you manually disable it.

You must enable auto-renewal separately on each commitment that you want toautomatically renew in a project. You can enable auto-renewal on yourcommitments on both new and existing commitments as follows:

  • Fornew commitments, when you purchase a commitment, you have theoption to specify whether you want the commitment to renew automatically.
  • Forexisting commitments that are active and don't have auto-renewalenabled, you can modify the commitment's properties and enable auto-renewal.You can't enable auto-renewal for expired commitments.

After you enable auto-renewal on a commitment, the current end date of yourcommitment becomes its renewal date. All other properties of your commitmentremain the same. At 12 AM US and Canadian Pacific Time (UTC-8, or UTC-7 duringdaylight saving time) on the current end date (the renewal date), yourcommitment's renewed term automatically begins.

The renewed term length of an automatically renewing commitment always matches the preset term length defined by the commitment's plan, which is either 1 year or 3 years. You also receive the same discount percentage. Even if your commitment has a custom term length, Compute Engine renews your commitment only for its preset term length of either 1 or 3 years. Auto-renewal of a custom term commitment won't be for another term of that custom length. For examples, see the following:

  • A commitment with a custom term of 1.5 years will renew only for 1 additional year.
  • A commitment with a custom term of 5.5 years will renew only for 3 additional years.

If you want a custom term commitment to stay active for a longer time period than the renewed term, then you can request for another term extension after its renewal. Your term extension eligibility window also gets refreshed at the start of your renewed term. For a 1-year commitment, the eligibility window during the renewed term remains open for up to 4 months after the renewal. For 3-year commitments, this window remains open for up to 1 year after the renewal.

At the end of the renewed term, Compute Engine again renews yourcommitment for a new term, unless you manually disable auto-renewal during thecommitment's term.

You can enable auto-renewal on your commitment anytime before the commitment isset to expire. Likewise, you can disable auto-renewal on your commitment anytimebefore its renewal date. For example, if you have a 1-year commitmentthat is set to expire at 12 AM (UTC-8) on January 1, 2024, then you can enableauto-renewal on that commitment anytime before 12 AM (UTC-8) on January 1, 2024.After you enable auto-renewal, your commitment automatically renews for anadditional year at 12 AM (UTC-8) on January 1, 2024. If you then want todisable auto-renewal, then you can do so anytime before 12 AM (UTC-8) onJanuary 1, 2025.

By activating auto-renewal on a commitment, you agree to the following:

  • You have your commitment automatically renewed for a new term on its currentend date.
  • You continue paying for your committed resources over the new term.

Example of auto-renewal

Consider an example 1-year commitmentmy-commitment-1 that does not renewautomatically. Suppose you purchase this commitment on January 1, 2020 for100 N2 vCPUs. The term of your commitment is scheduled to end on January 1,2021. Suppose you perform the following series of operations on this commitment:

  1. You enable auto-renewal on this commitment before its end date.
  2. After the commitment's term gets renewed 2 times, you disable auto-renewal on the commitment and let your commitment expire on its new end date.

The following table shows how the commitment's properties behave throughout thelifetime of this commitment:

Original term
(Before enabling auto-renewal)
Original term
(After enabling auto-renewal)
First automatically renewed term
(Auto-renewal remains enabled)
Second automatically renewed term
(Before disabling auto-renewal)
Second automatically renewed term
(After disabling auto-renewal)
Term duration1 year1 year1 year1 year1 year
Discount37%37%37%37%37%
Start date*January 1, 2020January 1, 2020January 1, 2020January 1, 2020January 1, 2020
End date or renewal dateJanuary 1, 2021January 1, 2021January 1, 2022January 1, 2023January 1, 2023
Action on the end or renewal dateCommitment scheduled to expireCommitment scheduled to renewCommitment scheduled to renewCommitment scheduled to renewCommitment scheduled to expire
Term extension eligibility window open untilMay 1, 2020May 1, 2021May 1, 2021May 1, 2022May 1, 2022

*The commitment starts at 12 AM US and Canadian Pacific Time(UTC-8 or UTC-7) on the specified start date.
The commitment ends or gets renewed at 12 AM US and Canadian PacificTime (UTC-8 or UTC-7) on the specified end date.
Even if the total duration of your commitment period becomes 3years or more, the discount percentage for your auto-renewed commitment remainsunchanged because the duration of each term is still 1 year.

Quota considerations

You don't need to request additional quota because renewed commitments use thesame quota as the original commitment. For more information about quota forcommitments, seeQuotas for commitments and committed resources.

Pricing implications

Your commitment fee is the sum of the discounted prices of all your committedresources. When you renew your commitment's term, the discounted prices of allyour committed resources are recalculated and might change. To do thisrecalculation, Compute Engine uses the prevailing on-demand prices ofthe resources on the day your renewed term becomes active. You retain theseprices for your resources throughout your new term, even if the on-demand priceschange.

Note: If you merge or split your commitments, then the discounted prices foryour committed resources might change on the day your merged or splitcommitments become active.

Limitations

  • You can enable auto-renewal only on your resource-based commitments.
  • You can enable auto-renewal only on your active commitments.
  • To create a commitment that renews automatically, you must use thegcloud CLI and the Compute Engine API. You can't do so byusing the Google Cloud console. However, you can enable auto-renewal onan already active commitment by using the gcloud CLI, theCompute Engine API, or the Google Cloud console.

Enable auto-renewal on commitments

To have your commitment automatically renew at the end of its term, enableauto-renew in one of the following ways:

  • Enable auto-renewal while purchasing a new commitment
  • Enable auto-renewal on an existing commitment

Enable auto-renewal while purchasing a new commitment

You can enable auto-renewal while purchasing a new commitment by using thegcloud CLI or REST.

Permissions required for this task

To perform this task, you must have the followingpermissions:

  • compute.commitments.create on the project

gcloud

To purchase a commitment that renews automatically, run thegcloud commitments create commandand include the--auto-renew flag.

For example, the following gcloud CLI command creates a 3-yearcommitment that renews automatically.

gcloud compute commitments createCOMMITMENT \    --auto-renew \    --plan=36-month \    --region=us-west1 \    --project=PROJECT_ID \    --resources=vcpu=4,memory=9

Replace the following:

  • COMMITMENT: the name of the new commitment.
  • PROJECT_ID: the project ID of the project whereyou want to create the commitment.

REST

To purchase a commitment that renews automatically, make aPOST request totheregionCommitments.insert methodand set theautoRenew field totrue.

For example, the following Compute Engine API request creates a 3-yearcommitment that renews automatically.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/commitments{  "name": "COMMITMENT",  "plan": "THIRTY_SIX_MONTH",  "resources": [    {      "type": "VCPU",      "amount": 4    },    {      "type": "MEMORY",      "amount": 9    }  ],  "autoRenew": true}

Replace the following:

  • COMMITMENT: the name of the new commitment.
  • PROJECT_ID: the project ID of the project whereyou want to create the commitment.

Enable auto-renewal on an existing commitment

You can enable auto-renewal on an existing commitment by using theGoogle Cloud console, gcloud CLI, or theREST.

Permissions required for this task

To perform this task, you must have the followingpermissions:

  • compute.commitments.update on the project or organization

Console

  1. In the Google Cloud console, go to theCommitted use discountspage.

    Go to Committed use discounts

  2. In theCommitment list, underHardware commitments, click theName of the commitment.

  3. On theHardware commitment details page, click theAuto renewtoggle.

gcloud

To enable auto-renewal on an existing commitment, run thegcloud commitments update commandand include the--auto-renew flag.

gcloud compute commitments updateCOMMITMENT \    --auto-renew

ReplaceCOMMITMENT with the name of the commitment.

REST

To enable auto-renewal on an existing commitment, make aPOST request totheregionCommitments.updatemethod and set theautorenew field totrue.

For example, the following Compute Engine API request enablesauto-renew for a commitment in theus-west1 region.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/commitments{  "name": "COMMITMENT",  "autoRenew": true}

Replace the following:

  • COMMITMENT: the name of the commitment to update.
  • PROJECT_ID: the project ID of the project whereyou want to update the commitment.

Disable auto-renewal on commitments

When you purchase new commitments, auto-renewal is disabled by default unlessyou specifically enable it. If you don't want your commitment to automaticallyrenew at the end of its term, then you can do one of the following:

  • Keep auto-renewal disabled while purchasing a new commitment.
  • Disable auto-renewal on an existing commitment.

Disable auto-renewal while purchasing a new commitment

For detailed steps to purchase new commitments that have auto-renewal disabledby default, see the following sections. Select the option that is relevant toyour use case.

Disable auto-renewal on an existing commitment

You can disable auto-renewal on an existing commitment by using theGoogle Cloud console, gcloud CLI, or theCompute Engine API.

Permissions required for this task

To perform this task, you must have the followingpermissions:

  • compute.commitments.update on the project or organization

Console

  1. In the Google Cloud console, go to theCommitted use discountspage.

    Go to Committed use discounts

  2. In theCommitment list, underHardware commitments, click theName of the commitment.

  3. On theHardware commitment details page, click theAuto renewtoggle.

gcloud

Disable auto-renewal on an existing commitment by using thegcloudcommitments update command.

gcloud compute commitments updateCOMMITMENT --no-auto-renew

ReplaceCOMMITMENT with the name of the commitment.

REST

Disable auto-renewal on an existing commitment by using theregionCommitments.update method.

For example, the following Compute Engine API request disablesauto-renewal for a commitment in theus-west1 region.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/commitments{  "name": "COMMITMENT",  "autoRenew": false}

Replace the following:

  • COMMITMENT: the name of the commitment to update.
  • PROJECT_ID: the project ID of the project whereyou want to update the commitment.

What's next

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

Last updated 2025-12-15 UTC.