public sealed class QuotaPreference : IMessage<QuotaPreference>, IEquatable<QuotaPreference>, IDeepCloneable<QuotaPreference>, IBufferMessage, IMessage
Reference documentation and code samples for the Cloud Quotas v1beta 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 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.
For example: {"provider" : "Example Organization"} where provider is a
service-specific quota dimension and Example Organization is the provider
name.
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 path that follows /locations must be /global.
For 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 v1beta API representing a preferred quota configuration for a project, folder, or organization, with only one resource existing per unique set of dimensions.\u003c/p\u003e\n"],["\u003cp\u003eThis class implements several interfaces including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, and inherits from the \u003ccode\u003eobject\u003c/code\u003e class, offering functionalities such as cloning and message handling.\u003c/p\u003e\n"],["\u003cp\u003eKey properties of \u003ccode\u003eQuotaPreference\u003c/code\u003e include \u003ccode\u003eQuotaConfig\u003c/code\u003e (the preferred configuration), \u003ccode\u003eDimensions\u003c/code\u003e (the dimensions this configuration applies to), \u003ccode\u003eQuotaId\u003c/code\u003e (the ID of the associated quota), and \u003ccode\u003eService\u003c/code\u003e (the service the configuration applies to), among others.\u003c/p\u003e\n"],["\u003cp\u003eThe class allows for specifying a \u003ccode\u003eContactEmail\u003c/code\u003e for communication and includes output-only fields like \u003ccode\u003eCreateTime\u003c/code\u003e, \u003ccode\u003eUpdateTime\u003c/code\u003e, and \u003ccode\u003eReconciling\u003c/code\u003e to track the status and history of the quota preference.\u003c/p\u003e\n"],["\u003cp\u003eThe Name property is required except in create requests and is the resource name of the quota preference, with \u003ccode\u003eglobal\u003c/code\u003e being a requirement for the locations/ portion.\u003c/p\u003e\n"]]],[],null,["# Cloud Quotas v1beta API - Class QuotaPreference (1.0.0-beta02)\n\nVersion latestkeyboard_arrow_down\n\n- [1.0.0-beta02 (latest)](/dotnet/docs/reference/Google.Cloud.CloudQuotas.V1Beta/latest/Google.Cloud.CloudQuotas.V1Beta.QuotaPreference)\n- [1.0.0-beta01](/dotnet/docs/reference/Google.Cloud.CloudQuotas.V1Beta/1.0.0-beta01/Google.Cloud.CloudQuotas.V1Beta.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 v1beta 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.V1Beta/latest/Google.Cloud.CloudQuotas.V1Beta.QuotaPreference), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[QuotaPreference](/dotnet/docs/reference/Google.Cloud.CloudQuotas.V1Beta/latest/Google.Cloud.CloudQuotas.V1Beta.QuotaPreference), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[QuotaPreference](/dotnet/docs/reference/Google.Cloud.CloudQuotas.V1Beta/latest/Google.Cloud.CloudQuotas.V1Beta.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.V1Beta](/dotnet/docs/reference/Google.Cloud.CloudQuotas.V1Beta/latest/Google.Cloud.CloudQuotas.V1Beta)\n\nAssembly\n--------\n\nGoogle.Cloud.CloudQuotas.V1Beta.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 user, in case\nGoogle Cloud needs more information to make a decision before additional\nquota 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\nFor example: `{\"provider\" : \"Example Organization\"}` where `provider` is a\nservice-specific quota dimension and `Example Organization` is the provider\nname.\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 path that follows `/locations` must be `/global`.\nFor example:\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. For example, `CpusPerProjectPerRegion`\n\n### QuotaPreferenceName\n\n public QuotaPreferenceName QuotaPreferenceName { get; set; }\n\n[QuotaPreferenceName](/dotnet/docs/reference/Google.Cloud.CloudQuotas.V1Beta/latest/Google.Cloud.CloudQuotas.V1Beta.QuotaPreferenceName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.CloudQuotas.V1Beta/latest/Google.Cloud.CloudQuotas.V1Beta.QuotaPreference#Google_Cloud_CloudQuotas_V1Beta_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"]]