The minimum time duration that you commit to purchasing resources. The plan that you choose determines the preset term length of the commitment (which is 1 year or 3 years) and affects the discount rate that you receive for your resources. Committing to a longer time duration typically gives you a higher discount rate. The supported values for this field are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Enum Commitment.Plan (1.82.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.82.0 (latest)](/java/docs/reference/google-cloud-compute/latest/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.80.0](/java/docs/reference/google-cloud-compute/1.80.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.78.0](/java/docs/reference/google-cloud-compute/1.78.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.77.0](/java/docs/reference/google-cloud-compute/1.77.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.74.0](/java/docs/reference/google-cloud-compute/1.74.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.73.0](/java/docs/reference/google-cloud-compute/1.73.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.72.0](/java/docs/reference/google-cloud-compute/1.72.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.70.0](/java/docs/reference/google-cloud-compute/1.70.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.69.0](/java/docs/reference/google-cloud-compute/1.69.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.68.0](/java/docs/reference/google-cloud-compute/1.68.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.67.0](/java/docs/reference/google-cloud-compute/1.67.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.66.0](/java/docs/reference/google-cloud-compute/1.66.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.65.0](/java/docs/reference/google-cloud-compute/1.65.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.64.0](/java/docs/reference/google-cloud-compute/1.64.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.63.0](/java/docs/reference/google-cloud-compute/1.63.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.62.0](/java/docs/reference/google-cloud-compute/1.62.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.61.0](/java/docs/reference/google-cloud-compute/1.61.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.59.0](/java/docs/reference/google-cloud-compute/1.59.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.58.0](/java/docs/reference/google-cloud-compute/1.58.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.57.0](/java/docs/reference/google-cloud-compute/1.57.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.56.0](/java/docs/reference/google-cloud-compute/1.56.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.55.0](/java/docs/reference/google-cloud-compute/1.55.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.54.0](/java/docs/reference/google-cloud-compute/1.54.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.53.0](/java/docs/reference/google-cloud-compute/1.53.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.52.0](/java/docs/reference/google-cloud-compute/1.52.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.51.0](/java/docs/reference/google-cloud-compute/1.51.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.50.0](/java/docs/reference/google-cloud-compute/1.50.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.49.0](/java/docs/reference/google-cloud-compute/1.49.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.47.0](/java/docs/reference/google-cloud-compute/1.47.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.46.0](/java/docs/reference/google-cloud-compute/1.46.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.45.0](/java/docs/reference/google-cloud-compute/1.45.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.44.0](/java/docs/reference/google-cloud-compute/1.44.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.43.0](/java/docs/reference/google-cloud-compute/1.43.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.42.0](/java/docs/reference/google-cloud-compute/1.42.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.41.0](/java/docs/reference/google-cloud-compute/1.41.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.40.0](/java/docs/reference/google-cloud-compute/1.40.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.39.0](/java/docs/reference/google-cloud-compute/1.39.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.38.0](/java/docs/reference/google-cloud-compute/1.38.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.37.0](/java/docs/reference/google-cloud-compute/1.37.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.34.0](/java/docs/reference/google-cloud-compute/1.34.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.33.0](/java/docs/reference/google-cloud-compute/1.33.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.32.0](/java/docs/reference/google-cloud-compute/1.32.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.31.0](/java/docs/reference/google-cloud-compute/1.31.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.30.0](/java/docs/reference/google-cloud-compute/1.30.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.29.0](/java/docs/reference/google-cloud-compute/1.29.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.28.0](/java/docs/reference/google-cloud-compute/1.28.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.27.0](/java/docs/reference/google-cloud-compute/1.27.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.26.0](/java/docs/reference/google-cloud-compute/1.26.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.25.0](/java/docs/reference/google-cloud-compute/1.25.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.24.0](/java/docs/reference/google-cloud-compute/1.24.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.23.0](/java/docs/reference/google-cloud-compute/1.23.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.22.0](/java/docs/reference/google-cloud-compute/1.22.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.21.0](/java/docs/reference/google-cloud-compute/1.21.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.20.0](/java/docs/reference/google-cloud-compute/1.20.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.19.0](/java/docs/reference/google-cloud-compute/1.19.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.18.0](/java/docs/reference/google-cloud-compute/1.18.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.17.0](/java/docs/reference/google-cloud-compute/1.17.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.16.0](/java/docs/reference/google-cloud-compute/1.16.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.15.0](/java/docs/reference/google-cloud-compute/1.15.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.14.0](/java/docs/reference/google-cloud-compute/1.14.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.13.0](/java/docs/reference/google-cloud-compute/1.13.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.12.1](/java/docs/reference/google-cloud-compute/1.12.1/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.11.0](/java/docs/reference/google-cloud-compute/1.11.0/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.9.1](/java/docs/reference/google-cloud-compute/1.9.1/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.8.1](/java/docs/reference/google-cloud-compute/1.8.1/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.7.2](/java/docs/reference/google-cloud-compute/1.7.2/com.google.cloud.compute.v1.Commitment.Plan)\n- [1.6.0-beta](/java/docs/reference/google-cloud-compute/1.6.0-beta/com.google.cloud.compute.v1.Commitment.Plan) \n\n public enum Commitment.Plan extends Enum\u003cCommitment.Plan\u003e implements ProtocolMessageEnum\n\nThe minimum time duration that you commit to purchasing resources. The plan that you choose determines the preset term length of the commitment (which is 1 year or 3 years) and affects the discount rate that you receive for your resources. Committing to a longer time duration typically gives you a higher discount rate. The supported values for this field are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).\n\nProtobuf enum `google.cloud.compute.v1.Commitment.Plan` \n\nImplements\n----------\n\n[ProtocolMessageEnum](https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.ProtocolMessageEnum.html) \n\nInherited Members\n-----------------\n\n[Enum.\\\u003cT\\\u003evalueOf(Class\\\u003cT\\\u003e,String)](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#valueOf-java.lang.Class-java.lang.String-) \n[Enum.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#clone--) \n[Enum.compareTo(E)](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#compareTo-E-) \n[Enum.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#equals-java.lang.Object-) \n[Enum.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#finalize--) \n[Enum.getDeclaringClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#getDeclaringClass--) \n[Enum.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#hashCode--) \n[Enum.name()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#name--) \n[Enum.ordinal()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#ordinal--) \n[Enum.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#toString--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)"]]