Extend the term length of commitments Stay organized with collections Save and categorize content based on your preferences.
Term extensions give you the flexibility to extend a commitment's term lengthbeyond the preset 1 or 3 years and specify a custom term length of yourchoice—for example, 2, 3.5, or 5.5 years. By extending your commitment'sterm, you can tailor your commitment's length to match your resource usage needsand keep receiving the resulting committed use discounts (CUDs) for that longerand custom time period. You can extend the term lengths of both 1-year and3-year commitments as follows:
- 1-year commitments: You can specify custom term lengths that are greaterthan 1 year and less than 3 years.
- 3-year commitments: You can specify custom term lengths that are greaterthan 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 different discountpercentage in addition to a longer term, thenupgrade the term of your commitment.
- If you want to extend your commitment's length by one or more fullterms, thenenable auto-renewal on your commitment.
How term extension works
You can extend your commitment's term length and set a custom term length byspecifying a future end date of your choice for that commitment's term.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 length gets adjusted accordingly. Extending yourcommitment's term length doesn't affect the other properties of the commitment:
- Name
- Start date
- Region
- Project
- Commitment type
- Commitment plan
- Auto renew status
- Committed resources
Extending your commitment's term length doesn't change the CUD percentagethat 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 for a term length extension. This time period is called the termextension eligibility window.
For commitments of both preset and custom term lengths, the term extensioneligibility window depends on the most recent operation that you performed ona commitment and behaves in the following ways:
Newly purchased commitments: For 1-year commitments, the eligibilitywindow remains open up to 4 months after the commitment activation. For3-year commitments, the eligibility window remains open up to 1 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 4months from the start of the renewed term. For 3-year commitments, theeligibility window remains open up to 1 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 term upgrade, yourcommitment's updated eligibility window remains open until January 1, 2025.
Performing multiple term extensions
You can extend the term length 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 your commitment's term length. You can perform subsequent extensionoperations only for end dates that are later than the most recently specifiedend 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 request—such asmerge, split, term 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 the midnight of the following day, whenthe updates take effect, you can request for a term extension for thatcommitment.
Pricing implications
Your commitment fee is the sum of the discounted prices of all your committedresources. When you extend your commitment's term length, the discounted pricesof your resources stay the same for the entirety of your custom term length,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 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 length, 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
Merging commitments that have custom term lengths works the same wayas commitments that have preset term lengths. 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 or not.
- 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
Splitting commitments that have custom term length works the same way ascommitments that have preset term lengths. 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
Upgrade of 1-year commitments that have a custom term length works the same wayas commitments that have the preset term length. After the upgrade,Compute Engine moves the end date of the commitment's ongoing term bytwo years into the future.
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. Suppose that you thenupgraded this commitment to a 3-year commitment on April 1, 2024. After the termupgrade, your commitment becomes a 3-year commitment that has an end date ofJune 30, 2027. The commitment's updated eligibility window remains open untilJanuary 1, 2025. You also start receiving the CUD percentage that is applicablefor the 3-year commitment.
For more information about upgrading commitments, seeUpgrade the term of commitments.
Limitations
The following limitations apply to term extensions of resource-basedcommitments:
- You can extend the term lengths of only hardware resource commitments.
- You can't extend the term lengths of inactive or expired commitments.
- You can't extend the term lengths of a 3-year commitment by a full 3 years.Instead, considerenabling auto-renewal on your commitment.
- You can renew custom term commitments only for the preset term lengthdefined by their commitment plans, which is either 1 or 3 years.
- 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 request—such as merge, split, term upgrade, orauto-renewal setting update—then, to request term extensions, you mustwait until after midnight of the following day for the pending operations tocomplete and the updates to take effect.
Requirements
You must meet the following requirements to successfully extend the term lengthof 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 length:
- 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 length during commitment purchase
When you purchase a commitment, you can specify a custom end date to extend thepreset 1- or 3-year term length.
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 length of a commitment while purchasing 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 (In Preview; CUDs available at GA)
- 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 specify your commitment's preset term length, selecteither1 year or3 years.
- 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 minimum preset term lengthfor which you want to commit to purchasing resources. Specify one of thefollowing 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(In Preview; CUDs available at GA) - 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 length while purchasing acommitment for GPUs, local SSD disks, or both, seePurchase commitments with attached reservations.
For example, consider a 1-year commitment calledexample-commitment for4 N1 vCPUs and 9 GB memory in theus-central1 region. 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 minimum preset term lengthfor which you want to commit to purchasing resources. Specify one ofthe 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(In Preview; CUDs available at GA) - 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 length while purchasing acommitment for GPUs, local SSD disks, or both, seePurchase commitments with attached reservations.
For example, consider a 1-year commitment calledexample-commitment for4 N1 vCPUs and 9 GB memory in theus-central1 region. Suppose that youwant to purchase this commitment on January 1, 2024, and want a custom termthat ends at the end of June 30, 2025. To purchase this commitment, make thefollowing 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 length of an existing commitment
You can extend the length of the existing, active commitment's ongoing term byupdating the commitment'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 length 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 length 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 4 N1 vCPUs and 9 GB memoryin theus-central1 region. This commitment was purchased on January 1,2024, and expires on June 30, 2025. To extend its term length 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 length 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 4 N1 vCPUs and 9 GB memoryin theus-central1 region. This commitment was purchased on January 1,2024, and expires on June 30, 2025. To extend its term length 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 the term of 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 2025-12-12 UTC.