@devvit/protos 0.11.6 → 0.11.7-next-2025-01-28-9b10510e8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (241) hide show
  1. package/meta.min.json +7820 -0
  2. package/package.json +4 -4
  3. package/protos.min.js +2 -0
  4. package/protos.min.js.map +7 -0
  5. package/schema/.snootobuf/deps/buf/validate/expression.proto +92 -0
  6. package/schema/.snootobuf/deps/buf/validate/priv/private.proto +41 -0
  7. package/schema/.snootobuf/deps/buf/validate/validate.proto +4130 -0
  8. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/audit.proto +72 -0
  9. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/auth.proto +49 -0
  10. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/organization.proto +54 -0
  11. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/service.proto +46 -0
  12. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/subscription.proto +72 -0
  13. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/ui.proto +20 -0
  14. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/user.proto +45 -0
  15. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/admin.proto +54 -0
  16. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/delivery.proto +773 -0
  17. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/filter.proto +66 -0
  18. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/firehose.proto +100 -0
  19. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/intake.proto +19 -0
  20. package/schema/.snootobuf/deps/devvit/events/v1alpha/events.proto +446 -0
  21. package/schema/.snootobuf/deps/devvit/gateway/v1alpha/payments.proto +24 -0
  22. package/schema/.snootobuf/deps/devvit/options/options.proto +98 -0
  23. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/commentv2.proto +29 -0
  24. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/flair.proto +25 -0
  25. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/modaction.proto +53 -0
  26. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/modmail.proto +56 -0
  27. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/postv2.proto +107 -0
  28. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/subredditv2.proto +41 -0
  29. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/userv2.proto +23 -0
  30. package/schema/.snootobuf/deps/devvit/triggers/v1alpha/triggers.proto +162 -0
  31. package/schema/.snootobuf/deps/enum/account_gender_category.proto +14 -0
  32. package/schema/.snootobuf/deps/enum/approval_status.proto +15 -0
  33. package/schema/.snootobuf/deps/enum/automated_reporting_level.proto +12 -0
  34. package/schema/.snootobuf/deps/enum/ban_evasion_threshold.proto +13 -0
  35. package/schema/.snootobuf/deps/enum/ban_info_action.proto +12 -0
  36. package/schema/.snootobuf/deps/enum/block_relation_type.proto +11 -0
  37. package/schema/.snootobuf/deps/enum/comment_sort.proto +18 -0
  38. package/schema/.snootobuf/deps/enum/comment_type.proto +11 -0
  39. package/schema/.snootobuf/deps/enum/crowd_control_level.proto +12 -0
  40. package/schema/.snootobuf/deps/enum/discussion_type.proto +10 -0
  41. package/schema/.snootobuf/deps/enum/distinguish_type.proto +14 -0
  42. package/schema/.snootobuf/deps/enum/flair_position.proto +11 -0
  43. package/schema/.snootobuf/deps/enum/hateful_content_threshold.proto +12 -0
  44. package/schema/.snootobuf/deps/enum/link_content_type.proto +11 -0
  45. package/schema/.snootobuf/deps/enum/link_type.proto +11 -0
  46. package/schema/.snootobuf/deps/enum/link_visibility.proto +11 -0
  47. package/schema/.snootobuf/deps/enum/prediction_leaderboard_entry_type.proto +11 -0
  48. package/schema/.snootobuf/deps/enum/promo_layout.proto +11 -0
  49. package/schema/.snootobuf/deps/enum/removed_by_type.proto +18 -0
  50. package/schema/.snootobuf/deps/enum/spam_level.proto +11 -0
  51. package/schema/.snootobuf/deps/enum/subreddit_type.proto +16 -0
  52. package/schema/.snootobuf/deps/enum/verdict.proto +14 -0
  53. package/schema/.snootobuf/deps/enum/vote.proto +12 -0
  54. package/schema/.snootobuf/deps/enum/whitelist_status.proto +17 -0
  55. package/schema/.snootobuf/deps/enum/wiki_edit_mode.proto +12 -0
  56. package/schema/.snootobuf/deps/evaluator/evaluator.proto +203 -0
  57. package/schema/.snootobuf/deps/google/api/annotations.proto +31 -0
  58. package/schema/.snootobuf/deps/google/api/apikeys/v2/apikeys.proto +288 -0
  59. package/schema/.snootobuf/deps/google/api/apikeys/v2/resources.proto +175 -0
  60. package/schema/.snootobuf/deps/google/api/auth.proto +237 -0
  61. package/schema/.snootobuf/deps/google/api/backend.proto +185 -0
  62. package/schema/.snootobuf/deps/google/api/billing.proto +77 -0
  63. package/schema/.snootobuf/deps/google/api/client.proto +431 -0
  64. package/schema/.snootobuf/deps/google/api/cloudquotas/v1/cloudquotas.proto +322 -0
  65. package/schema/.snootobuf/deps/google/api/cloudquotas/v1/resources.proto +315 -0
  66. package/schema/.snootobuf/deps/google/api/config_change.proto +84 -0
  67. package/schema/.snootobuf/deps/google/api/consumer.proto +82 -0
  68. package/schema/.snootobuf/deps/google/api/context.proto +92 -0
  69. package/schema/.snootobuf/deps/google/api/control.proto +41 -0
  70. package/schema/.snootobuf/deps/google/api/distribution.proto +213 -0
  71. package/schema/.snootobuf/deps/google/api/documentation.proto +168 -0
  72. package/schema/.snootobuf/deps/google/api/endpoint.proto +69 -0
  73. package/schema/.snootobuf/deps/google/api/error_reason.proto +589 -0
  74. package/schema/.snootobuf/deps/google/api/expr/conformance/v1alpha1/conformance_service.proto +183 -0
  75. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/checked.proto +343 -0
  76. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/eval.proto +118 -0
  77. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/explain.proto +53 -0
  78. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/syntax.proto +438 -0
  79. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/value.proto +115 -0
  80. package/schema/.snootobuf/deps/google/api/expr/v1beta1/decl.proto +84 -0
  81. package/schema/.snootobuf/deps/google/api/expr/v1beta1/eval.proto +125 -0
  82. package/schema/.snootobuf/deps/google/api/expr/v1beta1/expr.proto +265 -0
  83. package/schema/.snootobuf/deps/google/api/expr/v1beta1/source.proto +62 -0
  84. package/schema/.snootobuf/deps/google/api/expr/v1beta1/value.proto +114 -0
  85. package/schema/.snootobuf/deps/google/api/field_behavior.proto +104 -0
  86. package/schema/.snootobuf/deps/google/api/field_info.proto +106 -0
  87. package/schema/.snootobuf/deps/google/api/http.proto +371 -0
  88. package/schema/.snootobuf/deps/google/api/httpbody.proto +81 -0
  89. package/schema/.snootobuf/deps/google/api/label.proto +48 -0
  90. package/schema/.snootobuf/deps/google/api/launch_stage.proto +72 -0
  91. package/schema/.snootobuf/deps/google/api/log.proto +54 -0
  92. package/schema/.snootobuf/deps/google/api/logging.proto +81 -0
  93. package/schema/.snootobuf/deps/google/api/metric.proto +268 -0
  94. package/schema/.snootobuf/deps/google/api/monitored_resource.proto +130 -0
  95. package/schema/.snootobuf/deps/google/api/monitoring.proto +107 -0
  96. package/schema/.snootobuf/deps/google/api/policy.proto +85 -0
  97. package/schema/.snootobuf/deps/google/api/quota.proto +184 -0
  98. package/schema/.snootobuf/deps/google/api/resource.proto +243 -0
  99. package/schema/.snootobuf/deps/google/api/routing.proto +461 -0
  100. package/schema/.snootobuf/deps/google/api/service.proto +191 -0
  101. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/check_error.proto +124 -0
  102. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/distribution.proto +166 -0
  103. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/http_request.proto +93 -0
  104. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/log_entry.proto +126 -0
  105. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/metric_value.proto +81 -0
  106. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/operation.proto +123 -0
  107. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/quota_controller.proto +245 -0
  108. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/service_controller.proto +260 -0
  109. package/schema/.snootobuf/deps/google/api/servicecontrol/v2/service_controller.proto +196 -0
  110. package/schema/.snootobuf/deps/google/api/servicemanagement/v1/resources.proto +295 -0
  111. package/schema/.snootobuf/deps/google/api/servicemanagement/v1/servicemanager.proto +508 -0
  112. package/schema/.snootobuf/deps/google/api/serviceusage/v1/resources.proto +130 -0
  113. package/schema/.snootobuf/deps/google/api/serviceusage/v1/serviceusage.proto +305 -0
  114. package/schema/.snootobuf/deps/google/api/serviceusage/v1beta1/resources.proto +458 -0
  115. package/schema/.snootobuf/deps/google/api/serviceusage/v1beta1/serviceusage.proto +793 -0
  116. package/schema/.snootobuf/deps/google/api/source_info.proto +31 -0
  117. package/schema/.snootobuf/deps/google/api/system_parameter.proto +96 -0
  118. package/schema/.snootobuf/deps/google/api/usage.proto +96 -0
  119. package/schema/.snootobuf/deps/google/api/visibility.proto +113 -0
  120. package/schema/.snootobuf/deps/google/cloud/extended_operations.proto +150 -0
  121. package/schema/.snootobuf/deps/google/iam/admin/v1/iam.proto +1087 -0
  122. package/schema/.snootobuf/deps/google/iam/v1/iam_policy.proto +145 -0
  123. package/schema/.snootobuf/deps/google/iam/v1/logging/audit_data.proto +34 -0
  124. package/schema/.snootobuf/deps/google/iam/v1/options.proto +41 -0
  125. package/schema/.snootobuf/deps/google/iam/v1/policy.proto +240 -0
  126. package/schema/.snootobuf/deps/google/logging/type/http_request.proto +92 -0
  127. package/schema/.snootobuf/deps/google/logging/type/log_severity.proto +72 -0
  128. package/schema/.snootobuf/deps/google/longrunning/operations.proto +247 -0
  129. package/schema/.snootobuf/deps/google/protobuf/any.proto +158 -0
  130. package/schema/.snootobuf/deps/google/protobuf/api.proto +208 -0
  131. package/schema/.snootobuf/deps/google/protobuf/compiler/plugin.proto +183 -0
  132. package/schema/.snootobuf/deps/google/protobuf/descriptor.proto +921 -0
  133. package/schema/.snootobuf/deps/google/protobuf/duration.proto +116 -0
  134. package/schema/.snootobuf/deps/google/protobuf/empty.proto +51 -0
  135. package/schema/.snootobuf/deps/google/protobuf/field_mask.proto +245 -0
  136. package/schema/.snootobuf/deps/google/protobuf/source_context.proto +48 -0
  137. package/schema/.snootobuf/deps/google/protobuf/struct.proto +95 -0
  138. package/schema/.snootobuf/deps/google/protobuf/timestamp.proto +147 -0
  139. package/schema/.snootobuf/deps/google/protobuf/type.proto +187 -0
  140. package/schema/.snootobuf/deps/google/protobuf/wrappers.proto +123 -0
  141. package/schema/.snootobuf/deps/google/rpc/code.proto +186 -0
  142. package/schema/.snootobuf/deps/google/rpc/context/attribute_context.proto +287 -0
  143. package/schema/.snootobuf/deps/google/rpc/error_details.proto +246 -0
  144. package/schema/.snootobuf/deps/google/rpc/status.proto +47 -0
  145. package/schema/.snootobuf/deps/google/type/calendar_period.proto +57 -0
  146. package/schema/.snootobuf/deps/google/type/color.proto +170 -0
  147. package/schema/.snootobuf/deps/google/type/date.proto +50 -0
  148. package/schema/.snootobuf/deps/google/type/datetime.proto +97 -0
  149. package/schema/.snootobuf/deps/google/type/dayofweek.proto +51 -0
  150. package/schema/.snootobuf/deps/google/type/expr.proto +51 -0
  151. package/schema/.snootobuf/deps/google/type/fraction.proto +34 -0
  152. package/schema/.snootobuf/deps/google/type/latlng.proto +37 -0
  153. package/schema/.snootobuf/deps/google/type/money.proto +43 -0
  154. package/schema/.snootobuf/deps/google/type/month.proto +66 -0
  155. package/schema/.snootobuf/deps/google/type/postal_address.proto +135 -0
  156. package/schema/.snootobuf/deps/google/type/quaternion.proto +95 -0
  157. package/schema/.snootobuf/deps/google/type/timeofday.proto +44 -0
  158. package/schema/.snootobuf/deps/openapi/helper.proto +20 -0
  159. package/schema/.snootobuf/deps/products-api/protos/reddit/xpaymentsplatform/payproducts/v1/currencies.proto +189 -0
  160. package/schema/.snootobuf/deps/products-api/protos/reddit/xpaymentsplatform/payproducts/v1/payproducts.proto +118 -0
  161. package/schema/.snootobuf/deps/reddit/api/metadata/v1/metadata.proto +55 -0
  162. package/schema/.snootobuf/deps/reddit/coreplatform/account/v1/account.proto +579 -0
  163. package/schema/.snootobuf/deps/reddit/coreplatform/account/v1/account_relations.proto +43 -0
  164. package/schema/.snootobuf/deps/reddit/coreplatform/api/metadata/v1/metadata.proto +82 -0
  165. package/schema/.snootobuf/deps/reddit/coreplatform/blocking/v1/user_blocking_service.proto +221 -0
  166. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree.proto +78 -0
  167. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree_service.proto +189 -0
  168. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree_structure.proto +29 -0
  169. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comments.proto +417 -0
  170. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comments_service.proto +72 -0
  171. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/auth.proto +25 -0
  172. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/features.proto +52 -0
  173. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/lang.proto +16 -0
  174. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/legal.proto +20 -0
  175. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/media.proto +149 -0
  176. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/moderation.proto +197 -0
  177. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/safety.proto +116 -0
  178. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/time.proto +25 -0
  179. package/schema/.snootobuf/deps/reddit/coreplatform/domains/v1/domains_metadata_service.proto +101 -0
  180. package/schema/.snootobuf/deps/reddit/coreplatform/grpc_thrift/v1/grpc_thrift_options.proto +34 -0
  181. package/schema/.snootobuf/deps/reddit/coreplatform/links/v1/links.proto +798 -0
  182. package/schema/.snootobuf/deps/reddit/coreplatform/links/v1/links_service.proto +186 -0
  183. package/schema/.snootobuf/deps/reddit/coreplatform/messages/v1/messages.proto +110 -0
  184. package/schema/.snootobuf/deps/reddit/coreplatform/sensitive/v1/wrappers.proto +51 -0
  185. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit.proto +1202 -0
  186. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_member_relations.proto +85 -0
  187. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_moderator_service.proto +363 -0
  188. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_service.proto +301 -0
  189. package/schema/.snootobuf/deps/reddit/coreplatform/thing/v0/thing.proto +2869 -0
  190. package/schema/.snootobuf/deps/reddit/devvit/custom_post/v1/custom_post.proto +15 -0
  191. package/schema/.snootobuf/deps/reddit/devvit/custom_post/v1/service.proto +11 -0
  192. package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/context_action.proto +48 -0
  193. package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/manifest.proto +70 -0
  194. package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/service.proto +11 -0
  195. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/acknowledge_order_delivery.proto +17 -0
  196. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/checkout.proto +89 -0
  197. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/common.proto +322 -0
  198. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/delete_products.proto +17 -0
  199. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/events.proto +14 -0
  200. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_batch_products.proto +15 -0
  201. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_gold_balances.proto +48 -0
  202. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_order.proto +31 -0
  203. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_orders.proto +26 -0
  204. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_orders_by_user.proto +15 -0
  205. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_payout_info_batch.proto +52 -0
  206. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_products.proto +23 -0
  207. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_user_profiles.proto +28 -0
  208. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/refund_order.proto +17 -0
  209. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/service.proto +49 -0
  210. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/service_data_compliance.proto +20 -0
  211. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/upsert_products.proto +17 -0
  212. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paygatewaypsps/v1/paygatewaypsps.proto +158 -0
  213. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payorders/v1/payments_data_compliance.proto +18 -0
  214. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payorders/v1/payorders.proto +195 -0
  215. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/admin.proto +44 -0
  216. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/ledger.proto +200 -0
  217. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/payments_data_compliance.proto +18 -0
  218. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/paypayments.proto +210 -0
  219. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payproducts/v1/currencies.proto +189 -0
  220. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payproducts/v1/payproducts.proto +135 -0
  221. package/schema/.snootobuf/deps/snooron_sources/text_classification/text_classification.proto +29 -0
  222. package/schema/.snootobuf/deps/snooron_sources/v2_event/v2_event.proto +3292 -0
  223. package/schema/.snootobuf/deps/validate/validate.proto +862 -0
  224. package/schema/devvit/plugin/buildpack/buildpack_common.proto +6 -1
  225. package/schema/snootobuf.devenv.lock +210 -102
  226. package/schema/snootobuf.lock +210 -102
  227. package/schema/snootobuf.redditapi.lock +210 -102
  228. package/schema/snootobuf.ts.lock +210 -102
  229. package/types/devvit/dev_portal/dev_portal.d.ts +2 -0
  230. package/types/devvit/dev_portal/dev_portal.d.ts.map +1 -1
  231. package/types/devvit/plugin/builder/builder.d.ts +4 -0
  232. package/types/devvit/plugin/builder/builder.d.ts.map +1 -1
  233. package/types/devvit/plugin/buildpack/buildpack.d.ts +8 -0
  234. package/types/devvit/plugin/buildpack/buildpack.d.ts.map +1 -1
  235. package/types/devvit/plugin/buildpack/buildpack_common.d.ts +3 -0
  236. package/types/devvit/plugin/buildpack/buildpack_common.d.ts.map +1 -1
  237. package/types/devvit/plugin/buildpack/buildpack_common.js +37 -1
  238. package/types/devvit/plugin/linker/linker.d.ts +2 -0
  239. package/types/devvit/plugin/linker/linker.d.ts.map +1 -1
  240. package/types/devvit/plugin/linker/resolver.d.ts +2 -0
  241. package/types/devvit/plugin/linker/resolver.d.ts.map +1 -1
