@devvit/protos 0.11.6 → 0.11.7-next-2025-01-28-641048aff.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,106 @@
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;
18
+
19
+ import "google/protobuf/descriptor.proto";
20
+
21
+ option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations";
22
+ option java_multiple_files = true;
23
+ option java_outer_classname = "FieldInfoProto";
24
+ option java_package = "com.google.api";
25
+ option objc_class_prefix = "GAPI";
26
+
27
+ extend google.protobuf.FieldOptions {
28
+ // Rich semantic descriptor of an API field beyond the basic typing.
29
+ //
30
+ // Examples:
31
+ //
32
+ // string request_id = 1 [(google.api.field_info).format = UUID4];
33
+ // string old_ip_address = 2 [(google.api.field_info).format = IPV4];
34
+ // string new_ip_address = 3 [(google.api.field_info).format = IPV6];
35
+ // string actual_ip_address = 4 [
36
+ // (google.api.field_info).format = IPV4_OR_IPV6
37
+ // ];
38
+ // google.protobuf.Any generic_field = 5 [
39
+ // (google.api.field_info).referenced_types = {type_name: "ActualType"},
40
+ // (google.api.field_info).referenced_types = {type_name: "OtherType"},
41
+ // ];
42
+ // google.protobuf.Any generic_user_input = 5 [
43
+ // (google.api.field_info).referenced_types = {type_name: "*"},
44
+ // ];
45
+ google.api.FieldInfo field_info = 291403980;
46
+ }
47
+
48
+ // Rich semantic information of an API field beyond basic typing.
49
+ message FieldInfo {
50
+ // The standard format of a field value. The supported formats are all backed
51
+ // by either an RFC defined by the IETF or a Google-defined AIP.
52
+ enum Format {
53
+ // Default, unspecified value.
54
+ FORMAT_UNSPECIFIED = 0;
55
+
56
+ // Universally Unique Identifier, version 4, value as defined by
57
+ // https://datatracker.ietf.org/doc/html/rfc4122. The value may be
58
+ // normalized to entirely lowercase letters. For example, the value
59
+ // `F47AC10B-58CC-0372-8567-0E02B2C3D479` would be normalized to
60
+ // `f47ac10b-58cc-0372-8567-0e02b2c3d479`.
61
+ UUID4 = 1;
62
+
63
+ // Internet Protocol v4 value as defined by [RFC
64
+ // 791](https://datatracker.ietf.org/doc/html/rfc791). The value may be
65
+ // condensed, with leading zeros in each octet stripped. For example,
66
+ // `001.022.233.040` would be condensed to `1.22.233.40`.
67
+ IPV4 = 2;
68
+
69
+ // Internet Protocol v6 value as defined by [RFC
70
+ // 2460](https://datatracker.ietf.org/doc/html/rfc2460). The value may be
71
+ // normalized to entirely lowercase letters with zeros compressed, following
72
+ // [RFC 5952](https://datatracker.ietf.org/doc/html/rfc5952). For example,
73
+ // the value `2001:0DB8:0::0` would be normalized to `2001:db8::`.
74
+ IPV6 = 3;
75
+
76
+ // An IP address in either v4 or v6 format as described by the individual
77
+ // values defined herein. See the comments on the IPV4 and IPV6 types for
78
+ // allowed normalizations of each.
79
+ IPV4_OR_IPV6 = 4;
80
+ }
81
+
82
+ // The standard format of a field value. This does not explicitly configure
83
+ // any API consumer, just documents the API's format for the field it is
84
+ // applied to.
85
+ Format format = 1;
86
+
87
+ // The type(s) that the annotated, generic field may represent.
88
+ //
89
+ // Currently, this must only be used on fields of type `google.protobuf.Any`.
90
+ // Supporting other generic types may be considered in the future.
91
+ repeated TypeReference referenced_types = 2;
92
+ }
93
+
94
+ // A reference to a message type, for use in [FieldInfo][google.api.FieldInfo].
95
+ message TypeReference {
96
+ // The name of the type that the annotated, generic field may represent.
97
+ // If the type is in the same protobuf package, the value can be the simple
98
+ // message name e.g., `"MyMessage"`. Otherwise, the value must be the
99
+ // fully-qualified message name e.g., `"google.library.v1.Book"`.
100
+ //
101
+ // If the type(s) are unknown to the service (e.g. the field accepts generic
102
+ // user input), use the wildcard `"*"` to denote this behavior.
103
+ //
104
+ // See [AIP-202](https://google.aip.dev/202#type-references) for more details.
105
+ string type_name = 1;
106
+ }
@@ -0,0 +1,371 @@
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;
18
+
19
+ option cc_enable_arenas = true;
20
+ option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations";
21
+ option java_multiple_files = true;
22
+ option java_outer_classname = "HttpProto";
23
+ option java_package = "com.google.api";
24
+ option objc_class_prefix = "GAPI";
25
+
26
+ // Defines the HTTP configuration for an API service. It contains a list of
27
+ // [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method
28
+ // to one or more HTTP REST API methods.
29
+ message Http {
30
+ // A list of HTTP configuration rules that apply to individual API methods.
31
+ //
32
+ // **NOTE:** All service configuration rules follow "last one wins" order.
33
+ repeated HttpRule rules = 1;
34
+
35
+ // When set to true, URL path parameters will be fully URI-decoded except in
36
+ // cases of single segment matches in reserved expansion, where "%2F" will be
37
+ // left encoded.
38
+ //
39
+ // The default behavior is to not decode RFC 6570 reserved characters in multi
40
+ // segment matches.
41
+ bool fully_decode_reserved_expansion = 2;
42
+ }
43
+
44
+ // gRPC Transcoding
45
+ //
46
+ // gRPC Transcoding is a feature for mapping between a gRPC method and one or
47
+ // more HTTP REST endpoints. It allows developers to build a single API service
48
+ // that supports both gRPC APIs and REST APIs. Many systems, including [Google
49
+ // APIs](https://github.com/googleapis/googleapis),
50
+ // [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC
51
+ // Gateway](https://github.com/grpc-ecosystem/grpc-gateway),
52
+ // and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature
53
+ // and use it for large scale production services.
54
+ //
55
+ // `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies
56
+ // how different portions of the gRPC request message are mapped to the URL
57
+ // path, URL query parameters, and HTTP request body. It also controls how the
58
+ // gRPC response message is mapped to the HTTP response body. `HttpRule` is
59
+ // typically specified as an `google.api.http` annotation on the gRPC method.
60
+ //
61
+ // Each mapping specifies a URL path template and an HTTP method. The path
62
+ // template may refer to one or more fields in the gRPC request message, as long
63
+ // as each field is a non-repeated field with a primitive (non-message) type.
64
+ // The path template controls how fields of the request message are mapped to
65
+ // the URL path.
66
+ //
67
+ // Example:
68
+ //
69
+ // service Messaging {
70
+ // rpc GetMessage(GetMessageRequest) returns (Message) {
71
+ // option (google.api.http) = {
72
+ // get: "/v1/{name=messages/*}"
73
+ // };
74
+ // }
75
+ // }
76
+ // message GetMessageRequest {
77
+ // string name = 1; // Mapped to URL path.
78
+ // }
79
+ // message Message {
80
+ // string text = 1; // The resource content.
81
+ // }
82
+ //
83
+ // This enables an HTTP REST to gRPC mapping as below:
84
+ //
85
+ // - HTTP: `GET /v1/messages/123456`
86
+ // - gRPC: `GetMessage(name: "messages/123456")`
87
+ //
88
+ // Any fields in the request message which are not bound by the path template
89
+ // automatically become HTTP query parameters if there is no HTTP request body.
90
+ // For example:
91
+ //
92
+ // service Messaging {
93
+ // rpc GetMessage(GetMessageRequest) returns (Message) {
94
+ // option (google.api.http) = {
95
+ // get:"/v1/messages/{message_id}"
96
+ // };
97
+ // }
98
+ // }
99
+ // message GetMessageRequest {
100
+ // message SubMessage {
101
+ // string subfield = 1;
102
+ // }
103
+ // string message_id = 1; // Mapped to URL path.
104
+ // int64 revision = 2; // Mapped to URL query parameter `revision`.
105
+ // SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`.
106
+ // }
107
+ //
108
+ // This enables a HTTP JSON to RPC mapping as below:
109
+ //
110
+ // - HTTP: `GET /v1/messages/123456?revision=2&sub.subfield=foo`
111
+ // - gRPC: `GetMessage(message_id: "123456" revision: 2 sub:
112
+ // SubMessage(subfield: "foo"))`
113
+ //
114
+ // Note that fields which are mapped to URL query parameters must have a
115
+ // primitive type or a repeated primitive type or a non-repeated message type.
116
+ // In the case of a repeated type, the parameter can be repeated in the URL
117
+ // as `...?param=A&param=B`. In the case of a message type, each field of the
118
+ // message is mapped to a separate parameter, such as
119
+ // `...?foo.a=A&foo.b=B&foo.c=C`.
120
+ //
121
+ // For HTTP methods that allow a request body, the `body` field
122
+ // specifies the mapping. Consider a REST update method on the
123
+ // message resource collection:
124
+ //
125
+ // service Messaging {
126
+ // rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
127
+ // option (google.api.http) = {
128
+ // patch: "/v1/messages/{message_id}"
129
+ // body: "message"
130
+ // };
131
+ // }
132
+ // }
133
+ // message UpdateMessageRequest {
134
+ // string message_id = 1; // mapped to the URL
135
+ // Message message = 2; // mapped to the body
136
+ // }
137
+ //
138
+ // The following HTTP JSON to RPC mapping is enabled, where the
139
+ // representation of the JSON in the request body is determined by
140
+ // protos JSON encoding:
141
+ //
142
+ // - HTTP: `PATCH /v1/messages/123456 { "text": "Hi!" }`
143
+ // - gRPC: `UpdateMessage(message_id: "123456" message { text: "Hi!" })`
144
+ //
145
+ // The special name `*` can be used in the body mapping to define that
146
+ // every field not bound by the path template should be mapped to the
147
+ // request body. This enables the following alternative definition of
148
+ // the update method:
149
+ //
150
+ // service Messaging {
151
+ // rpc UpdateMessage(Message) returns (Message) {
152
+ // option (google.api.http) = {
153
+ // patch: "/v1/messages/{message_id}"
154
+ // body: "*"
155
+ // };
156
+ // }
157
+ // }
158
+ // message Message {
159
+ // string message_id = 1;
160
+ // string text = 2;
161
+ // }
162
+ //
163
+ //
164
+ // The following HTTP JSON to RPC mapping is enabled:
165
+ //
166
+ // - HTTP: `PATCH /v1/messages/123456 { "text": "Hi!" }`
167
+ // - gRPC: `UpdateMessage(message_id: "123456" text: "Hi!")`
168
+ //
169
+ // Note that when using `*` in the body mapping, it is not possible to
170
+ // have HTTP parameters, as all fields not bound by the path end in
171
+ // the body. This makes this option more rarely used in practice when
172
+ // defining REST APIs. The common usage of `*` is in custom methods
173
+ // which don't use the URL at all for transferring data.
174
+ //
175
+ // It is possible to define multiple HTTP methods for one RPC by using
176
+ // the `additional_bindings` option. Example:
177
+ //
178
+ // service Messaging {
179
+ // rpc GetMessage(GetMessageRequest) returns (Message) {
180
+ // option (google.api.http) = {
181
+ // get: "/v1/messages/{message_id}"
182
+ // additional_bindings {
183
+ // get: "/v1/users/{user_id}/messages/{message_id}"
184
+ // }
185
+ // };
186
+ // }
187
+ // }
188
+ // message GetMessageRequest {
189
+ // string message_id = 1;
190
+ // string user_id = 2;
191
+ // }
192
+ //
193
+ // This enables the following two alternative HTTP JSON to RPC mappings:
194
+ //
195
+ // - HTTP: `GET /v1/messages/123456`
196
+ // - gRPC: `GetMessage(message_id: "123456")`
197
+ //
198
+ // - HTTP: `GET /v1/users/me/messages/123456`
199
+ // - gRPC: `GetMessage(user_id: "me" message_id: "123456")`
200
+ //
201
+ // Rules for HTTP mapping
202
+ //
203
+ // 1. Leaf request fields (recursive expansion nested messages in the request
204
+ // message) are classified into three categories:
205
+ // - Fields referred by the path template. They are passed via the URL path.
206
+ // - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They
207
+ // are passed via the HTTP
208
+ // request body.
209
+ // - All other fields are passed via the URL query parameters, and the
210
+ // parameter name is the field path in the request message. A repeated
211
+ // field can be represented as multiple query parameters under the same
212
+ // name.
213
+ // 2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL
214
+ // query parameter, all fields
215
+ // are passed via URL path and HTTP request body.
216
+ // 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP
217
+ // request body, all
218
+ // fields are passed via URL path and URL query parameters.
219
+ //
220
+ // Path template syntax
221
+ //
222
+ // Template = "/" Segments [ Verb ] ;
223
+ // Segments = Segment { "/" Segment } ;
224
+ // Segment = "*" | "**" | LITERAL | Variable ;
225
+ // Variable = "{" FieldPath [ "=" Segments ] "}" ;
226
+ // FieldPath = IDENT { "." IDENT } ;
227
+ // Verb = ":" LITERAL ;
228
+ //
229
+ // The syntax `*` matches a single URL path segment. The syntax `**` matches
230
+ // zero or more URL path segments, which must be the last part of the URL path
231
+ // except the `Verb`.
232
+ //
233
+ // The syntax `Variable` matches part of the URL path as specified by its
234
+ // template. A variable template must not contain other variables. If a variable
235
+ // matches a single path segment, its template may be omitted, e.g. `{var}`
236
+ // is equivalent to `{var=*}`.
237
+ //
238
+ // The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL`
239
+ // contains any reserved character, such characters should be percent-encoded
240
+ // before the matching.
241
+ //
242
+ // If a variable contains exactly one path segment, such as `"{var}"` or
243
+ // `"{var=*}"`, when such a variable is expanded into a URL path on the client
244
+ // side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The
245
+ // server side does the reverse decoding. Such variables show up in the
246
+ // [Discovery
247
+ // Document](https://developers.google.com/discovery/v1/reference/apis) as
248
+ // `{var}`.
249
+ //
250
+ // If a variable contains multiple path segments, such as `"{var=foo/*}"`
251
+ // or `"{var=**}"`, when such a variable is expanded into a URL path on the
252
+ // client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.
253
+ // The server side does the reverse decoding, except "%2F" and "%2f" are left
254
+ // unchanged. Such variables show up in the
255
+ // [Discovery
256
+ // Document](https://developers.google.com/discovery/v1/reference/apis) as
257
+ // `{+var}`.
258
+ //
259
+ // Using gRPC API Service Configuration
260
+ //
261
+ // gRPC API Service Configuration (service config) is a configuration language
262
+ // for configuring a gRPC service to become a user-facing product. The
263
+ // service config is simply the YAML representation of the `google.api.Service`
264
+ // proto message.
265
+ //
266
+ // As an alternative to annotating your proto file, you can configure gRPC
267
+ // transcoding in your service config YAML files. You do this by specifying a
268
+ // `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same
269
+ // effect as the proto annotation. This can be particularly useful if you
270
+ // have a proto that is reused in multiple services. Note that any transcoding
271
+ // specified in the service config will override any matching transcoding
272
+ // configuration in the proto.
273
+ //
274
+ // The following example selects a gRPC method and applies an `HttpRule` to it:
275
+ //
276
+ // http:
277
+ // rules:
278
+ // - selector: example.v1.Messaging.GetMessage
279
+ // get: /v1/messages/{message_id}/{sub.subfield}
280
+ //
281
+ // Special notes
282
+ //
283
+ // When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the
284
+ // proto to JSON conversion must follow the [proto3
285
+ // specification](https://developers.google.com/protocol-buffers/docs/proto3#json).
286
+ //
287
+ // While the single segment variable follows the semantics of
288
+ // [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String
289
+ // Expansion, the multi segment variable **does not** follow RFC 6570 Section
290
+ // 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion
291
+ // does not expand special characters like `?` and `#`, which would lead
292
+ // to invalid URLs. As the result, gRPC Transcoding uses a custom encoding
293
+ // for multi segment variables.
294
+ //
295
+ // The path variables **must not** refer to any repeated or mapped field,
296
+ // because client libraries are not capable of handling such variable expansion.
297
+ //
298
+ // The path variables **must not** capture the leading "/" character. The reason
299
+ // is that the most common use case "{var}" does not capture the leading "/"
300
+ // character. For consistency, all path variables must share the same behavior.
301
+ //
302
+ // Repeated message fields must not be mapped to URL query parameters, because
303
+ // no client library can support such complicated mapping.
304
+ //
305
+ // If an API needs to use a JSON array for request or response body, it can map
306
+ // the request or response body to a repeated field. However, some gRPC
307
+ // Transcoding implementations may not support this feature.
308
+ message HttpRule {
309
+ // Selects a method to which this rule applies.
310
+ //
311
+ // Refer to [selector][google.api.DocumentationRule.selector] for syntax
312
+ // details.
313
+ string selector = 1;
314
+
315
+ // Determines the URL pattern is matched by this rules. This pattern can be
316
+ // used with any of the {get|put|post|delete|patch} methods. A custom method
317
+ // can be defined using the 'custom' field.
318
+ oneof pattern {
319
+ // Maps to HTTP GET. Used for listing and getting information about
320
+ // resources.
321
+ string get = 2;
322
+
323
+ // Maps to HTTP PUT. Used for replacing a resource.
324
+ string put = 3;
325
+
326
+ // Maps to HTTP POST. Used for creating a resource or performing an action.
327
+ string post = 4;
328
+
329
+ // Maps to HTTP DELETE. Used for deleting a resource.
330
+ string delete = 5;
331
+
332
+ // Maps to HTTP PATCH. Used for updating a resource.
333
+ string patch = 6;
334
+
335
+ // The custom pattern is used for specifying an HTTP method that is not
336
+ // included in the `pattern` field, such as HEAD, or "*" to leave the
337
+ // HTTP method unspecified for this rule. The wild-card rule is useful
338
+ // for services that provide content to Web (HTML) clients.
339
+ CustomHttpPattern custom = 8;
340
+ }
341
+
342
+ // The name of the request field whose value is mapped to the HTTP request
343
+ // body, or `*` for mapping all request fields not captured by the path
344
+ // pattern to the HTTP body, or omitted for not having any HTTP request body.
345
+ //
346
+ // NOTE: the referred field must be present at the top-level of the request
347
+ // message type.
348
+ string body = 7;
349
+
350
+ // Optional. The name of the response field whose value is mapped to the HTTP
351
+ // response body. When omitted, the entire response message will be used
352
+ // as the HTTP response body.
353
+ //
354
+ // NOTE: The referred field must be present at the top-level of the response
355
+ // message type.
356
+ string response_body = 12;
357
+
358
+ // Additional HTTP bindings for the selector. Nested bindings must
359
+ // not contain an `additional_bindings` field themselves (that is,
360
+ // the nesting may only be one level deep).
361
+ repeated HttpRule additional_bindings = 11;
362
+ }
363
+
364
+ // A custom pattern is used for defining custom HTTP verb.
365
+ message CustomHttpPattern {
366
+ // The name of this custom HTTP verb.
367
+ string kind = 1;
368
+
369
+ // The path matched by this custom verb.
370
+ string path = 2;
371
+ }
@@ -0,0 +1,81 @@
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;
18
+
19
+ import "google/protobuf/any.proto";
20
+
21
+ option cc_enable_arenas = true;
22
+ option go_package = "google.golang.org/genproto/googleapis/api/httpbody;httpbody";
23
+ option java_multiple_files = true;
24
+ option java_outer_classname = "HttpBodyProto";
25
+ option java_package = "com.google.api";
26
+ option objc_class_prefix = "GAPI";
27
+
28
+ // Message that represents an arbitrary HTTP body. It should only be used for
29
+ // payload formats that can't be represented as JSON, such as raw binary or
30
+ // an HTML page.
31
+ //
32
+ //
33
+ // This message can be used both in streaming and non-streaming API methods in
34
+ // the request as well as the response.
35
+ //
36
+ // It can be used as a top-level request field, which is convenient if one
37
+ // wants to extract parameters from either the URL or HTTP template into the
38
+ // request fields and also want access to the raw HTTP body.
39
+ //
40
+ // Example:
41
+ //
42
+ // message GetResourceRequest {
43
+ // // A unique request id.
44
+ // string request_id = 1;
45
+ //
46
+ // // The raw HTTP body is bound to this field.
47
+ // google.api.HttpBody http_body = 2;
48
+ //
49
+ // }
50
+ //
51
+ // service ResourceService {
52
+ // rpc GetResource(GetResourceRequest)
53
+ // returns (google.api.HttpBody);
54
+ // rpc UpdateResource(google.api.HttpBody)
55
+ // returns (google.protobuf.Empty);
56
+ //
57
+ // }
58
+ //
59
+ // Example with streaming methods:
60
+ //
61
+ // service CaldavService {
62
+ // rpc GetCalendar(stream google.api.HttpBody)
63
+ // returns (stream google.api.HttpBody);
64
+ // rpc UpdateCalendar(stream google.api.HttpBody)
65
+ // returns (stream google.api.HttpBody);
66
+ //
67
+ // }
68
+ //
69
+ // Use of this type only changes how the request and response bodies are
70
+ // handled, all other features will continue to work unchanged.
71
+ message HttpBody {
72
+ // The HTTP Content-Type header value specifying the content type of the body.
73
+ string content_type = 1;
74
+
75
+ // The HTTP request/response body as raw binary.
76
+ bytes data = 2;
77
+
78
+ // Application specific response metadata. Must be set in the first response
79
+ // for streaming APIs.
80
+ repeated google.protobuf.Any extensions = 3;
81
+ }
@@ -0,0 +1,48 @@
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;
18
+
19
+ option cc_enable_arenas = true;
20
+ option go_package = "google.golang.org/genproto/googleapis/api/label;label";
21
+ option java_multiple_files = true;
22
+ option java_outer_classname = "LabelProto";
23
+ option java_package = "com.google.api";
24
+ option objc_class_prefix = "GAPI";
25
+
26
+ // A description of a label.
27
+ message LabelDescriptor {
28
+ // Value types that can be used as label values.
29
+ enum ValueType {
30
+ // A variable-length string. This is the default.
31
+ STRING = 0;
32
+
33
+ // Boolean; true or false.
34
+ BOOL = 1;
35
+
36
+ // A 64-bit signed integer.
37
+ INT64 = 2;
38
+ }
39
+
40
+ // The label key.
41
+ string key = 1;
42
+
43
+ // The type of data that can be assigned to the label.
44
+ ValueType value_type = 2;
45
+
46
+ // A human-readable description for the label.
47
+ string description = 3;
48
+ }
@@ -0,0 +1,72 @@
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;
18
+
19
+ option go_package = "google.golang.org/genproto/googleapis/api;api";
20
+ option java_multiple_files = true;
21
+ option java_outer_classname = "LaunchStageProto";
22
+ option java_package = "com.google.api";
23
+ option objc_class_prefix = "GAPI";
24
+
25
+ // The launch stage as defined by [Google Cloud Platform
26
+ // Launch Stages](https://cloud.google.com/terms/launch-stages).
27
+ enum LaunchStage {
28
+ // Do not use this default value.
29
+ LAUNCH_STAGE_UNSPECIFIED = 0;
30
+
31
+ // The feature is not yet implemented. Users can not use it.
32
+ UNIMPLEMENTED = 6;
33
+
34
+ // Prelaunch features are hidden from users and are only visible internally.
35
+ PRELAUNCH = 7;
36
+
37
+ // Early Access features are limited to a closed group of testers. To use
38
+ // these features, you must sign up in advance and sign a Trusted Tester
39
+ // agreement (which includes confidentiality provisions). These features may
40
+ // be unstable, changed in backward-incompatible ways, and are not
41
+ // guaranteed to be released.
42
+ EARLY_ACCESS = 1;
43
+
44
+ // Alpha is a limited availability test for releases before they are cleared
45
+ // for widespread use. By Alpha, all significant design issues are resolved
46
+ // and we are in the process of verifying functionality. Alpha customers
47
+ // need to apply for access, agree to applicable terms, and have their
48
+ // projects allowlisted. Alpha releases don't have to be feature complete,
49
+ // no SLAs are provided, and there are no technical support obligations, but
50
+ // they will be far enough along that customers can actually use them in
51
+ // test environments or for limited-use tests -- just like they would in
52
+ // normal production cases.
53
+ ALPHA = 2;
54
+
55
+ // Beta is the point at which we are ready to open a release for any
56
+ // customer to use. There are no SLA or technical support obligations in a
57
+ // Beta release. Products will be complete from a feature perspective, but
58
+ // may have some open outstanding issues. Beta releases are suitable for
59
+ // limited production use cases.
60
+ BETA = 3;
61
+
62
+ // GA features are open to all developers and are considered stable and
63
+ // fully qualified for production use.
64
+ GA = 4;
65
+
66
+ // Deprecated features are scheduled to be shut down and removed. For more
67
+ // information, see the "Deprecation Policy" section of our [Terms of
68
+ // Service](https://cloud.google.com/terms/)
69
+ // and the [Google Cloud Platform Subject to the Deprecation
70
+ // Policy](https://cloud.google.com/terms/deprecation) documentation.
71
+ DEPRECATED = 5;
72
+ }