public sealed class QuotaPreference : IMessage<QuotaPreference>, IEquatable<QuotaPreference>, IDeepCloneable<QuotaPreference>, IBufferMessage, IMessage
Reference documentation and code samples for the Cloud Quotas v1 API class QuotaPreference.
QuotaPreference represents the preferred quota configuration specified for
a project, folder or organization. There is only one QuotaPreference
resource for a quota value targeting a unique set of dimensions.
Input only. An email address that can be used to contact the the user, in
case Google Cloud needs more information to make a decision before
additional quota can be granted.
When requesting a quota increase, the email address is required.
When requesting a quota decrease, the email address is optional.
For example, the email address is optional when the
QuotaConfig.preferred_value is smaller than the
QuotaDetails.reset_value.
public MapField<string, string> Dimensions { get; }
Immutable. The dimensions that this quota preference applies to. The key of
the map entry is the name of a dimension, such as "region", "zone",
"network_id", and the value of the map entry is the dimension value.
If a dimension is missing from the map of dimensions, the quota preference
applies to all the dimension values except for those that have other quota
preferences configured for the specific value.
NOTE: QuotaPreferences can only be applied across all values of "user" and
"resource" dimension. Do not set values for "user" or "resource" in the
dimension map.
Example: {"provider", "Foo Inc"} where "provider" is a service specific
dimension.
Optional. The current etag of the quota preference. If an etag is provided
on update and does not match the current server's etag of the quota
preference, the request will be blocked and an ABORTED error will be
returned. See https://google.aip.dev/134#etags for more details on etags.
Required except in the CREATE requests.
The resource name of the quota preference.
The ID component following "locations/" must be "global".
Example:
projects/123/locations/global/quotaPreferences/my-config-for-us-east1
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003e\u003ccode\u003eQuotaPreference\u003c/code\u003e is a class in the Cloud Quotas v1 API that represents a preferred quota configuration for a project, folder, or organization.\u003c/p\u003e\n"],["\u003cp\u003eThis class allows users to specify dimensions, such as "region" or "zone," to which the quota preference applies, with each entry in the dimension map being a name and a value.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eQuotaPreference\u003c/code\u003e class requires a \u003ccode\u003eQuotaConfig\u003c/code\u003e, a \u003ccode\u003eQuotaId\u003c/code\u003e, and a \u003ccode\u003eService\u003c/code\u003e, while also allowing for optional fields like \u003ccode\u003eContactEmail\u003c/code\u003e and \u003ccode\u003eEtag\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThere are output only properties of the \u003ccode\u003eQuotaPreference\u003c/code\u003e class, including \u003ccode\u003eReconciling\u003c/code\u003e, \u003ccode\u003eCreateTime\u003c/code\u003e and \u003ccode\u003eUpdateTime\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe latest available version of this class is 1.1.0, with version 1.0.0-beta05 also available.\u003c/p\u003e\n"]]],[],null,["# Cloud Quotas v1 API - Class QuotaPreference (1.1.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.1.0 (latest)](/dotnet/docs/reference/Google.Cloud.CloudQuotas.V1/latest/Google.Cloud.CloudQuotas.V1.QuotaPreference)\n- [1.0.0-beta05](/dotnet/docs/reference/Google.Cloud.CloudQuotas.V1/1.0.0-beta05/Google.Cloud.CloudQuotas.V1.QuotaPreference) \n\n public sealed class QuotaPreference : IMessage\u003cQuotaPreference\u003e, IEquatable\u003cQuotaPreference\u003e, IDeepCloneable\u003cQuotaPreference\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Cloud Quotas v1 API class QuotaPreference.\n\nQuotaPreference represents the preferred quota configuration specified for\na project, folder or organization. There is only one QuotaPreference\nresource for a quota value targeting a unique set of dimensions. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e QuotaPreference \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[QuotaPreference](/dotnet/docs/reference/Google.Cloud.CloudQuotas.V1/latest/Google.Cloud.CloudQuotas.V1.QuotaPreference), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[QuotaPreference](/dotnet/docs/reference/Google.Cloud.CloudQuotas.V1/latest/Google.Cloud.CloudQuotas.V1.QuotaPreference), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[QuotaPreference](/dotnet/docs/reference/Google.Cloud.CloudQuotas.V1/latest/Google.Cloud.CloudQuotas.V1.QuotaPreference), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.CloudQuotas.V1](/dotnet/docs/reference/Google.Cloud.CloudQuotas.V1/latest/Google.Cloud.CloudQuotas.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.CloudQuotas.V1.dll\n\nConstructors\n------------\n\n### QuotaPreference()\n\n public QuotaPreference()\n\n### QuotaPreference(QuotaPreference)\n\n public QuotaPreference(QuotaPreference other)\n\nProperties\n----------\n\n### ContactEmail\n\n public string ContactEmail { get; set; }\n\nInput only. An email address that can be used to contact the the user, in\ncase Google Cloud needs more information to make a decision before\nadditional quota can be granted.\n\nWhen requesting a quota increase, the email address is required.\nWhen requesting a quota decrease, the email address is optional.\nFor example, the email address is optional when the\n`QuotaConfig.preferred_value` is smaller than the\n`QuotaDetails.reset_value`.\n\n### CreateTime\n\n public Timestamp CreateTime { get; set; }\n\nOutput only. Create time stamp\n\n### Dimensions\n\n public MapField\u003cstring, string\u003e Dimensions { get; }\n\nImmutable. The dimensions that this quota preference applies to. The key of\nthe map entry is the name of a dimension, such as \"region\", \"zone\",\n\"network_id\", and the value of the map entry is the dimension value.\n\nIf a dimension is missing from the map of dimensions, the quota preference\napplies to all the dimension values except for those that have other quota\npreferences configured for the specific value.\n\nNOTE: QuotaPreferences can only be applied across all values of \"user\" and\n\"resource\" dimension. Do not set values for \"user\" or \"resource\" in the\ndimension map.\n\nExample: {\"provider\", \"Foo Inc\"} where \"provider\" is a service specific\ndimension.\n\n### Etag\n\n public string Etag { get; set; }\n\nOptional. The current etag of the quota preference. If an etag is provided\non update and does not match the current server's etag of the quota\npreference, the request will be blocked and an ABORTED error will be\nreturned. See \u003chttps://google.aip.dev/134#etags\u003e for more details on etags.\n\n### Justification\n\n public string Justification { get; set; }\n\nThe reason / justification for this quota preference.\n\n### Name\n\n public string Name { get; set; }\n\nRequired except in the CREATE requests.\nThe resource name of the quota preference.\nThe ID component following \"locations/\" must be \"global\".\nExample:\n`projects/123/locations/global/quotaPreferences/my-config-for-us-east1`\n\n### QuotaConfig\n\n public QuotaConfig QuotaConfig { get; set; }\n\nRequired. Preferred quota configuration.\n\n### QuotaId\n\n public string QuotaId { get; set; }\n\nRequired. The id of the quota to which the quota preference is applied. A\nquota name is unique in the service. Example: `CpusPerProjectPerRegion`\n\n### QuotaPreferenceName\n\n public QuotaPreferenceName QuotaPreferenceName { get; set; }\n\n[QuotaPreferenceName](/dotnet/docs/reference/Google.Cloud.CloudQuotas.V1/latest/Google.Cloud.CloudQuotas.V1.QuotaPreferenceName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.CloudQuotas.V1/latest/Google.Cloud.CloudQuotas.V1.QuotaPreference#Google_Cloud_CloudQuotas_V1_QuotaPreference_Name) resource name property.\n\n### Reconciling\n\n public bool Reconciling { get; set; }\n\nOutput only. Is the quota preference pending Google Cloud approval and\nfulfillment.\n\n### Service\n\n public string Service { get; set; }\n\nRequired. The name of the service to which the quota preference is applied.\n\n### UpdateTime\n\n public Timestamp UpdateTime { get; set; }\n\nOutput only. Update time stamp"]]