Extend commitment terms Stay organized with collections Save and categorize content based on your preferences.
Term extensions give you the flexibility to extend a commitment's termbeyond the preset 1 or 3 years and specify a custom term duration of yourchoice—for example, 2, 3.5, or 5.5 years. By extending your commitment'sterm, you can tailor your commitment's term to match your resource usage needsand keep receiving the resulting committed use discounts (CUDs) for that longerand custom duration. You can extend the terms of both 1-year and3-year commitments as follows:
- 1-year commitments: You can specify custom term durations that aregreater than 1 year and less than 3 years.
- 3-year commitments: You can specify custom term durations that aregreater than 3 years and less than 6 years.
For other ways to keep your commitments active for a longer duration, see thefollowing alternatives:
- If you have a 1-year commitment and you want a higher discountrate in addition to a longer term, thenupgrade your commitment.
- If you want your commitment to automatically renew for one or more fullterms, thenenable auto-renewal on your commitment.
How term extension works
A commitment is active for a specific period, defined by its start and enddates, known as itsterm. If a commitment has auto-renewal enabled, it beginsa new term each time it renews. When you perform a term extension, you aremodifying the end date of only the commitment'songoing term—the termthat is active when you request the extension.
You can extend a commitment's ongoing term and set a custom term duration byspecifying a future end date of your choice.Your commitment then becomes a custom term commitment. For 1-yearcommitments, the custom end date can be anywhere between 1 and 3 years (butcan't be exactly 3 years) after the start date of the ongoing term. For 3-yearcommitments, the custom end date can be anywhere between 3 and 6 years (butcan't be exactly 6 years) after the start date of the ongoing term.
You can perform a term extension for both new and existing commitments asfollows:
- New commitments: You canspecify a custom end date when you purchase the commitment.
- Existing commitments: After your commitment becomes active, you canspecify or update the custom end date by updating the commitment's properties.
After you place a term extension request for your commitment, the changes takeeffect at 12 AM US and Canadian Pacific Time (UTC-8, or UTC-7 during daylightsaving time) on the following day. Your commitment remains active until the newcustom end date and its term gets adjusted accordingly. Extending yourcommitment's term doesn't affect the other properties of the commitment:
- Name
- Start date
- Region
- Project
- Commitment type
- Commitment plan
- Auto-renewal setting
- Committed resources
Extending your commitment's term doesn't change the CUD ratethat you receive in return for that commitment.
Anyreservations that are attached to your commitmentcontinue to exist throughout the lifetime of your extended term, unless youmanually replace them.
Term extension eligibility window
After a commitment's term begins, you have a limited time period during whichyou can request a term extension. This time period is called theterm extension eligibility window.
Regardless of whether the commitment has a preset or custom term duration, theterm extension eligibility window depends on the most recent operation that youperformed on the commitment. Depending on the operation, the term extensioneligibility window applies in the following ways:
Newly purchased commitments: For 1-year commitments, the eligibilitywindow remains open up to four months after the commitment activation. For3-year commitments, the eligibility window remains open up to one year afterthe commitment activation.
Auto-renewed commitments: If your commitment automatically renews for anew term, then the eligibility window refreshes at the start of the renewedterm. For 1-year commitments, the eligibility window remains open up to fourmonths from the start of the renewed term. For 3-year commitments, theeligibility window remains open up to one year from the start of the renewedterm.
Merged commitments: If you merge commitments that have differenteligibility windows, then, for the merged commitment, Compute Engineuses the eligibility window that ends the earliest.
Split commitments: When you split a commitment, the eligibility windowremains the same for both the resized source commitment and the new splitcommitment.
Upgraded commitments: When you upgrade a 1-year commitment into a3-year commitment, Compute Engine also updates the eligibilitywindow for the commitment. The updated window remains open up to 1 yearfrom the start of the ongoing term.
For example, suppose that your 1-year commitment's start date is January1, 2024. The eligibility window for your original 1-year term remains openuntil May 1, 2024. Suppose that you then upgraded this commitment to a3-year commitment on April 1, 2024. After the upgrade, yourcommitment's updated eligibility window remains open until January 1, 2025.
Performing multiple term extensions
You can extend the term of your commitment any number of times within theterm extension eligibility window. On any given day, for any given activecommitment, you can place multiple term extension requests until 12 AM US andCanadian Pacific Time (UTC-8 or UTC-7) of the next day, as long as you specifya later end date each time. However, Google recommends that you minimizethe number of term extension requests that you place for a single commitment ona given day.
After your term extension for a specific end date takes effect and yourcommitment has a new custom end date, you can't undo the term extension orreduce the duration of your commitment's term. You can perform subsequentextension operations only for end dates that are later than the most recentlyspecified end date.
Impact of pending commitment update requests
For existing, active commitments that already have a pending update request, youcan place a new term extension request only if the pending request is also for aterm extension. If the commitments have any pending update requests—suchas merge, split, upgrade, or auto-renewal setting update—then, torequest term extensions, you must wait for the pending operations to completeand the updates to take effect. After 12 AM US andCanadian Pacific Time (UTC-8 or UTC-7) on the following day, when the updatestake effect, you can request a term extension for that commitment.
Pricing implications
Your commitment fee is the sum of the discounted prices of all your committedresources. When you extend your commitment's term, the discounted pricesof your resources stay the same for the entirety of your custom term,even if the on-demand prices change. For more information about resource prices,seeCompute Engine pricing
Note: If you merge or split your commitments, then the discounted prices foryour committed resources might change on the day that your merged or splitcommitments become active.Quota considerations
To specify a custom end date while purchasing a commitment, you must havesufficientquota available both for the commitment and the committed resources.To specify a custom end date for an existing commitment, you don't typicallyneed to request any additional quota.
How term extension affects future commitment operations
If your commitment has a custom term duration, then performing any subsequentcommitment management operations on your custom term commitment might affect itscustom end date and eligibility window. The following sections explain how acustom term commitment behaves during other commitment operations:
Auto-renewing custom term commitments
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.
For example, suppose that your 1-year commitment's start date was January 1, 2024. You extend the term of this commitment and specify a custom end date of June 30, 2025. If you also enabled auto-renewal on your commitment, then, on July 1, 2025, your commitment gets renewed for another term of 1 year. The end date of the renewed term will be June 30, 2026. The term extension eligibility window during that renewed term remains open until November 1, 2025.
For more information about auto-renewal of commitments, seeRenew commitments automatically.
Merging custom term commitments
Merge operations behave the same way for both commitments with custom termdurations and preset term durations. The merged commitment inheritsthe following properties:
- The end date that is furthest in the future among the source commitments,regardless of whether it's a custom end date.
- The eligibility window that ends the earliest among the source commitments.
For example, suppose you want to merge two custom term 1-year commitments. Thefirst commitment has a start date of January 1, 2024, and has a custom end dateof June 30, 2025. The eligibility window for the first commitment remains openuntil May 1, 2024. The second commitment has a start date of February 1, 2024,and a custom end date of July 30, 2025. The eligibility window for the secondcommitment remains open until June 1, 2024. If you merge these commitments onApril 1, 2024, then the merged commitment inherits July 30, 2025 as its enddate. The eligibility window for the merged commitment remains open until May 1,2024.
For more information about merging commitments, seeMerging commitments.
Splitting custom term commitments
Split operations behave the same way for both commitments with custom termdurations and preset term durations. The resized source commitment and thenew split commitments retain the same custom end date and term extensioneligibility window.
For example, suppose that your 1-year commitment's start date is January 1,2024, and has a custom end date of June 30, 2025. The eligibility window foryour commitment remains open until May 1, 2024. Suppose that on March 1, 2024,you split this commitment into two separate commitments. The newly splitcommitments inherit the custom end date of June 30, 2025, and their eligibilitywindows remain open until May 1, 2024.
For more information about splitting commitments, seeSplitting commitments.
Upgrading custom term commitments
You can upgrade 1-year commitments that have custom term durations. This worksthe same way as upgrading commitments that have preset term durations. When youupgrade a 1-year commitment with a custom term duration, Compute Enginedoes the following:
- Changes the commitment's plan to 3-years
- Moves the end date of the commitment's ongoing term by two years into thefuture.
For example, suppose that your 1-year commitment has a start date of January1, 2024, and has a custom end date of June 30, 2025. The eligibility window foryour original 1-year term remains open until May 1, 2024. If you upgrade thiscommitment on April 1, 2024, then the commitment changes to a 3-year commitmentwith an end date of June 30, 2027. The commitment's updated eligibility windowremains open until January 1, 2025. You also start receiving the CUD rate thatis applicable for a 3-year commitment.
For more information about upgrading commitments, seeUpgrade commitments.
Limitations
The following limitations apply to term extensions of resource-basedcommitments:
- You can extend the terms of only hardware resource commitments.
- You can't extend the terms of inactive or expired commitments.
- For 1-year commitments, you can't specify a custom end date that resultsin a total commitment term of 3 years or longer. Instead, considerchanging your commitment's plan from a 1-year to 3-year byupgrading your commitment.
- For 3-year commitments, you can't specify a custom end date that resultsin a total commitment term of 6 years or longer.Instead, considerenabling auto-renewal on your commitment.Auto-renewal enables your commitment to renew for another term of 3 fullyears.
- When a custom term commitment renews, the new term has the 1-year or3-year duration that is defined by the commitment's plan, rather than thecustom duration.
- For existing active commitments that already have a pending commitmentupdate request, you can place a new term extension request only if thepending request is also for a term extension. If the commitments have anyother pending update requests—such as merge, split, upgrade, orauto-renewal setting update—then, to request term extensions, you mustwait until after 12 AM US and Canadian Pacific Time (UTC-8 or UTC-7)on the following day for the pending operations to complete and the updatesto take effect.
Requirements
You must meet the following requirements to successfully extend the termof a commitment:
- The term extension request must be placed during the term extensioneligibility window for the commitment.
- For 1-year commitments, the custom end date must be between 1 and 3years (but can't be exactly 3 years) into the future from the start date ofthe ongoing term.
- For 3-year commitments, the custom end date must be between 3 and 6years (but can't be exactly 6 years) into the future from the start date ofthe ongoing term.
- You mustn't have any other ongoing or pending merge, split, upgrade, orrenewal operations for that commitment.
Best practices
Google recommends that you follow these best practices when you extend acommitment's term:
- Before you place a term extension request, wait for all other pendingcommitment operations to complete and the updates to take effect.
- Minimize the number of term extension requests that you place for a singlecommitment on the same day.
Extend the term when you purchase the commitment
When you purchase a commitment, you can specify a custom end date to extend thepreset 1- or 3-year term.
Permissions required for this task
To perform this task, you must have the followingpermissions:
compute.commitments.createon the project or organization.
To extend the term of a commitment when you purchase it, use one of thefollowing options:
Console
Before you purchase your commitment, in the Google Cloud console, selectthe project that you want to use to purchase the commitment. IfCUD sharingis enabled for a Cloud Billing account, you can purchase the commitmentusing any project from that Cloud Billing account.
In the Google Cloud console, go to theCommitted use discountspage.
TheCommitment list page opens and displays theHardwarecommitments tab.
ClickPurchase commitment.
ThePurchase a committed use discount page opens and displays theHardware tab.
In theName field, enter a name for your commitment.
In theRegion field, select the region where you want to commit topurchasing Compute Engine resources.
In theCommitment type field, select the machine family series foryour committed resources.The following commitment type options are available:
- For A2 machine types, selectAccelerator-optimized A2
- For A3 Edge and A3 High machine types, selectAccelerator-optimized A3
- For A3 Mega machine types, selectAccelerator-optimized A3 MegaNote: For A4X, A4, or A3 Ultra machine types, you must purchase your commitments by using thefuture reservations in AI Hypercomputer consumption option. For more information, see Reserve capacity through your account team.
- For G2 machine types, selectGraphics-optimized G2
- For G4 machine types, selectGraphics-optimized G4
- For C2 machine types, selectCompute-optimized C2
- For C2D machine types, selectCompute-optimized C2D
- For H3 machine types, selectCompute-optimized H3
- For H4D machine types, selectCompute-optimized H4D
- For C3 machine types, selectGeneral-Purpose C3
- For C3D machine types, selectGeneral-Purpose C3DCaution: For C3 and C3D commitment types, the machine family that is specified by the commitment type changes depending on the interface:
- In the gcloud CLI and REST, the commitment type values useCompute-optimized as the machine family, even though C3 and C3D are part of the general-purpose machine family.
- In the Google Cloud console, the commitment type values use the correct machine series:General-Purpose.
- For C4 machine types, selectGeneral-Purpose C4
- For C4A machine types, selectGeneral-Purpose C4A
- For C4D machine types, selectGeneral-Purpose C4D
- For E2 machine types, selectGeneral-Purpose E2
- For N1 machine types, selectGeneral-Purpose N1
- For N2 machine types, selectGeneral-Purpose N2
- For N2D machine types, selectGeneral-Purpose N2D
- For N4 machine types, selectGeneral-Purpose N4
- For N4D machine types, selectGeneral-Purpose N4D
- For N4A machine types, selectGeneral-Purpose N4A
- For Tau T2D machine types, selectGeneral-Purpose T2D
- For M1 or M2 machine types, selectMemory-optimized M1/M2
- For M3 machine types, selectMemory-optimized M3
- For M4 machine types, selectMemory-optimized M4
- For M4 machine types with 6 TB of memory, selectMemory-optimized M4 6TB
- For the X4 machine type with 6 TB of memory, selectMemory-optimized X4 480 6T
- For the X4 machine type with 8 TB of memory, selectMemory-optimized X4 480 8T
- For the X4 machine type with 12 TB of memory, selectMemory-optimized X4 960 12T
- For the X4 machine type with 16 TB of memory, selectMemory-optimized X4 960 16T
- For the X4 machine type with 24 TB of memory, selectMemory-optimized X4 1440 24T
- For the X4 machine type with 32 TB of memory, selectMemory-optimized X4 1920 32T
- For Z3 machine types, selectStorage-optimized Z3
In theDuration section, do the following:
- To choose your commitment plan, select1 year or3 years.This selection defines the minimum duration for your commitment'sterm.
- To specify a custom end date for your commitment, click theExtend end date toggle, and then, in theDate field, specifya custom end date.
In theCores field, enter the number of vCPUs that you want tocommit to purchasing.
In theMemory field, enter the amount, in GB, of memory that youwant to commit to purchasing.
You can specify memory only in increments of 0.25 GB. To specify acustom memory value for your commitment, use gcloud CLIor REST instead.
To commit to purchasing GPUs, in theGPUs section, clickAdd GPU,and then do the following:
- In theGPU type field, select the type of GPU.
- In theNumber of GPUs field, enter the number of GPUs.
- Optional: If your GPU model supportsNVIDIA RTX Virtual Workstations (vWS) for graphics workloads,and you plan to run graphics-intensive workloads, select theEnableVirtual Workstation (NVIDIA GRID) checkbox.
To commit to purchasing Local SSD disks, in theLocal SSDs section,click addAdd SSD, and then, in theNumber of SSDs field,specify the number of disks.
If you specified any GPUs or Local SSD disks in your commitment, thenattach matching reservations for those resources in one of the followingways. Repeat this step for every new reservation that you want to attach.
- To attach one or more existing reservations to the commitment,in theReservations field, selectAttach existing reservations, and then follow the steps listedin theAttach existing reservationssection.
- To create a new reservation and attach it to the commitment, intheReservations field, selectCreate reservations, and thenfollow the steps listed in theCreate new reservations to attachsection.
To finish purchasing your commitment, do the following:
- ClickPurchase.
- In thePurchase a committed use discount dialog, if youagree with theservice specificterms,clickPurchase again.
gcloud
To purchase a commitment with a custom and extended term, run thegcloud compute commitments create commandand include the--custom-end-time flag.
For example, to purchase a commitment for vCPUs, memory, or both, use thefollowing command:
gcloud compute commitments createCOMMITMENT_NAME \ --region=REGION \ --project=PROJECT_ID \ --plan=COMMITMENT_PLAN \ --type=COMMITMENT_TYPE \ --resources=vcpu=NUMBER_VCPUS,memory=MEMORY \--custom-end-time=CUSTOM_END_DATE
Replace the following:
COMMITMENT_NAME: the name of the commitmentREGION: the region of the commitment and whereyou want to commit to purchasing Compute Engine resources.PROJECT_ID: the ID of the projectCOMMITMENT_PLAN: the commitment plan. Thisproperty also determines the minimum duration for which you must committo purchasing resources. Specify one of the following values:- For a 1-year commitment:
12-month - For a 3-year commitment:
36-month.
- For a 1-year commitment:
COMMITMENT_TYPE: the machine series for whichyou want to commit to purchasing resources. The following optionsare available:- For A2 machine types, use
accelerator-optimized - For A3 Edge and A3 High machine types, use
accelerator-optimized-a3 - For A3 Mega machine types, use
accelerator-optimized-a3-megaNote: For A4X, A4, or A3 Ultra machine types, you must purchase your commitments by using thefuture reservations in AI Hypercomputer consumption option. For more information, see Reserve capacity through your account team. - For G2 machine types, use
graphics-optimized - For G4 machine types, use
graphics-optimized-g4 - For C2 machine types, use
compute-optimized - For C2D machine types, use
compute-optimized-c2d - For C3 machine types, use
compute-optimized-c3 - For C3D machine types, use
compute-optimized-c3dCaution: For C3 and C3D commitment types, the machine family that is specified by the commitment type changes depending on the interface:- In the gcloud CLI and REST, the commitment type values useCompute-optimized as the machine family, even though C3 and C3D are part of the general-purpose machine family.
- In the Google Cloud console, the commitment type values use the correct machine series:General-Purpose.
- For H3 machine types, use
compute-optimized-h3 - For H4D machine types, use
compute-optimized-h4d - For N1 machine types, use
general-purpose - For C4 machine types, use
general-purpose-c4 - For C4A machine types, use
general-purpose-c4a - For C4D machine types, use
general-purpose-c4d - For E2 machine types, use
general-purpose-e2 - For N2 machine types, use
general-purpose-n2 - For N2D machine types, use
general-purpose-n2d - For N4 machine types, use
general-purpose-n4 - For N4D machine types, use
general-purpose-n4d - For N4A machine types, use
general-purpose-n4a - For Tau T2D machine types, use
general-purpose-t2d - For M1 or M2 machine types, use
memory-optimized - For M3 machine types, use
memory-optimized-m3 - For M4 machine types, use
memory-optimized-m4 - For M4 machine types with 6 TB of memory, use
memory-optimized-m4-6tb - For X4 machine types with 6 TB of memory, use
memory-optimized-x4-6t - For X4 machine types with 8 TB of memory, use
memory-optimized-x4-8t - For X4 machine types with 12 TB of memory, use
memory-optimized-x4-12t - For X4 machine types with 16 TB of memory, use
memory-optimized-x4-960-16t - For X4 machine types with 24 TB of memory, use
memory-optimized-x4-1440-24t - For X4 machine types with 32 TB of memory, use
memory-optimized-x4-1920-32t - For Z3 machine types, use
storage-optimized-z3
If you don't specify the
--typeflag, then Compute Engine usesgeneral-purposeas the default value.- For A2 machine types, use
NUMBER_VCPUS: the number of vCPUs that youwant to commit to purchasing.MEMORY: the amount, in MB or GB, of memory youwant to commit to purchasing—for example,1000MBor100GB. Ifyou don't specify the units, then Compute Engine usesGBasthe default unit.CUSTOM_END_DATE: the custom end date for yourterm, which must be formatted asYYYY-MM-DD.For example, to specify a custom end date of April 20, 2024, format itas2024-04-20.
For detailed syntax of how to extend the term when you purchase acommitment for GPUs, local SSD disks, or both, seePurchase commitments with attached reservations.
For example, consider a 1-year commitment calledexample-commitment forfour N1 vCPUs and nine GB memory in regionus-central1. Suppose thatyou want to purchase this commitment on January 1, 2024, and want a customterm that ends at the end of June 30, 2025. To purchase this commitment,run the following command:
gcloud compute commitments create example-commitment \ --region=us-central1 \ --project=my-project --plan=12-month \ --type=general-purpose --resources=memory=9GB,vcpu=4 \--custom-end-time=2025-07-01
REST
To purchase a commitment with a custom and extended term, make aPOSTrequest to theregionCommitments.insert method.In the request body, include thecustomEndTimestamp field.
For example, to purchase a commitment for vCPUs, memory, or both, use thefollowingPOST request body:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments{ "name": "COMMITMENT_NAME", "plan": "COMMITMENT_PLAN", "type": "COMMITMENT_TYPE", "resources": [ { "amount": "NUMBER_VCPUS", "type": "VCPU" }, { "amount": "MEMORY", "type": "MEMORY" }, ],"customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ",}Replace the following:
COMMITMENT_NAME: the name of the commitmentREGION: the region of the commitment and whereyou want to commit to purchasing Compute Engine resources.PROJECT_ID: the ID of the projectCOMMITMENT_PLAN: the commitment plan. Thisproperty also determines the minimum duration for which you must committo purchasing resources. Specify one of the following values:- For a 1-year commitment:
TWELVE_MONTH - For a 3-year commitment:
THIRTY_SIX_MONTH.
- For a 1-year commitment:
COMMITMENT_TYPE: the machine series for whichyou want to commit to purchasing resources. The following optionsare available:- For A2 machine types, use
ACCELERATOR_OPTIMIZED - For A3 Edge and A3 High machine types, use
ACCELERATOR_OPTIMIZED_A3 - For A3 Mega machine types, use
ACCELERATOR_OPTIMIZED_A3_MEGANote: For A4X, A4, or A3 Ultra machine types, you must purchase your commitments by using thefuture reservations in AI Hypercomputer consumption option. For more information, see Reserve capacity through your account team. - For G2 machine types, use
GRAPHICS_OPTIMIZED - For G4 machine types, use
GRAPHICS_OPTIMIZED_G4 - For C2 machine types, use
COMPUTE_OPTIMIZED - For C2D machine types, use
COMPUTE_OPTIMIZED_C2D - For C3 machine types, use
COMPUTE_OPTIMIZED_C3 - For C3D machine types, use
COMPUTE_OPTIMIZED_C3DCaution: For C3 and C3D commitment types, the machine family that is specified by the commitment type changes depending on the interface:- In the gcloud CLI and REST, the commitment type values useCompute-optimized as the machine family, even though C3 and C3D are part of the general-purpose machine family.
- In the Google Cloud console, the commitment type values use the correct machine series:General-Purpose.
- For H3 machine types, use
COMPUTE_OPTIMIZED_H3 - For H4D machine types, use
COMPUTE_OPTIMIZED_H4D - For N1 machine types, use
GENERAL_PURPOSE - For C4 machine types, use
GENERAL_PURPOSE_C4 - For C4A machine types, use
GENERAL_PURPOSE_C4A - For C4D machine types, use
GENERAL_PURPOSE_C4D - For E2 machine types, use
GENERAL_PURPOSE_E2 - For N2 machine types, use
GENERAL_PURPOSE_N2 - For N2D machine types, use
GENERAL_PURPOSE_N2D - For N4 machine types, use
GENERAL_PURPOSE_N4 - For N4D machine types, use
GENERAL_PURPOSE_N4D - For N4A machine types, use
GENERAL_PURPOSE_N4A - For Tau T2D machine types, use
GENERAL_PURPOSE_T2D - For M1 or M2 machine types, use
MEMORY_OPTIMIZED - For M3 machine types, use
MEMORY_OPTIMIZED_M3 - For M4 machine types, use
MEMORY_OPTIMIZED_M4 - For M4 machine types with 6 TB of memory, use
MEMORY_OPTIMIZED_M4_6TB - For X4 machine types with 6 TB of memory, use
MEMORY_OPTIMIZED_X4_480_6T - For X4 machine types with 8 TB of memory, use
MEMORY_OPTIMIZED_X4_480_8T - For X4 machine types with 12 TB of memory, use
MEMORY_OPTIMIZED_X4_960_12T - For X4 machine types with 16 TB of memory, use
MEMORY_OPTIMIZED_X4_960_16T - For X4 machine types with 24 TB of memory, use
MEMORY_OPTIMIZED_X4_1440_24T - For X4 machine types with 32 TB of memory, use
MEMORY_OPTIMIZED_X4_1920_32T - For Z3 machine types, use
STORAGE_OPTIMIZED_Z3
- For A2 machine types, use
NUMBER_VCPUS: the number of vCPUs that youwant to commit to purchasing.MEMORY: the amount, in MB, of memory that youwant to commit to purchasing—for example,10240MB.CUSTOM_END_DATE: the custom end date for yourterm, which must be formatted asYYYY-MM-DD.For example, to specify a custom end date of April 20, 2024, format itas2024-04-20.END_TIME: 12 AM US and Canadian Pacific Time(UTC-8 or UTC-7), as an offset ofCoordinated Universal Time (UTC).Specify one of the following values:- During daylight saving time:
07:00:00 - During other times:
08:00:00
- During daylight saving time:
For detailed syntax of how to extend the term when you purchase acommitment for GPUs, local SSD disks, or both, seePurchase commitments with attached reservations.
For example, consider a 1-year commitment calledexample-commitment forfour N1 vCPUs and nine GB memory in regionus-central1. Suppose thatyou want to purchase this commitment on January 1, 2024, and want a customterm that ends at the end of June 30, 2025. To purchase this commitment,make the following request:
POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments{ "name": "example-commitment", "plan": "TWELVE_MONTH", "type": "GENERAL_PURPOSE", "resources": [ { "amount": "4", "type": "VCPU" }, { "amount": "9216", "type": "MEMORY" }, ],"customEndTimestamp": "2025-07-01T07:00:00Z",}Extend the term of an existing commitment
You can extend the term of an existing, active commitment by updating thecommitment's properties to specify or update the custom end date.
Permissions required for this task
To perform this task, you must have the followingpermissions:
compute.commitments.updateon the project or organization.
To extend the term of an existing commitment, use one of the followingoptions:
Console
Before you initiate the term extension operation, on the Google Cloud console,select the project where you want to extend your commitment's term.
In the Google Cloud console, go to theCommitted use discounts page.
TheCommitment list page opens and displays theHardwarecommitments tab.
To initiate the term extension operation for a commitment, on theHardware commitments tab, select an active commitment, and thenclickExtend.
Alternatively, you can do the following:
- On theHardware commitments tab of theCommitment list page,click the name of the active commitment that you want to extend.
- On theHardware commitment details page for the selectedcommitment, clickExtend.
TheExtend pane appears for the selected commitment.
To complete the term extension operation, in theExtend pane for thecommitment, do the following:
- Review yourCommitment details.
- In theSelect an end date field, specify a custom end datefor your commitment.
- In theCommitment timeline section, review theNew end date field.
- To confirm the term extension request, clickExtend.
gcloud
To extend the term of an existing active commitment, run thegcloud compute commitments update commandand include the--custom-end-time flag.
gcloud compute commitments updateCOMMITMENT_NAME \ --region=REGION \ --project=PROJECT_ID \--custom-end-time=CUSTOM_END_DATE
Replace the following:
COMMITMENT_NAME: the name of the commitmentPROJECT_ID: the ID of the projectREGION: the region of the commitment and whereyou want to commit to purchasing Compute Engine resources.CUSTOM_END_DATE: the custom end datethat you want for your term, in theYYYY-MM-DDformat, whereYYYYis the year,MMis the month, andDDis the day. For example, to specify a customend date of April 20, 2024, format it as2024-04-20.
For example, consider the 1-year custom term commitment,example-commitment, that was purchased for four N1 vCPUs and nine GBmemory in regionus-central1. This commitment was purchased on January 1,2024, and expires on June 30, 2025. To extend its term further untilthe end of June 30, 2026, run the following command:
gcloud compute commitments update example-commitment \ --region=us-central1 \ --project=my-project \--custom-end-time=2026-07-01
REST
To extend the term of an existing active commitment, make aPATCHrequest to theregionCommitments.update method.In the request body, include thecustomEndTimestamp field.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments/COMMITMENT_NAME{ "name": "COMMITMENT_NAME","customEndTimestamp": "CUSTOM_END_DATETEND_TIMEZ",}Replace the following:
COMMITMENT_NAME: the name of the commitmentREGION: the region of the commitment and whereyou want to commit to purchasing Compute Engine resources.PROJECT_ID: the ID of the projectCUSTOM_END_DATE: the custom end datethat you want for your term, in theYYYY-MM-DDformat, whereYYYYis the year,MMis the month, andDDis the day. For example, to specify a customend date of April 20, 2024, format it as2024-04-20.END_TIME: 12 AM US and Canadian Pacific Time(UTC-8 or UTC-7), as an offset ofCoordinated Universal Time (UTC).Specify one of the following values:- During daylight saving time:
07:00:00 - During other times:
08:00:00
- During daylight saving time:
For example, consider the 1-year custom term commitment,example-commitment, that was purchased for four N1 vCPUs and nine GBmemory in regionus-central1. This commitment was purchased on January 1,2024, and expires on June 30, 2025. To extend its term further untilthe end of June 30, 2026, make the following request:
PATCH https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments/example-commitment{ "name": "example-commitment","customEndTimestamp": "2026-07-01T07:00:00Z",}What's next
- Learn how torenew resource-based commitments automatically.
- Learn how toupgrade resource-based commitments.
- Learn how toanalyze the effectiveness of your CUDs.
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 2026-02-19 UTC.