@@ -0,0 +1,322 @@
1
+ // Copyright 2024 Google LLC
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ syntax = "proto3";
16
+
17
+ package google.api.cloudquotas.v1;
18
+
19
+ import "google/api/annotations.proto";
20
+ import "google/api/client.proto";
21
+ import "google/api/cloudquotas/v1/resources.proto";
22
+ import "google/api/field_behavior.proto";
23
+ import "google/api/resource.proto";
24
+ import "google/protobuf/field_mask.proto";
25
+
26
+ option csharp_namespace = "Google.Cloud.CloudQuotas.V1";
27
+ option go_package = "cloud.google.com/go/cloudquotas/apiv1/cloudquotaspb;cloudquotaspb";
28
+ option java_multiple_files = true;
29
+ option java_outer_classname = "CloudquotasProto";
30
+ option java_package = "com.google.api.cloudquotas.v1";
31
+ option php_namespace = "Google\\Cloud\\CloudQuotas\\V1";
32
+ option ruby_package = "Google::Cloud::CloudQuotas::V1";
33
+ option (google.api.resource_definition) = {
34
+ type: "cloudquotas.googleapis.com/Service"
35
+ pattern: "projects/{project}/locations/{location}/services/{service}"
36
+ pattern: "folders/{folder}/locations/{location}/services/{service}"
37
+ pattern: "organizations/{organization}/locations/{location}/services/{service}"
38
+ };
39
+ option (google.api.resource_definition) = {
40
+ type: "cloudquotas.googleapis.com/Location"
41
+ pattern: "projects/{project}/locations/{location}"
42
+ pattern: "folders/{folder}/locations/{location}"
43
+ pattern: "organizations/{organization}/locations/{location}"
44
+ };
45
+
46
+ // The Cloud Quotas API is an infrastructure service for Google Cloud that lets
47
+ // service consumers list and manage their resource usage limits.
48
+ //
49
+ // - List/Get the metadata and current status of the quotas for a service.
50
+ // - Create/Update quota preferencess that declare the preferred quota values.
51
+ // - Check the status of a quota preference request.
52
+ // - List/Get pending and historical quota preference.
53
+ service CloudQuotas {
54
+ option (google.api.default_host) = "cloudquotas.googleapis.com";
55
+ option (google.api.oauth_scopes) =
56
+ "https://www.googleapis.com/auth/cloud-platform";
57
+
58
+ // Lists QuotaInfos of all quotas for a given project, folder or organization.
59
+ rpc ListQuotaInfos(ListQuotaInfosRequest) returns (ListQuotaInfosResponse) {
60
+ option (google.api.http) = {
61
+ get: "/v1/{parent=projects/*/locations/*/services/*}/quotaInfos"
62
+ additional_bindings {
63
+ get: "/v1/{parent=organizations/*/locations/*/services/*}/quotaInfos"
64
+ }
65
+ additional_bindings {
66
+ get: "/v1/{parent=folders/*/locations/*/services/*}/quotaInfos"
67
+ }
68
+ };
69
+ option (google.api.method_signature) = "parent";
70
+ }
71
+
72
+ // Retrieve the QuotaInfo of a quota for a project, folder or organization.
73
+ rpc GetQuotaInfo(GetQuotaInfoRequest) returns (QuotaInfo) {
74
+ option (google.api.http) = {
75
+ get: "/v1/{name=projects/*/locations/*/services/*/quotaInfos/*}"
76
+ additional_bindings {
77
+ get: "/v1/{name=organizations/*/locations/*/services/*/quotaInfos/*}"
78
+ }
79
+ additional_bindings {
80
+ get: "/v1/{name=folders/*/locations/*/services/*/quotaInfos/*}"
81
+ }
82
+ };
83
+ option (google.api.method_signature) = "name";
84
+ }
85
+
86
+ // Lists QuotaPreferences in a given project, folder or organization.
87
+ rpc ListQuotaPreferences(ListQuotaPreferencesRequest)
88
+ returns (ListQuotaPreferencesResponse) {
89
+ option (google.api.http) = {
90
+ get: "/v1/{parent=projects/*/locations/*}/quotaPreferences"
91
+ additional_bindings {
92
+ get: "/v1/{parent=folders/*/locations/*}/quotaPreferences"
93
+ }
94
+ additional_bindings {
95
+ get: "/v1/{parent=organizations/*/locations/*}/quotaPreferences"
96
+ }
97
+ };
98
+ option (google.api.method_signature) = "parent";
99
+ }
100
+
101
+ // Gets details of a single QuotaPreference.
102
+ rpc GetQuotaPreference(GetQuotaPreferenceRequest) returns (QuotaPreference) {
103
+ option (google.api.http) = {
104
+ get: "/v1/{name=projects/*/locations/*/quotaPreferences/*}"
105
+ additional_bindings {
106
+ get: "/v1/{name=organizations/*/locations/*/quotaPreferences/*}"
107
+ }
108
+ additional_bindings {
109
+ get: "/v1/{name=folders/*/locations/*/quotaPreferences/*}"
110
+ }
111
+ };
112
+ option (google.api.method_signature) = "name";
113
+ }
114
+
115
+ // Creates a new QuotaPreference that declares the desired value for a quota.
116
+ rpc CreateQuotaPreference(CreateQuotaPreferenceRequest)
117
+ returns (QuotaPreference) {
118
+ option (google.api.http) = {
119
+ post: "/v1/{parent=projects/*/locations/*}/quotaPreferences"
120
+ body: "quota_preference"
121
+ additional_bindings {
122
+ post: "/v1/{parent=folders/*/locations/*}/quotaPreferences"
123
+ body: "quota_preference"
124
+ }
125
+ additional_bindings {
126
+ post: "/v1/{parent=organizations/*/locations/*}/quotaPreferences"
127
+ body: "quota_preference"
128
+ }
129
+ };
130
+ option (google.api.method_signature) =
131
+ "parent,quota_preference,quota_preference_id";
132
+ option (google.api.method_signature) = "parent,quota_preference";
133
+ }
134
+
135
+ // Updates the parameters of a single QuotaPreference. It can updates the
136
+ // config in any states, not just the ones pending approval.
137
+ rpc UpdateQuotaPreference(UpdateQuotaPreferenceRequest)
138
+ returns (QuotaPreference) {
139
+ option (google.api.http) = {
140
+ patch: "/v1/{quota_preference.name=projects/*/locations/*/quotaPreferences/*}"
141
+ body: "quota_preference"
142
+ additional_bindings {
143
+ patch: "/v1/{quota_preference.name=folders/*/locations/*/quotaPreferences/*}"
144
+ body: "quota_preference"
145
+ }
146
+ additional_bindings {
147
+ patch: "/v1/{quota_preference.name=organizations/*/locations/*/quotaPreferences/*}"
148
+ body: "quota_preference"
149
+ }
150
+ };
151
+ option (google.api.method_signature) = "quota_preference,update_mask";
152
+ }
153
+ }
154
+
155
+ // Message for requesting list of QuotaInfos
156
+ message ListQuotaInfosRequest {
157
+ // Required. Parent value of QuotaInfo resources.
158
+ // Listing across different resource containers (such as 'projects/-') is not
159
+ // allowed.
160
+ //
161
+ // Example names:
162
+ // `projects/123/locations/global/services/compute.googleapis.com`
163
+ // `folders/234/locations/global/services/compute.googleapis.com`
164
+ // `organizations/345/locations/global/services/compute.googleapis.com`
165
+ string parent = 1 [
166
+ (google.api.field_behavior) = REQUIRED,
167
+ (google.api.resource_reference) = {
168
+ child_type: "cloudquotas.googleapis.com/QuotaInfo"
169
+ }
170
+ ];
171
+
172
+ // Optional. Requested page size. Server may return fewer items than
173
+ // requested. If unspecified, server will pick an appropriate default.
174
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
175
+
176
+ // Optional. A token identifying a page of results the server should return.
177
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
178
+ }
179
+
180
+ // Message for response to listing QuotaInfos
181
+ message ListQuotaInfosResponse {
182
+ // The list of QuotaInfo
183
+ repeated QuotaInfo quota_infos = 1;
184
+
185
+ // A token, which can be sent as `page_token` to retrieve the next page.
186
+ // If this field is omitted, there are no subsequent pages.
187
+ string next_page_token = 2;
188
+ }
189
+
190
+ // Message for getting a QuotaInfo
191
+ message GetQuotaInfoRequest {
192
+ // Required. The resource name of the quota info.
193
+ //
194
+ // An example name:
195
+ // `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion`
196
+ string name = 1 [
197
+ (google.api.field_behavior) = REQUIRED,
198
+ (google.api.resource_reference) = {
199
+ type: "cloudquotas.googleapis.com/QuotaInfo"
200
+ }
201
+ ];
202
+ }
203
+
204
+ // Message for requesting list of QuotaPreferences
205
+ message ListQuotaPreferencesRequest {
206
+ // Required. Parent value of QuotaPreference resources.
207
+ // Listing across different resource containers (such as 'projects/-') is not
208
+ // allowed.
209
+ //
210
+ // When the value starts with 'folders' or 'organizations', it lists the
211
+ // QuotaPreferences for org quotas in the container. It does not list the
212
+ // QuotaPreferences in the descendant projects of the container.
213
+ //
214
+ // Example parents:
215
+ // `projects/123/locations/global`
216
+ string parent = 1 [
217
+ (google.api.field_behavior) = REQUIRED,
218
+ (google.api.resource_reference) = {
219
+ child_type: "cloudquotas.googleapis.com/QuotaPreference"
220
+ }
221
+ ];
222
+
223
+ // Optional. Requested page size. Server may return fewer items than
224
+ // requested. If unspecified, server will pick an appropriate default.
225
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
226
+
227
+ // Optional. A token identifying a page of results the server should return.
228
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
229
+
230
+ // Optional. Filter result QuotaPreferences by their state, type,
231
+ // create/update time range.
232
+ //
233
+ // Example filters:
234
+ // `reconciling=true AND request_type=CLOUD_CONSOLE`,
235
+ // `reconciling=true OR creation_time>2022-12-03T10:30:00`
236
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
237
+
238
+ // Optional. How to order of the results. By default, the results are ordered
239
+ // by create time.
240
+ //
241
+ // Example orders:
242
+ // `quota_id`,
243
+ // `service, create_time`
244
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
245
+ }
246
+
247
+ // Message for response to listing QuotaPreferences
248
+ message ListQuotaPreferencesResponse {
249
+ // The list of QuotaPreference
250
+ repeated QuotaPreference quota_preferences = 1;
251
+
252
+ // A token, which can be sent as `page_token` to retrieve the next page.
253
+ // If this field is omitted, there are no subsequent pages.
254
+ string next_page_token = 2;
255
+
256
+ // Locations that could not be reached.
257
+ repeated string unreachable = 3;
258
+ }
259
+
260
+ // Message for getting a QuotaPreference
261
+ message GetQuotaPreferenceRequest {
262
+ // Required. Name of the resource
263
+ //
264
+ // Example name:
265
+ // `projects/123/locations/global/quota_preferences/my-config-for-us-east1`
266
+ string name = 1 [
267
+ (google.api.field_behavior) = REQUIRED,
268
+ (google.api.resource_reference) = {
269
+ type: "cloudquotas.googleapis.com/QuotaPreference"
270
+ }
271
+ ];
272
+ }
273
+
274
+ // Message for creating a QuotaPreference
275
+ message CreateQuotaPreferenceRequest {
276
+ // Required. Value for parent.
277
+ //
278
+ // Example:
279
+ // `projects/123/locations/global`
280
+ string parent = 1 [
281
+ (google.api.field_behavior) = REQUIRED,
282
+ (google.api.resource_reference) = {
283
+ child_type: "cloudquotas.googleapis.com/QuotaPreference"
284
+ }
285
+ ];
286
+
287
+ // Optional. Id of the requesting object, must be unique under its parent.
288
+ // If client does not set this field, the service will generate one.
289
+ string quota_preference_id = 2 [(google.api.field_behavior) = OPTIONAL];
290
+
291
+ // Required. The resource being created
292
+ QuotaPreference quota_preference = 3 [(google.api.field_behavior) = REQUIRED];
293
+
294
+ // The list of quota safety checks to be ignored.
295
+ repeated QuotaSafetyCheck ignore_safety_checks = 4;
296
+ }
297
+
298
+ // Message for updating a QuotaPreference
299
+ message UpdateQuotaPreferenceRequest {
300
+ // Optional. Field mask is used to specify the fields to be overwritten in the
301
+ // QuotaPreference resource by the update.
302
+ // The fields specified in the update_mask are relative to the resource, not
303
+ // the full request. A field will be overwritten if it is in the mask. If the
304
+ // user does not provide a mask then all fields will be overwritten.
305
+ google.protobuf.FieldMask update_mask = 1
306
+ [(google.api.field_behavior) = OPTIONAL];
307
+
308
+ // Required. The resource being updated
309
+ QuotaPreference quota_preference = 2 [(google.api.field_behavior) = REQUIRED];
310
+
311
+ // Optional. If set to true, and the quota preference is not found, a new one
312
+ // will be created. In this situation, `update_mask` is ignored.
313
+ bool allow_missing = 3 [(google.api.field_behavior) = OPTIONAL];
314
+
315
+ // Optional. If set to true, validate the request, but do not actually update.
316
+ // Note that a request being valid does not mean that the request is
317
+ // guaranteed to be fulfilled.
318
+ bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL];
319
+
320
+ // The list of quota safety checks to be ignored.
321
+ repeated QuotaSafetyCheck ignore_safety_checks = 5;
322
+ }
@@ -0,0 +1,315 @@
1
+ // Copyright 2024 Google LLC
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ syntax = "proto3";
16
+
17
+ package google.api.cloudquotas.v1;
18
+
19
+ import "google/api/field_behavior.proto";
20
+ import "google/api/resource.proto";
21
+ import "google/protobuf/timestamp.proto";
22
+ import "google/protobuf/wrappers.proto";
23
+
24
+ option csharp_namespace = "Google.Cloud.CloudQuotas.V1";
25
+ option go_package = "cloud.google.com/go/cloudquotas/apiv1/cloudquotaspb;cloudquotaspb";
26
+ option java_multiple_files = true;
27
+ option java_outer_classname = "ResourcesProto";
28
+ option java_package = "com.google.api.cloudquotas.v1";
29
+ option php_namespace = "Google\\Cloud\\CloudQuotas\\V1";
30
+ option ruby_package = "Google::Cloud::CloudQuotas::V1";
31
+
32
+ // Enumerations of quota safety checks.
33
+ enum QuotaSafetyCheck {
34
+ // Unspecified quota safety check.
35
+ QUOTA_SAFETY_CHECK_UNSPECIFIED = 0;
36
+
37
+ // Validates that a quota mutation would not cause the consumer's effective
38
+ // limit to be lower than the consumer's quota usage.
39
+ QUOTA_DECREASE_BELOW_USAGE = 1;
40
+
41
+ // Validates that a quota mutation would not cause the consumer's effective
42
+ // limit to decrease by more than 10 percent.
43
+ QUOTA_DECREASE_PERCENTAGE_TOO_HIGH = 2;
44
+ }
45
+
46
+ // QuotaInfo represents information about a particular quota for a given
47
+ // project, folder or organization.
48
+ message QuotaInfo {
49
+ option (google.api.resource) = {
50
+ type: "cloudquotas.googleapis.com/QuotaInfo"
51
+ pattern: "projects/{project}/locations/{location}/services/{service}/quotaInfos/{quota_info}"
52
+ pattern: "folders/{folder}/locations/{location}/services/{service}/quotaInfos/{quota_info}"
53
+ pattern: "organizations/{organization}/locations/{location}/services/{service}/quotaInfos/{quota_info}"
54
+ };
55
+
56
+ // The enumeration of the types of a cloud resource container.
57
+ enum ContainerType {
58
+ // Unspecified container type.
59
+ CONTAINER_TYPE_UNSPECIFIED = 0;
60
+
61
+ // consumer project
62
+ PROJECT = 1;
63
+
64
+ // folder
65
+ FOLDER = 2;
66
+
67
+ // organization
68
+ ORGANIZATION = 3;
69
+ }
70
+
71
+ // Resource name of this QuotaInfo.
72
+ // The ID component following "locations/" must be "global".
73
+ // Example:
74
+ // `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion`
75
+ string name = 1;
76
+
77
+ // The id of the quota, which is unquie within the service.
78
+ // Example: `CpusPerProjectPerRegion`
79
+ string quota_id = 2;
80
+
81
+ // The metric of the quota. It specifies the resources consumption the quota
82
+ // is defined for.
83
+ // Example: `compute.googleapis.com/cpus`
84
+ string metric = 3;
85
+
86
+ // The name of the service in which the quota is defined.
87
+ // Example: `compute.googleapis.com`
88
+ string service = 4;
89
+
90
+ // Whether this is a precise quota. A precise quota is tracked with absolute
91
+ // precision. In contrast, an imprecise quota is not tracked with precision.
92
+ bool is_precise = 5;
93
+
94
+ // The reset time interval for the quota. Refresh interval applies to rate
95
+ // quota only.
96
+ // Example: "minute" for per minute, "day" for per day, or "10 seconds" for
97
+ // every 10 seconds.
98
+ string refresh_interval = 6;
99
+
100
+ // The container type of the QuotaInfo.
101
+ ContainerType container_type = 7;
102
+
103
+ // The dimensions the quota is defined on.
104
+ repeated string dimensions = 8;
105
+
106
+ // The display name of the quota metric
107
+ string metric_display_name = 9;
108
+
109
+ // The display name of the quota.
110
+ string quota_display_name = 10;
111
+
112
+ // The unit in which the metric value is reported, e.g., "MByte".
113
+ string metric_unit = 11;
114
+
115
+ // Whether it is eligible to request a higher quota value for this quota.
116
+ QuotaIncreaseEligibility quota_increase_eligibility = 12;
117
+
118
+ // Whether the quota value is fixed or adjustable
119
+ bool is_fixed = 13;
120
+
121
+ // The collection of dimensions info ordered by their dimensions from more
122
+ // specific ones to less specific ones.
123
+ repeated DimensionsInfo dimensions_infos = 14;
124
+
125
+ // Whether the quota is a concurrent quota. Concurrent quotas are enforced
126
+ // on the total number of concurrent operations in flight at any given time.
127
+ bool is_concurrent = 15;
128
+
129
+ // URI to the page where users can request more quota for the cloud
130
+ // service—for example,
131
+ // https://console.cloud.google.com/iam-admin/quotas.
132
+ string service_request_quota_uri = 17;
133
+ }
134
+
135
+ // Eligibility information regarding requesting increase adjustment of a quota.
136
+ message QuotaIncreaseEligibility {
137
+ // The enumeration of reasons when it is ineligible to request increase
138
+ // adjustment.
139
+ enum IneligibilityReason {
140
+ // Default value when is_eligible is true.
141
+ INELIGIBILITY_REASON_UNSPECIFIED = 0;
142
+
143
+ // The container is not linked with a valid billing account.
144
+ NO_VALID_BILLING_ACCOUNT = 1;
145
+
146
+ // Other reasons.
147
+ OTHER = 2;
148
+ }
149
+
150
+ // Whether a higher quota value can be requested for the quota.
151
+ bool is_eligible = 1;
152
+
153
+ // The reason of why it is ineligible to request increased value of the quota.
154
+ // If the is_eligible field is true, it defaults to
155
+ // INELIGIBILITY_REASON_UNSPECIFIED.
156
+ IneligibilityReason ineligibility_reason = 2;
157
+ }
158
+
159
+ // QuotaPreference represents the preferred quota configuration specified for
160
+ // a project, folder or organization. There is only one QuotaPreference
161
+ // resource for a quota value targeting a unique set of dimensions.
162
+ message QuotaPreference {
163
+ option (google.api.resource) = {
164
+ type: "cloudquotas.googleapis.com/QuotaPreference"
165
+ pattern: "projects/{project}/locations/{location}/quotaPreferences/{quota_preference}"
166
+ pattern: "folders/{folder}/locations/{location}/quotaPreferences/{quota_preference}"
167
+ pattern: "organizations/{organization}/locations/{location}/quotaPreferences/{quota_preference}"
168
+ };
169
+
170
+ // Required except in the CREATE requests.
171
+ // The resource name of the quota preference.
172
+ // The ID component following "locations/" must be "global".
173
+ // Example:
174
+ // `projects/123/locations/global/quotaPreferences/my-config-for-us-east1`
175
+ string name = 1;
176
+
177
+ // Immutable. The dimensions that this quota preference applies to. The key of
178
+ // the map entry is the name of a dimension, such as "region", "zone",
179
+ // "network_id", and the value of the map entry is the dimension value.
180
+ //
181
+ // If a dimension is missing from the map of dimensions, the quota preference
182
+ // applies to all the dimension values except for those that have other quota
183
+ // preferences configured for the specific value.
184
+ //
185
+ // NOTE: QuotaPreferences can only be applied across all values of "user" and
186
+ // "resource" dimension. Do not set values for "user" or "resource" in the
187
+ // dimension map.
188
+ //
189
+ // Example: {"provider", "Foo Inc"} where "provider" is a service specific
190
+ // dimension.
191
+ map<string, string> dimensions = 2 [(google.api.field_behavior) = IMMUTABLE];
192
+
193
+ // Required. Preferred quota configuration.
194
+ QuotaConfig quota_config = 3 [(google.api.field_behavior) = REQUIRED];
195
+
196
+ // Optional. The current etag of the quota preference. If an etag is provided
197
+ // on update and does not match the current server's etag of the quota
198
+ // preference, the request will be blocked and an ABORTED error will be
199
+ // returned. See https://google.aip.dev/134#etags for more details on etags.
200
+ string etag = 4 [(google.api.field_behavior) = OPTIONAL];
201
+
202
+ // Output only. Create time stamp
203
+ google.protobuf.Timestamp create_time = 5
204
+ [(google.api.field_behavior) = OUTPUT_ONLY];
205
+
206
+ // Output only. Update time stamp
207
+ google.protobuf.Timestamp update_time = 6
208
+ [(google.api.field_behavior) = OUTPUT_ONLY];
209
+
210
+ // Required. The name of the service to which the quota preference is applied.
211
+ string service = 7 [(google.api.field_behavior) = REQUIRED];
212
+
213
+ // Required. The id of the quota to which the quota preference is applied. A
214
+ // quota name is unique in the service. Example: `CpusPerProjectPerRegion`
215
+ string quota_id = 8 [(google.api.field_behavior) = REQUIRED];
216
+
217
+ // Output only. Is the quota preference pending Google Cloud approval and
218
+ // fulfillment.
219
+ bool reconciling = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
220
+
221
+ // The reason / justification for this quota preference.
222
+ string justification = 11;
223
+
224
+ // Input only. An email address that can be used to contact the the user, in
225
+ // case Google Cloud needs more information to make a decision before
226
+ // additional quota can be granted.
227
+ //
228
+ // When requesting a quota increase, the email address is required.
229
+ // When requesting a quota decrease, the email address is optional.
230
+ // For example, the email address is optional when the
231
+ // `QuotaConfig.preferred_value` is smaller than the
232
+ // `QuotaDetails.reset_value`.
233
+ string contact_email = 12 [(google.api.field_behavior) = INPUT_ONLY];
234
+ }
235
+
236
+ // The preferred quota configuration.
237
+ message QuotaConfig {
238
+ // The enumeration of the origins of quota preference requests.
239
+ enum Origin {
240
+ // The unspecified value.
241
+ ORIGIN_UNSPECIFIED = 0;
242
+
243
+ // Created through Cloud Console.
244
+ CLOUD_CONSOLE = 1;
245
+
246
+ // Generated by automatic quota adjustment.
247
+ AUTO_ADJUSTER = 2;
248
+ }
249
+
250
+ // Required. The preferred value. Must be greater than or equal to -1. If set
251
+ // to -1, it means the value is "unlimited".
252
+ int64 preferred_value = 1 [(google.api.field_behavior) = REQUIRED];
253
+
254
+ // Output only. Optional details about the state of this quota preference.
255
+ string state_detail = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
256
+
257
+ // Output only. Granted quota value.
258
+ google.protobuf.Int64Value granted_value = 3
259
+ [(google.api.field_behavior) = OUTPUT_ONLY];
260
+
261
+ // Output only. The trace id that the Google Cloud uses to provision the
262
+ // requested quota. This trace id may be used by the client to contact Cloud
263
+ // support to track the state of a quota preference request. The trace id is
264
+ // only produced for increase requests and is unique for each request. The
265
+ // quota decrease requests do not have a trace id.
266
+ string trace_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
267
+
268
+ // Optional. The annotations map for clients to store small amounts of
269
+ // arbitrary data. Do not put PII or other sensitive information here. See
270
+ // https://google.aip.dev/128#annotations
271
+ map<string, string> annotations = 5 [(google.api.field_behavior) = OPTIONAL];
272
+
273
+ // Output only. The origin of the quota preference request.
274
+ Origin request_origin = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
275
+ }
276
+
277
+ // The detailed quota information such as effective quota value for a
278
+ // combination of dimensions.
279
+ message DimensionsInfo {
280
+ // The map of dimensions for this dimensions info. The key of a map entry
281
+ // is "region", "zone" or the name of a service specific dimension, and the
282
+ // value of a map entry is the value of the dimension. If a dimension does
283
+ // not appear in the map of dimensions, the dimensions info applies to all
284
+ // the dimension values except for those that have another DimenisonInfo
285
+ // instance configured for the specific value.
286
+ // Example: {"provider" : "Foo Inc"} where "provider" is a service specific
287
+ // dimension of a quota.
288
+ map<string, string> dimensions = 1;
289
+
290
+ // Quota details for the specified dimensions.
291
+ QuotaDetails details = 2;
292
+
293
+ // The applicable regions or zones of this dimensions info. The field will be
294
+ // set to ['global'] for quotas that are not per region or per zone.
295
+ // Otherwise, it will be set to the list of locations this dimension info is
296
+ // applicable to.
297
+ repeated string applicable_locations = 3;
298
+ }
299
+
300
+ // The quota details for a map of dimensions.
301
+ message QuotaDetails {
302
+ // The value currently in effect and being enforced.
303
+ int64 value = 1;
304
+
305
+ // Rollout information of this quota.
306
+ // This field is present only if the effective limit will change due to the
307
+ // ongoing rollout of the service config.
308
+ RolloutInfo rollout_info = 3;
309
+ }
310
+
311
+ // [Output only] Rollout information of a quota.
312
+ message RolloutInfo {
313
+ // Whether there is an ongoing rollout for a quota or not.
314
+ bool ongoing_rollout = 1;
315
+ }