@devvit/protos 0.11.7-next-2025-02-10-a03b99540.0 → 0.11.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (223) hide show
  1. package/package.json +4 -4
  2. package/meta.min.json +0 -7820
  3. package/protos.min.js +0 -2
  4. package/protos.min.js.map +0 -7
  5. package/schema/.snootobuf/deps/buf/validate/expression.proto +0 -92
  6. package/schema/.snootobuf/deps/buf/validate/priv/private.proto +0 -41
  7. package/schema/.snootobuf/deps/buf/validate/validate.proto +0 -4130
  8. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/audit.proto +0 -72
  9. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/auth.proto +0 -49
  10. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/organization.proto +0 -54
  11. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/service.proto +0 -46
  12. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/subscription.proto +0 -72
  13. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/ui.proto +0 -20
  14. package/schema/.snootobuf/deps/devvit/data/api/admin/v1alpha/user.proto +0 -45
  15. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/admin.proto +0 -54
  16. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/delivery.proto +0 -773
  17. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/filter.proto +0 -66
  18. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/firehose.proto +0 -100
  19. package/schema/.snootobuf/deps/devvit/data/api/v1alpha/intake.proto +0 -19
  20. package/schema/.snootobuf/deps/devvit/events/v1alpha/events.proto +0 -446
  21. package/schema/.snootobuf/deps/devvit/gateway/v1alpha/payments.proto +0 -24
  22. package/schema/.snootobuf/deps/devvit/options/options.proto +0 -98
  23. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/commentv2.proto +0 -29
  24. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/flair.proto +0 -25
  25. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/modaction.proto +0 -53
  26. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/modmail.proto +0 -56
  27. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/postv2.proto +0 -107
  28. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/subredditv2.proto +0 -41
  29. package/schema/.snootobuf/deps/devvit/reddit/v2alpha/userv2.proto +0 -23
  30. package/schema/.snootobuf/deps/devvit/triggers/v1alpha/triggers.proto +0 -162
  31. package/schema/.snootobuf/deps/enum/account_gender_category.proto +0 -14
  32. package/schema/.snootobuf/deps/enum/approval_status.proto +0 -15
  33. package/schema/.snootobuf/deps/enum/automated_reporting_level.proto +0 -12
  34. package/schema/.snootobuf/deps/enum/ban_evasion_threshold.proto +0 -13
  35. package/schema/.snootobuf/deps/enum/ban_info_action.proto +0 -12
  36. package/schema/.snootobuf/deps/enum/block_relation_type.proto +0 -11
  37. package/schema/.snootobuf/deps/enum/comment_sort.proto +0 -18
  38. package/schema/.snootobuf/deps/enum/comment_type.proto +0 -11
  39. package/schema/.snootobuf/deps/enum/crowd_control_level.proto +0 -12
  40. package/schema/.snootobuf/deps/enum/discussion_type.proto +0 -10
  41. package/schema/.snootobuf/deps/enum/distinguish_type.proto +0 -14
  42. package/schema/.snootobuf/deps/enum/flair_position.proto +0 -11
  43. package/schema/.snootobuf/deps/enum/hateful_content_threshold.proto +0 -12
  44. package/schema/.snootobuf/deps/enum/link_content_type.proto +0 -11
  45. package/schema/.snootobuf/deps/enum/link_type.proto +0 -11
  46. package/schema/.snootobuf/deps/enum/link_visibility.proto +0 -11
  47. package/schema/.snootobuf/deps/enum/prediction_leaderboard_entry_type.proto +0 -11
  48. package/schema/.snootobuf/deps/enum/promo_layout.proto +0 -11
  49. package/schema/.snootobuf/deps/enum/removed_by_type.proto +0 -18
  50. package/schema/.snootobuf/deps/enum/spam_level.proto +0 -11
  51. package/schema/.snootobuf/deps/enum/subreddit_type.proto +0 -16
  52. package/schema/.snootobuf/deps/enum/verdict.proto +0 -14
  53. package/schema/.snootobuf/deps/enum/vote.proto +0 -12
  54. package/schema/.snootobuf/deps/enum/whitelist_status.proto +0 -17
  55. package/schema/.snootobuf/deps/enum/wiki_edit_mode.proto +0 -12
  56. package/schema/.snootobuf/deps/evaluator/evaluator.proto +0 -203
  57. package/schema/.snootobuf/deps/google/api/annotations.proto +0 -31
  58. package/schema/.snootobuf/deps/google/api/apikeys/v2/apikeys.proto +0 -288
  59. package/schema/.snootobuf/deps/google/api/apikeys/v2/resources.proto +0 -175
  60. package/schema/.snootobuf/deps/google/api/auth.proto +0 -237
  61. package/schema/.snootobuf/deps/google/api/backend.proto +0 -185
  62. package/schema/.snootobuf/deps/google/api/billing.proto +0 -77
  63. package/schema/.snootobuf/deps/google/api/client.proto +0 -431
  64. package/schema/.snootobuf/deps/google/api/cloudquotas/v1/cloudquotas.proto +0 -322
  65. package/schema/.snootobuf/deps/google/api/cloudquotas/v1/resources.proto +0 -315
  66. package/schema/.snootobuf/deps/google/api/config_change.proto +0 -84
  67. package/schema/.snootobuf/deps/google/api/consumer.proto +0 -82
  68. package/schema/.snootobuf/deps/google/api/context.proto +0 -92
  69. package/schema/.snootobuf/deps/google/api/control.proto +0 -41
  70. package/schema/.snootobuf/deps/google/api/distribution.proto +0 -213
  71. package/schema/.snootobuf/deps/google/api/documentation.proto +0 -168
  72. package/schema/.snootobuf/deps/google/api/endpoint.proto +0 -69
  73. package/schema/.snootobuf/deps/google/api/error_reason.proto +0 -589
  74. package/schema/.snootobuf/deps/google/api/expr/conformance/v1alpha1/conformance_service.proto +0 -183
  75. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/checked.proto +0 -343
  76. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/eval.proto +0 -118
  77. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/explain.proto +0 -53
  78. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/syntax.proto +0 -438
  79. package/schema/.snootobuf/deps/google/api/expr/v1alpha1/value.proto +0 -115
  80. package/schema/.snootobuf/deps/google/api/expr/v1beta1/decl.proto +0 -84
  81. package/schema/.snootobuf/deps/google/api/expr/v1beta1/eval.proto +0 -125
  82. package/schema/.snootobuf/deps/google/api/expr/v1beta1/expr.proto +0 -265
  83. package/schema/.snootobuf/deps/google/api/expr/v1beta1/source.proto +0 -62
  84. package/schema/.snootobuf/deps/google/api/expr/v1beta1/value.proto +0 -114
  85. package/schema/.snootobuf/deps/google/api/field_behavior.proto +0 -104
  86. package/schema/.snootobuf/deps/google/api/field_info.proto +0 -106
  87. package/schema/.snootobuf/deps/google/api/http.proto +0 -371
  88. package/schema/.snootobuf/deps/google/api/httpbody.proto +0 -81
  89. package/schema/.snootobuf/deps/google/api/label.proto +0 -48
  90. package/schema/.snootobuf/deps/google/api/launch_stage.proto +0 -72
  91. package/schema/.snootobuf/deps/google/api/log.proto +0 -54
  92. package/schema/.snootobuf/deps/google/api/logging.proto +0 -81
  93. package/schema/.snootobuf/deps/google/api/metric.proto +0 -268
  94. package/schema/.snootobuf/deps/google/api/monitored_resource.proto +0 -130
  95. package/schema/.snootobuf/deps/google/api/monitoring.proto +0 -107
  96. package/schema/.snootobuf/deps/google/api/policy.proto +0 -85
  97. package/schema/.snootobuf/deps/google/api/quota.proto +0 -184
  98. package/schema/.snootobuf/deps/google/api/resource.proto +0 -243
  99. package/schema/.snootobuf/deps/google/api/routing.proto +0 -461
  100. package/schema/.snootobuf/deps/google/api/service.proto +0 -191
  101. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/check_error.proto +0 -124
  102. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/distribution.proto +0 -166
  103. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/http_request.proto +0 -93
  104. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/log_entry.proto +0 -126
  105. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/metric_value.proto +0 -81
  106. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/operation.proto +0 -123
  107. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/quota_controller.proto +0 -245
  108. package/schema/.snootobuf/deps/google/api/servicecontrol/v1/service_controller.proto +0 -260
  109. package/schema/.snootobuf/deps/google/api/servicecontrol/v2/service_controller.proto +0 -196
  110. package/schema/.snootobuf/deps/google/api/servicemanagement/v1/resources.proto +0 -295
  111. package/schema/.snootobuf/deps/google/api/servicemanagement/v1/servicemanager.proto +0 -508
  112. package/schema/.snootobuf/deps/google/api/serviceusage/v1/resources.proto +0 -130
  113. package/schema/.snootobuf/deps/google/api/serviceusage/v1/serviceusage.proto +0 -305
  114. package/schema/.snootobuf/deps/google/api/serviceusage/v1beta1/resources.proto +0 -458
  115. package/schema/.snootobuf/deps/google/api/serviceusage/v1beta1/serviceusage.proto +0 -793
  116. package/schema/.snootobuf/deps/google/api/source_info.proto +0 -31
  117. package/schema/.snootobuf/deps/google/api/system_parameter.proto +0 -96
  118. package/schema/.snootobuf/deps/google/api/usage.proto +0 -96
  119. package/schema/.snootobuf/deps/google/api/visibility.proto +0 -113
  120. package/schema/.snootobuf/deps/google/cloud/extended_operations.proto +0 -150
  121. package/schema/.snootobuf/deps/google/iam/admin/v1/iam.proto +0 -1087
  122. package/schema/.snootobuf/deps/google/iam/v1/iam_policy.proto +0 -145
  123. package/schema/.snootobuf/deps/google/iam/v1/logging/audit_data.proto +0 -34
  124. package/schema/.snootobuf/deps/google/iam/v1/options.proto +0 -41
  125. package/schema/.snootobuf/deps/google/iam/v1/policy.proto +0 -240
  126. package/schema/.snootobuf/deps/google/logging/type/http_request.proto +0 -92
  127. package/schema/.snootobuf/deps/google/logging/type/log_severity.proto +0 -72
  128. package/schema/.snootobuf/deps/google/longrunning/operations.proto +0 -247
  129. package/schema/.snootobuf/deps/google/protobuf/any.proto +0 -158
  130. package/schema/.snootobuf/deps/google/protobuf/api.proto +0 -208
  131. package/schema/.snootobuf/deps/google/protobuf/compiler/plugin.proto +0 -183
  132. package/schema/.snootobuf/deps/google/protobuf/descriptor.proto +0 -921
  133. package/schema/.snootobuf/deps/google/protobuf/duration.proto +0 -116
  134. package/schema/.snootobuf/deps/google/protobuf/empty.proto +0 -51
  135. package/schema/.snootobuf/deps/google/protobuf/field_mask.proto +0 -245
  136. package/schema/.snootobuf/deps/google/protobuf/source_context.proto +0 -48
  137. package/schema/.snootobuf/deps/google/protobuf/struct.proto +0 -95
  138. package/schema/.snootobuf/deps/google/protobuf/timestamp.proto +0 -147
  139. package/schema/.snootobuf/deps/google/protobuf/type.proto +0 -187
  140. package/schema/.snootobuf/deps/google/protobuf/wrappers.proto +0 -123
  141. package/schema/.snootobuf/deps/google/rpc/code.proto +0 -186
  142. package/schema/.snootobuf/deps/google/rpc/context/attribute_context.proto +0 -287
  143. package/schema/.snootobuf/deps/google/rpc/error_details.proto +0 -246
  144. package/schema/.snootobuf/deps/google/rpc/status.proto +0 -47
  145. package/schema/.snootobuf/deps/google/type/calendar_period.proto +0 -57
  146. package/schema/.snootobuf/deps/google/type/color.proto +0 -170
  147. package/schema/.snootobuf/deps/google/type/date.proto +0 -50
  148. package/schema/.snootobuf/deps/google/type/datetime.proto +0 -97
  149. package/schema/.snootobuf/deps/google/type/dayofweek.proto +0 -51
  150. package/schema/.snootobuf/deps/google/type/expr.proto +0 -51
  151. package/schema/.snootobuf/deps/google/type/fraction.proto +0 -34
  152. package/schema/.snootobuf/deps/google/type/latlng.proto +0 -37
  153. package/schema/.snootobuf/deps/google/type/money.proto +0 -43
  154. package/schema/.snootobuf/deps/google/type/month.proto +0 -66
  155. package/schema/.snootobuf/deps/google/type/postal_address.proto +0 -135
  156. package/schema/.snootobuf/deps/google/type/quaternion.proto +0 -95
  157. package/schema/.snootobuf/deps/google/type/timeofday.proto +0 -44
  158. package/schema/.snootobuf/deps/openapi/helper.proto +0 -20
  159. package/schema/.snootobuf/deps/products-api/protos/reddit/xpaymentsplatform/payproducts/v1/currencies.proto +0 -189
  160. package/schema/.snootobuf/deps/products-api/protos/reddit/xpaymentsplatform/payproducts/v1/payproducts.proto +0 -118
  161. package/schema/.snootobuf/deps/reddit/api/metadata/v1/metadata.proto +0 -55
  162. package/schema/.snootobuf/deps/reddit/coreplatform/account/v1/account.proto +0 -579
  163. package/schema/.snootobuf/deps/reddit/coreplatform/account/v1/account_relations.proto +0 -43
  164. package/schema/.snootobuf/deps/reddit/coreplatform/api/metadata/v1/metadata.proto +0 -82
  165. package/schema/.snootobuf/deps/reddit/coreplatform/blocking/v1/user_blocking_service.proto +0 -221
  166. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree.proto +0 -78
  167. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree_service.proto +0 -189
  168. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comment_tree_structure.proto +0 -29
  169. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comments.proto +0 -417
  170. package/schema/.snootobuf/deps/reddit/coreplatform/comments/v1/comments_service.proto +0 -72
  171. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/auth.proto +0 -25
  172. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/features.proto +0 -52
  173. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/lang.proto +0 -16
  174. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/legal.proto +0 -20
  175. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/media.proto +0 -149
  176. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/moderation.proto +0 -197
  177. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/safety.proto +0 -116
  178. package/schema/.snootobuf/deps/reddit/coreplatform/common/v1/time.proto +0 -25
  179. package/schema/.snootobuf/deps/reddit/coreplatform/domains/v1/domains_metadata_service.proto +0 -101
  180. package/schema/.snootobuf/deps/reddit/coreplatform/grpc_thrift/v1/grpc_thrift_options.proto +0 -34
  181. package/schema/.snootobuf/deps/reddit/coreplatform/links/v1/links.proto +0 -798
  182. package/schema/.snootobuf/deps/reddit/coreplatform/links/v1/links_service.proto +0 -186
  183. package/schema/.snootobuf/deps/reddit/coreplatform/messages/v1/messages.proto +0 -110
  184. package/schema/.snootobuf/deps/reddit/coreplatform/sensitive/v1/wrappers.proto +0 -51
  185. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit.proto +0 -1202
  186. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_member_relations.proto +0 -85
  187. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_moderator_service.proto +0 -363
  188. package/schema/.snootobuf/deps/reddit/coreplatform/subreddit/v1/subreddit_service.proto +0 -301
  189. package/schema/.snootobuf/deps/reddit/coreplatform/thing/v0/thing.proto +0 -2869
  190. package/schema/.snootobuf/deps/reddit/devvit/custom_post/v1/custom_post.proto +0 -15
  191. package/schema/.snootobuf/deps/reddit/devvit/custom_post/v1/service.proto +0 -11
  192. package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/context_action.proto +0 -48
  193. package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/manifest.proto +0 -70
  194. package/schema/.snootobuf/deps/reddit/devvit/subreddit/v1/service.proto +0 -11
  195. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/acknowledge_order_delivery.proto +0 -17
  196. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/checkout.proto +0 -89
  197. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/common.proto +0 -322
  198. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/delete_products.proto +0 -17
  199. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/events.proto +0 -14
  200. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_batch_products.proto +0 -15
  201. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_gold_balances.proto +0 -48
  202. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_order.proto +0 -31
  203. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_orders.proto +0 -26
  204. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_orders_by_user.proto +0 -15
  205. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_payout_info_batch.proto +0 -52
  206. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_products.proto +0 -23
  207. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/get_user_profiles.proto +0 -28
  208. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/refund_order.proto +0 -17
  209. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/service.proto +0 -49
  210. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/service_data_compliance.proto +0 -20
  211. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payapi/v1/upsert_products.proto +0 -17
  212. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paygatewaypsps/v1/paygatewaypsps.proto +0 -158
  213. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payorders/v1/payments_data_compliance.proto +0 -18
  214. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payorders/v1/payorders.proto +0 -195
  215. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/admin.proto +0 -44
  216. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/ledger.proto +0 -200
  217. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/payments_data_compliance.proto +0 -18
  218. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/paypayments/v1/paypayments.proto +0 -210
  219. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payproducts/v1/currencies.proto +0 -189
  220. package/schema/.snootobuf/deps/reddit/xpaymentsplatform/payproducts/v1/payproducts.proto +0 -135
  221. package/schema/.snootobuf/deps/snooron_sources/text_classification/text_classification.proto +0 -29
  222. package/schema/.snootobuf/deps/snooron_sources/v2_event/v2_event.proto +0 -3292
  223. package/schema/.snootobuf/deps/validate/validate.proto +0 -862
@@ -1,1087 +0,0 @@
1
- // Copyright 2019 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.iam.admin.v1;
18
-
19
- import "google/api/annotations.proto";
20
- import "google/api/client.proto";
21
- import "google/api/field_behavior.proto";
22
- import "google/api/resource.proto";
23
- import "google/iam/v1/iam_policy.proto";
24
- import "google/iam/v1/policy.proto";
25
- import "google/protobuf/empty.proto";
26
- import "google/protobuf/field_mask.proto";
27
- import "google/protobuf/timestamp.proto";
28
-
29
- option cc_enable_arenas = true;
30
- option go_package = "google.golang.org/genproto/googleapis/iam/admin/v1;admin";
31
- option java_multiple_files = true;
32
- option java_outer_classname = "IamProto";
33
- option java_package = "com.google.iam.admin.v1";
34
-
35
- // Creates and manages service account objects.
36
- //
37
- // Service account is an account that belongs to your project instead
38
- // of to an individual end user. It is used to authenticate calls
39
- // to a Google API.
40
- //
41
- // To create a service account, specify the `project_id` and `account_id`
42
- // for the account. The `account_id` is unique within the project, and used
43
- // to generate the service account email address and a stable
44
- // `unique_id`.
45
- //
46
- // All other methods can identify accounts using the format
47
- // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
48
- // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
49
- // the account. The `ACCOUNT` value can be the `email` address or the
50
- // `unique_id` of the service account.
51
- service IAM {
52
- option (google.api.default_host) = "iam.googleapis.com";
53
- option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
54
-
55
- // Lists [ServiceAccounts][google.iam.admin.v1.ServiceAccount] for a project.
56
- rpc ListServiceAccounts(ListServiceAccountsRequest) returns (ListServiceAccountsResponse) {
57
- option (google.api.http) = {
58
- get: "/v1/{name=projects/*}/serviceAccounts"
59
- };
60
- option (google.api.method_signature) = "name";
61
- }
62
-
63
- // Gets a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
64
- rpc GetServiceAccount(GetServiceAccountRequest) returns (ServiceAccount) {
65
- option (google.api.http) = {
66
- get: "/v1/{name=projects/*/serviceAccounts/*}"
67
- };
68
- option (google.api.method_signature) = "name";
69
- }
70
-
71
- // Creates a [ServiceAccount][google.iam.admin.v1.ServiceAccount]
72
- // and returns it.
73
- rpc CreateServiceAccount(CreateServiceAccountRequest) returns (ServiceAccount) {
74
- option (google.api.http) = {
75
- post: "/v1/{name=projects/*}/serviceAccounts"
76
- body: "*"
77
- };
78
- option (google.api.method_signature) = "name,account_id,service_account";
79
- }
80
-
81
- // Updates a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
82
- //
83
- // Currently, only the following fields are updatable:
84
- // `display_name` and `description`.
85
- rpc UpdateServiceAccount(ServiceAccount) returns (ServiceAccount) {
86
- option (google.api.http) = {
87
- put: "/v1/{name=projects/*/serviceAccounts/*}"
88
- body: "*"
89
- };
90
- }
91
-
92
- // Deletes a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
93
- rpc DeleteServiceAccount(DeleteServiceAccountRequest) returns (google.protobuf.Empty) {
94
- option (google.api.http) = {
95
- delete: "/v1/{name=projects/*/serviceAccounts/*}"
96
- };
97
- option (google.api.method_signature) = "name";
98
- }
99
-
100
- // Lists [ServiceAccountKeys][google.iam.admin.v1.ServiceAccountKey].
101
- rpc ListServiceAccountKeys(ListServiceAccountKeysRequest) returns (ListServiceAccountKeysResponse) {
102
- option (google.api.http) = {
103
- get: "/v1/{name=projects/*/serviceAccounts/*}/keys"
104
- };
105
- option (google.api.method_signature) = "name,key_types";
106
- }
107
-
108
- // Gets the [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]
109
- // by key id.
110
- rpc GetServiceAccountKey(GetServiceAccountKeyRequest) returns (ServiceAccountKey) {
111
- option (google.api.http) = {
112
- get: "/v1/{name=projects/*/serviceAccounts/*/keys/*}"
113
- };
114
- option (google.api.method_signature) = "name,public_key_type";
115
- }
116
-
117
- // Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]
118
- // and returns it.
119
- rpc CreateServiceAccountKey(CreateServiceAccountKeyRequest) returns (ServiceAccountKey) {
120
- option (google.api.http) = {
121
- post: "/v1/{name=projects/*/serviceAccounts/*}/keys"
122
- body: "*"
123
- };
124
- option (google.api.method_signature) = "name,private_key_type,key_algorithm";
125
- }
126
-
127
- // Deletes a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
128
- rpc DeleteServiceAccountKey(DeleteServiceAccountKeyRequest) returns (google.protobuf.Empty) {
129
- option (google.api.http) = {
130
- delete: "/v1/{name=projects/*/serviceAccounts/*/keys/*}"
131
- };
132
- option (google.api.method_signature) = "name";
133
- }
134
-
135
- // Signs a blob using a service account's system-managed private key.
136
- rpc SignBlob(SignBlobRequest) returns (SignBlobResponse) {
137
- option (google.api.http) = {
138
- post: "/v1/{name=projects/*/serviceAccounts/*}:signBlob"
139
- body: "*"
140
- };
141
- option (google.api.method_signature) = "name,bytes_to_sign";
142
- }
143
-
144
- // Signs a JWT using a service account's system-managed private key.
145
- //
146
- // If no expiry time (`exp`) is provided in the `SignJwtRequest`, IAM sets an
147
- // an expiry time of one hour by default. If you request an expiry time of
148
- // more than one hour, the request will fail.
149
- rpc SignJwt(SignJwtRequest) returns (SignJwtResponse) {
150
- option (google.api.http) = {
151
- post: "/v1/{name=projects/*/serviceAccounts/*}:signJwt"
152
- body: "*"
153
- };
154
- option (google.api.method_signature) = "name,payload";
155
- }
156
-
157
- // Returns the Cloud IAM access control policy for a
158
- // [ServiceAccount][google.iam.admin.v1.ServiceAccount].
159
- //
160
- // Note: Service accounts are both
161
- // [resources and
162
- // identities](/iam/docs/service-accounts#service_account_permissions). This
163
- // method treats the service account as a resource. It returns the Cloud IAM
164
- // policy that reflects what members have access to the service account.
165
- //
166
- // This method does not return what resources the service account has access
167
- // to. To see if a service account has access to a resource, call the
168
- // `getIamPolicy` method on the target resource. For example, to view grants
169
- // for a project, call the
170
- // [projects.getIamPolicy](/resource-manager/reference/rest/v1/projects/getIamPolicy)
171
- // method.
172
- rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) {
173
- option (google.api.http) = {
174
- post: "/v1/{resource=projects/*/serviceAccounts/*}:getIamPolicy"
175
- };
176
- option (google.api.method_signature) = "resource";
177
- }
178
-
179
- // Sets the Cloud IAM access control policy for a
180
- // [ServiceAccount][google.iam.admin.v1.ServiceAccount].
181
- //
182
- // Note: Service accounts are both
183
- // [resources and
184
- // identities](/iam/docs/service-accounts#service_account_permissions). This
185
- // method treats the service account as a resource. Use it to grant members
186
- // access to the service account, such as when they need to impersonate it.
187
- //
188
- // This method does not grant the service account access to other resources,
189
- // such as projects. To grant a service account access to resources, include
190
- // the service account in the Cloud IAM policy for the desired resource, then
191
- // call the appropriate `setIamPolicy` method on the target resource. For
192
- // example, to grant a service account access to a project, call the
193
- // [projects.setIamPolicy](/resource-manager/reference/rest/v1/projects/setIamPolicy)
194
- // method.
195
- rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) {
196
- option (google.api.http) = {
197
- post: "/v1/{resource=projects/*/serviceAccounts/*}:setIamPolicy"
198
- body: "*"
199
- };
200
- option (google.api.method_signature) = "resource,policy";
201
- }
202
-
203
- // Tests the specified permissions against the IAM access control policy
204
- // for a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
205
- rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) {
206
- option (google.api.http) = {
207
- post: "/v1/{resource=projects/*/serviceAccounts/*}:testIamPermissions"
208
- body: "*"
209
- };
210
- option (google.api.method_signature) = "resource,permissions";
211
- }
212
-
213
- // Queries roles that can be granted on a particular resource.
214
- // A role is grantable if it can be used as the role in a binding for a policy
215
- // for that resource.
216
- rpc QueryGrantableRoles(QueryGrantableRolesRequest) returns (QueryGrantableRolesResponse) {
217
- option (google.api.http) = {
218
- post: "/v1/roles:queryGrantableRoles"
219
- body: "*"
220
- };
221
- option (google.api.method_signature) = "full_resource_name";
222
- }
223
-
224
- // Lists the Roles defined on a resource.
225
- rpc ListRoles(ListRolesRequest) returns (ListRolesResponse) {
226
- option (google.api.http) = {
227
- get: "/v1/roles"
228
- additional_bindings {
229
- get: "/v1/{parent=organizations/*}/roles"
230
- }
231
- additional_bindings {
232
- get: "/v1/{parent=projects/*}/roles"
233
- }
234
- };
235
- }
236
-
237
- // Gets a Role definition.
238
- rpc GetRole(GetRoleRequest) returns (Role) {
239
- option (google.api.http) = {
240
- get: "/v1/{name=roles/*}"
241
- additional_bindings {
242
- get: "/v1/{name=organizations/*/roles/*}"
243
- }
244
- additional_bindings {
245
- get: "/v1/{name=projects/*/roles/*}"
246
- }
247
- };
248
- }
249
-
250
- // Creates a new Role.
251
- rpc CreateRole(CreateRoleRequest) returns (Role) {
252
- option (google.api.http) = {
253
- post: "/v1/{parent=organizations/*}/roles"
254
- body: "*"
255
- additional_bindings {
256
- post: "/v1/{parent=projects/*}/roles"
257
- body: "*"
258
- }
259
- };
260
- }
261
-
262
- // Updates a Role definition.
263
- rpc UpdateRole(UpdateRoleRequest) returns (Role) {
264
- option (google.api.http) = {
265
- patch: "/v1/{name=organizations/*/roles/*}"
266
- body: "role"
267
- additional_bindings {
268
- patch: "/v1/{name=projects/*/roles/*}"
269
- body: "role"
270
- }
271
- };
272
- }
273
-
274
- // Soft deletes a role. The role is suspended and cannot be used to create new
275
- // IAM Policy Bindings.
276
- // The Role will not be included in `ListRoles()` unless `show_deleted` is set
277
- // in the `ListRolesRequest`. The Role contains the deleted boolean set.
278
- // Existing Bindings remains, but are inactive. The Role can be undeleted
279
- // within 7 days. After 7 days the Role is deleted and all Bindings associated
280
- // with the role are removed.
281
- rpc DeleteRole(DeleteRoleRequest) returns (Role) {
282
- option (google.api.http) = {
283
- delete: "/v1/{name=organizations/*/roles/*}"
284
- additional_bindings {
285
- delete: "/v1/{name=projects/*/roles/*}"
286
- }
287
- };
288
- }
289
-
290
- // Undelete a Role, bringing it back in its previous state.
291
- rpc UndeleteRole(UndeleteRoleRequest) returns (Role) {
292
- option (google.api.http) = {
293
- post: "/v1/{name=organizations/*/roles/*}:undelete"
294
- body: "*"
295
- additional_bindings {
296
- post: "/v1/{name=projects/*/roles/*}:undelete"
297
- body: "*"
298
- }
299
- };
300
- }
301
-
302
- // Lists the permissions testable on a resource.
303
- // A permission is testable if it can be tested for an identity on a resource.
304
- rpc QueryTestablePermissions(QueryTestablePermissionsRequest) returns (QueryTestablePermissionsResponse) {
305
- option (google.api.http) = {
306
- post: "/v1/permissions:queryTestablePermissions"
307
- body: "*"
308
- };
309
- }
310
- }
311
-
312
- // A service account in the Identity and Access Management API.
313
- //
314
- // To create a service account, specify the `project_id` and the `account_id`
315
- // for the account. The `account_id` is unique within the project, and is used
316
- // to generate the service account email address and a stable
317
- // `unique_id`.
318
- //
319
- // If the account already exists, the account's resource name is returned
320
- // in the format of projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}. The caller
321
- // can use the name in other methods to access the account.
322
- //
323
- // All other methods can identify the service account using the format
324
- // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
325
- // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
326
- // the account. The `ACCOUNT` value can be the `email` address or the
327
- // `unique_id` of the service account.
328
- message ServiceAccount {
329
- option (google.api.resource) = {
330
- type: "iam.googleapis.com/ServiceAccount"
331
- pattern: "projects/{project}/serviceAccounts/{service_account}"
332
- };
333
-
334
- // The resource name of the service account in the following format:
335
- // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
336
- //
337
- // Requests using `-` as a wildcard for the `PROJECT_ID` will infer the
338
- // project from the `account` and the `ACCOUNT` value can be the `email`
339
- // address or the `unique_id` of the service account.
340
- //
341
- // In responses the resource name will always be in the format
342
- // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
343
- string name = 1;
344
-
345
- // @OutputOnly The id of the project that owns the service account.
346
- string project_id = 2;
347
-
348
- // @OutputOnly The unique and stable id of the service account.
349
- string unique_id = 4;
350
-
351
- // @OutputOnly The email address of the service account.
352
- string email = 5;
353
-
354
- // Optional. A user-specified name for the service account.
355
- // Must be less than or equal to 100 UTF-8 bytes.
356
- string display_name = 6;
357
-
358
- // Optional. Note: `etag` is an inoperable legacy field that is only returned
359
- // for backwards compatibility.
360
- bytes etag = 7;
361
-
362
- // @OutputOnly. The OAuth2 client id for the service account.
363
- // This is used in conjunction with the OAuth2 clientconfig API to make
364
- // three legged OAuth2 (3LO) flows to access the data of Google users.
365
- string oauth2_client_id = 9;
366
- }
367
-
368
- // The service account create request.
369
- message CreateServiceAccountRequest {
370
- // Required. The resource name of the project associated with the service
371
- // accounts, such as `projects/my-project-123`.
372
- string name = 1 [
373
- (google.api.field_behavior) = REQUIRED,
374
- (google.api.resource_reference) = {
375
- type: "cloudresourcemanager.googleapis.com/Project"
376
- }
377
- ];
378
-
379
- // Required. The account id that is used to generate the service account
380
- // email address and a stable unique id. It is unique within a project,
381
- // must be 6-30 characters long, and match the regular expression
382
- // `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035.
383
- string account_id = 2 [(google.api.field_behavior) = REQUIRED];
384
-
385
- // The [ServiceAccount][google.iam.admin.v1.ServiceAccount] resource to
386
- // create. Currently, only the following values are user assignable:
387
- // `display_name` and `description`.
388
- ServiceAccount service_account = 3;
389
- }
390
-
391
- // The service account list request.
392
- message ListServiceAccountsRequest {
393
- // Required. The resource name of the project associated with the service
394
- // accounts, such as `projects/my-project-123`.
395
- string name = 1 [
396
- (google.api.field_behavior) = REQUIRED,
397
- (google.api.resource_reference) = {
398
- type: "cloudresourcemanager.googleapis.com/Project"
399
- }
400
- ];
401
-
402
- // Optional limit on the number of service accounts to include in the
403
- // response. Further accounts can subsequently be obtained by including the
404
- // [ListServiceAccountsResponse.next_page_token][google.iam.admin.v1.ListServiceAccountsResponse.next_page_token]
405
- // in a subsequent request.
406
- int32 page_size = 2;
407
-
408
- // Optional pagination token returned in an earlier
409
- // [ListServiceAccountsResponse.next_page_token][google.iam.admin.v1.ListServiceAccountsResponse.next_page_token].
410
- string page_token = 3;
411
- }
412
-
413
- // The service account list response.
414
- message ListServiceAccountsResponse {
415
- // The list of matching service accounts.
416
- repeated ServiceAccount accounts = 1;
417
-
418
- // To retrieve the next page of results, set
419
- // [ListServiceAccountsRequest.page_token][google.iam.admin.v1.ListServiceAccountsRequest.page_token]
420
- // to this value.
421
- string next_page_token = 2;
422
- }
423
-
424
- // The service account get request.
425
- message GetServiceAccountRequest {
426
- // Required. The resource name of the service account in the following format:
427
- // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
428
- // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
429
- // the account. The `ACCOUNT` value can be the `email` address or the
430
- // `unique_id` of the service account.
431
- string name = 1 [
432
- (google.api.field_behavior) = REQUIRED,
433
- (google.api.resource_reference) = {
434
- type: "iam.googleapis.com/ServiceAccount"
435
- }
436
- ];
437
- }
438
-
439
- // The service account delete request.
440
- message DeleteServiceAccountRequest {
441
- // Required. The resource name of the service account in the following format:
442
- // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
443
- // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
444
- // the account. The `ACCOUNT` value can be the `email` address or the
445
- // `unique_id` of the service account.
446
- string name = 1 [
447
- (google.api.field_behavior) = REQUIRED,
448
- (google.api.resource_reference) = {
449
- type: "iam.googleapis.com/ServiceAccount"
450
- }
451
- ];
452
- }
453
-
454
- // The service account keys list request.
455
- message ListServiceAccountKeysRequest {
456
- // `KeyType` filters to selectively retrieve certain varieties
457
- // of keys.
458
- enum KeyType {
459
- // Unspecified key type. The presence of this in the
460
- // message will immediately result in an error.
461
- KEY_TYPE_UNSPECIFIED = 0;
462
-
463
- // User-managed keys (managed and rotated by the user).
464
- USER_MANAGED = 1;
465
-
466
- // System-managed keys (managed and rotated by Google).
467
- SYSTEM_MANAGED = 2;
468
- }
469
-
470
- // Required. The resource name of the service account in the following format:
471
- // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
472
- //
473
- // Using `-` as a wildcard for the `PROJECT_ID`, will infer the project from
474
- // the account. The `ACCOUNT` value can be the `email` address or the
475
- // `unique_id` of the service account.
476
- string name = 1 [
477
- (google.api.field_behavior) = REQUIRED,
478
- (google.api.resource_reference) = {
479
- type: "iam.googleapis.com/ServiceAccount"
480
- }
481
- ];
482
-
483
- // Filters the types of keys the user wants to include in the list
484
- // response. Duplicate key types are not allowed. If no key type
485
- // is provided, all keys are returned.
486
- repeated KeyType key_types = 2;
487
- }
488
-
489
- // The service account keys list response.
490
- message ListServiceAccountKeysResponse {
491
- // The public keys for the service account.
492
- repeated ServiceAccountKey keys = 1;
493
- }
494
-
495
- // The service account key get by id request.
496
- message GetServiceAccountKeyRequest {
497
- // Required. The resource name of the service account key in the following format:
498
- // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.
499
- //
500
- // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
501
- // the account. The `ACCOUNT` value can be the `email` address or the
502
- // `unique_id` of the service account.
503
- string name = 1 [
504
- (google.api.field_behavior) = REQUIRED,
505
- (google.api.resource_reference) = {
506
- type: "iam.googleapis.com/Key"
507
- }
508
- ];
509
-
510
- // The output format of the public key requested.
511
- // X509_PEM is the default output format.
512
- ServiceAccountPublicKeyType public_key_type = 2;
513
- }
514
-
515
- // Represents a service account key.
516
- //
517
- // A service account has two sets of key-pairs: user-managed, and
518
- // system-managed.
519
- //
520
- // User-managed key-pairs can be created and deleted by users. Users are
521
- // responsible for rotating these keys periodically to ensure security of
522
- // their service accounts. Users retain the private key of these key-pairs,
523
- // and Google retains ONLY the public key.
524
- //
525
- // System-managed keys are automatically rotated by Google, and are used for
526
- // signing for a maximum of two weeks. The rotation process is probabilistic,
527
- // and usage of the new key will gradually ramp up and down over the key's
528
- // lifetime. We recommend caching the public key set for a service account for
529
- // no more than 24 hours to ensure you have access to the latest keys.
530
- //
531
- // Public keys for all service accounts are also published at the OAuth2
532
- // Service Account API.
533
- message ServiceAccountKey {
534
- option (google.api.resource) = {
535
- type: "iam.googleapis.com/Key"
536
- pattern: "projects/{project}/serviceAccounts/{service_account}/keys/{key}"
537
- };
538
-
539
- // The resource name of the service account key in the following format
540
- // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.
541
- string name = 1;
542
-
543
- // The output format for the private key.
544
- // Only provided in `CreateServiceAccountKey` responses, not
545
- // in `GetServiceAccountKey` or `ListServiceAccountKey` responses.
546
- //
547
- // Google never exposes system-managed private keys, and never retains
548
- // user-managed private keys.
549
- ServiceAccountPrivateKeyType private_key_type = 2;
550
-
551
- // Specifies the algorithm (and possibly key size) for the key.
552
- ServiceAccountKeyAlgorithm key_algorithm = 8;
553
-
554
- // The private key data. Only provided in `CreateServiceAccountKey`
555
- // responses. Make sure to keep the private key data secure because it
556
- // allows for the assertion of the service account identity.
557
- // When base64 decoded, the private key data can be used to authenticate with
558
- // Google API client libraries and with
559
- // <a href="/sdk/gcloud/reference/auth/activate-service-account">gcloud
560
- // auth activate-service-account</a>.
561
- bytes private_key_data = 3;
562
-
563
- // The public key data. Only provided in `GetServiceAccountKey` responses.
564
- bytes public_key_data = 7;
565
-
566
- // The key can be used after this timestamp.
567
- google.protobuf.Timestamp valid_after_time = 4;
568
-
569
- // The key can be used before this timestamp.
570
- // For system-managed key pairs, this timestamp is the end time for the
571
- // private key signing operation. The public key could still be used
572
- // for verification for a few hours after this time.
573
- google.protobuf.Timestamp valid_before_time = 5;
574
- }
575
-
576
- // The service account key create request.
577
- message CreateServiceAccountKeyRequest {
578
- // Required. The resource name of the service account in the following format:
579
- // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
580
- // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
581
- // the account. The `ACCOUNT` value can be the `email` address or the
582
- // `unique_id` of the service account.
583
- string name = 1 [
584
- (google.api.field_behavior) = REQUIRED,
585
- (google.api.resource_reference) = {
586
- type: "iam.googleapis.com/ServiceAccount"
587
- }
588
- ];
589
-
590
- // The output format of the private key. The default value is
591
- // `TYPE_GOOGLE_CREDENTIALS_FILE`, which is the Google Credentials File
592
- // format.
593
- ServiceAccountPrivateKeyType private_key_type = 2;
594
-
595
- // Which type of key and algorithm to use for the key.
596
- // The default is currently a 2K RSA key. However this may change in the
597
- // future.
598
- ServiceAccountKeyAlgorithm key_algorithm = 3;
599
- }
600
-
601
- // The service account key delete request.
602
- message DeleteServiceAccountKeyRequest {
603
- // Required. The resource name of the service account key in the following format:
604
- // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.
605
- // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
606
- // the account. The `ACCOUNT` value can be the `email` address or the
607
- // `unique_id` of the service account.
608
- string name = 1 [
609
- (google.api.field_behavior) = REQUIRED,
610
- (google.api.resource_reference) = {
611
- type: "iam.googleapis.com/Key"
612
- }
613
- ];
614
- }
615
-
616
- // The service account sign blob request.
617
- message SignBlobRequest {
618
- // Required. The resource name of the service account in the following format:
619
- // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
620
- // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
621
- // the account. The `ACCOUNT` value can be the `email` address or the
622
- // `unique_id` of the service account.
623
- string name = 1 [
624
- (google.api.field_behavior) = REQUIRED,
625
- (google.api.resource_reference) = {
626
- type: "iam.googleapis.com/ServiceAccount"
627
- }
628
- ];
629
-
630
- // Required. The bytes to sign.
631
- bytes bytes_to_sign = 2 [(google.api.field_behavior) = REQUIRED];
632
- }
633
-
634
- // The service account sign blob response.
635
- message SignBlobResponse {
636
- // The id of the key used to sign the blob.
637
- string key_id = 1;
638
-
639
- // The signed blob.
640
- bytes signature = 2;
641
- }
642
-
643
- // The service account sign JWT request.
644
- message SignJwtRequest {
645
- // Required. The resource name of the service account in the following format:
646
- // `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
647
- // Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
648
- // the account. The `ACCOUNT` value can be the `email` address or the
649
- // `unique_id` of the service account.
650
- string name = 1 [
651
- (google.api.field_behavior) = REQUIRED,
652
- (google.api.resource_reference) = {
653
- type: "iam.googleapis.com/ServiceAccount"
654
- }
655
- ];
656
-
657
- // Required. The JWT payload to sign, a JSON JWT Claim set.
658
- string payload = 2 [(google.api.field_behavior) = REQUIRED];
659
- }
660
-
661
- // The service account sign JWT response.
662
- message SignJwtResponse {
663
- // The id of the key used to sign the JWT.
664
- string key_id = 1;
665
-
666
- // The signed JWT.
667
- string signed_jwt = 2;
668
- }
669
-
670
- // A role in the Identity and Access Management API.
671
- message Role {
672
- // A stage representing a role's lifecycle phase.
673
- enum RoleLaunchStage {
674
- // The user has indicated this role is currently in an Alpha phase. If this
675
- // launch stage is selected, the `stage` field will not be included when
676
- // requesting the definition for a given role.
677
- ALPHA = 0;
678
-
679
- // The user has indicated this role is currently in a Beta phase.
680
- BETA = 1;
681
-
682
- // The user has indicated this role is generally available.
683
- GA = 2;
684
-
685
- // The user has indicated this role is being deprecated.
686
- DEPRECATED = 4;
687
-
688
- // This role is disabled and will not contribute permissions to any members
689
- // it is granted to in policies.
690
- DISABLED = 5;
691
-
692
- // The user has indicated this role is currently in an EAP phase.
693
- EAP = 6;
694
- }
695
-
696
- // The name of the role.
697
- //
698
- // When Role is used in CreateRole, the role name must not be set.
699
- //
700
- // When Role is used in output and other input such as UpdateRole, the role
701
- // name is the complete path, e.g., roles/logging.viewer for predefined roles
702
- // and organizations/{ORGANIZATION_ID}/roles/logging.viewer for custom roles.
703
- string name = 1;
704
-
705
- // Optional. A human-readable title for the role. Typically this
706
- // is limited to 100 UTF-8 bytes.
707
- string title = 2;
708
-
709
- // Optional. A human-readable description for the role.
710
- string description = 3;
711
-
712
- // The names of the permissions this role grants when bound in an IAM policy.
713
- repeated string included_permissions = 7;
714
-
715
- // The current launch stage of the role. If the `ALPHA` launch stage has been
716
- // selected for a role, the `stage` field will not be included in the
717
- // returned definition for the role.
718
- RoleLaunchStage stage = 8;
719
-
720
- // Used to perform a consistent read-modify-write.
721
- bytes etag = 9;
722
-
723
- // The current deleted state of the role. This field is read only.
724
- // It will be ignored in calls to CreateRole and UpdateRole.
725
- bool deleted = 11;
726
- }
727
-
728
- // The grantable role query request.
729
- message QueryGrantableRolesRequest {
730
- // Required. The full resource name to query from the list of grantable roles.
731
- //
732
- // The name follows the Google Cloud Platform resource format.
733
- // For example, a Cloud Platform project with id `my-project` will be named
734
- // `//cloudresourcemanager.googleapis.com/projects/my-project`.
735
- string full_resource_name = 1 [(google.api.field_behavior) = REQUIRED];
736
-
737
- RoleView view = 2;
738
-
739
- // Optional limit on the number of roles to include in the response.
740
- int32 page_size = 3;
741
-
742
- // Optional pagination token returned in an earlier
743
- // QueryGrantableRolesResponse.
744
- string page_token = 4;
745
- }
746
-
747
- // The grantable role query response.
748
- message QueryGrantableRolesResponse {
749
- // The list of matching roles.
750
- repeated Role roles = 1;
751
-
752
- // To retrieve the next page of results, set
753
- // `QueryGrantableRolesRequest.page_token` to this value.
754
- string next_page_token = 2;
755
- }
756
-
757
- // The request to get all roles defined under a resource.
758
- message ListRolesRequest {
759
- // The `parent` parameter's value depends on the target resource for the
760
- // request, namely
761
- // [`roles`](/iam/reference/rest/v1/roles),
762
- // [`projects`](/iam/reference/rest/v1/projects.roles), or
763
- // [`organizations`](/iam/reference/rest/v1/organizations.roles). Each
764
- // resource type's `parent` value format is described below:
765
- //
766
- // * [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string.
767
- // This method doesn't require a resource; it simply returns all
768
- // [predefined roles](/iam/docs/understanding-roles#predefined_roles) in
769
- // Cloud IAM. Example request URL:
770
- // `https://iam.googleapis.com/v1/roles`
771
- //
772
- // * [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list):
773
- // `projects/{PROJECT_ID}`. This method lists all project-level
774
- // [custom roles](/iam/docs/understanding-custom-roles).
775
- // Example request URL:
776
- // `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles`
777
- //
778
- // * [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list):
779
- // `organizations/{ORGANIZATION_ID}`. This method lists all
780
- // organization-level [custom roles](/iam/docs/understanding-custom-roles).
781
- // Example request URL:
782
- // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles`
783
- //
784
- // Note: Wildcard (*) values are invalid; you must specify a complete project
785
- // ID or organization ID.
786
- string parent = 1 [(google.api.resource_reference).type = "*"];
787
-
788
- // Optional limit on the number of roles to include in the response.
789
- int32 page_size = 2;
790
-
791
- // Optional pagination token returned in an earlier ListRolesResponse.
792
- string page_token = 3;
793
-
794
- // Optional view for the returned Role objects. When `FULL` is specified,
795
- // the `includedPermissions` field is returned, which includes a list of all
796
- // permissions in the role. The default value is `BASIC`, which does not
797
- // return the `includedPermissions` field.
798
- RoleView view = 4;
799
-
800
- // Include Roles that have been deleted.
801
- bool show_deleted = 6;
802
- }
803
-
804
- // The response containing the roles defined under a resource.
805
- message ListRolesResponse {
806
- // The Roles defined on this resource.
807
- repeated Role roles = 1;
808
-
809
- // To retrieve the next page of results, set
810
- // `ListRolesRequest.page_token` to this value.
811
- string next_page_token = 2;
812
- }
813
-
814
- // The request to get the definition of an existing role.
815
- message GetRoleRequest {
816
- // The `name` parameter's value depends on the target resource for the
817
- // request, namely
818
- // [`roles`](/iam/reference/rest/v1/roles),
819
- // [`projects`](/iam/reference/rest/v1/projects.roles), or
820
- // [`organizations`](/iam/reference/rest/v1/organizations.roles). Each
821
- // resource type's `name` value format is described below:
822
- //
823
- // * [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`.
824
- // This method returns results from all
825
- // [predefined roles](/iam/docs/understanding-roles#predefined_roles) in
826
- // Cloud IAM. Example request URL:
827
- // `https://iam.googleapis.com/v1/roles/{ROLE_NAME}`
828
- //
829
- // * [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get):
830
- // `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only
831
- // [custom roles](/iam/docs/understanding-custom-roles) that have been
832
- // created at the project level. Example request URL:
833
- // `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`
834
- //
835
- // * [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get):
836
- // `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method
837
- // returns only [custom roles](/iam/docs/understanding-custom-roles) that
838
- // have been created at the organization level. Example request URL:
839
- // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`
840
- //
841
- // Note: Wildcard (*) values are invalid; you must specify a complete project
842
- // ID or organization ID.
843
- string name = 1 [(google.api.resource_reference).type = "*"];
844
- }
845
-
846
- // The request to create a new role.
847
- message CreateRoleRequest {
848
- // The `parent` parameter's value depends on the target resource for the
849
- // request, namely
850
- // [`projects`](/iam/reference/rest/v1/projects.roles) or
851
- // [`organizations`](/iam/reference/rest/v1/organizations.roles). Each
852
- // resource type's `parent` value format is described below:
853
- //
854
- // * [`projects.roles.create()`](/iam/reference/rest/v1/projects.roles/create):
855
- // `projects/{PROJECT_ID}`. This method creates project-level
856
- // [custom roles](/iam/docs/understanding-custom-roles).
857
- // Example request URL:
858
- // `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles`
859
- //
860
- // * [`organizations.roles.create()`](/iam/reference/rest/v1/organizations.roles/create):
861
- // `organizations/{ORGANIZATION_ID}`. This method creates organization-level
862
- // [custom roles](/iam/docs/understanding-custom-roles). Example request
863
- // URL:
864
- // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles`
865
- //
866
- // Note: Wildcard (*) values are invalid; you must specify a complete project
867
- // ID or organization ID.
868
- string parent = 1 [(google.api.resource_reference).type = "*"];
869
-
870
- // The role ID to use for this role.
871
- string role_id = 2;
872
-
873
- // The Role resource to create.
874
- Role role = 3;
875
- }
876
-
877
- // The request to update a role.
878
- message UpdateRoleRequest {
879
- // The `name` parameter's value depends on the target resource for the
880
- // request, namely
881
- // [`projects`](/iam/reference/rest/v1/projects.roles) or
882
- // [`organizations`](/iam/reference/rest/v1/organizations.roles). Each
883
- // resource type's `name` value format is described below:
884
- //
885
- // * [`projects.roles.patch()`](/iam/reference/rest/v1/projects.roles/patch):
886
- // `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only
887
- // [custom roles](/iam/docs/understanding-custom-roles) that have been
888
- // created at the project level. Example request URL:
889
- // `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`
890
- //
891
- // * [`organizations.roles.patch()`](/iam/reference/rest/v1/organizations.roles/patch):
892
- // `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method
893
- // updates only [custom roles](/iam/docs/understanding-custom-roles) that
894
- // have been created at the organization level. Example request URL:
895
- // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`
896
- //
897
- // Note: Wildcard (*) values are invalid; you must specify a complete project
898
- // ID or organization ID.
899
- string name = 1 [(google.api.resource_reference).type = "*"];
900
-
901
- // The updated role.
902
- Role role = 2;
903
-
904
- // A mask describing which fields in the Role have changed.
905
- google.protobuf.FieldMask update_mask = 3;
906
- }
907
-
908
- // The request to delete an existing role.
909
- message DeleteRoleRequest {
910
- // The `name` parameter's value depends on the target resource for the
911
- // request, namely
912
- // [`projects`](/iam/reference/rest/v1/projects.roles) or
913
- // [`organizations`](/iam/reference/rest/v1/organizations.roles). Each
914
- // resource type's `name` value format is described below:
915
- //
916
- // * [`projects.roles.delete()`](/iam/reference/rest/v1/projects.roles/delete):
917
- // `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only
918
- // [custom roles](/iam/docs/understanding-custom-roles) that have been
919
- // created at the project level. Example request URL:
920
- // `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`
921
- //
922
- // * [`organizations.roles.delete()`](/iam/reference/rest/v1/organizations.roles/delete):
923
- // `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method
924
- // deletes only [custom roles](/iam/docs/understanding-custom-roles) that
925
- // have been created at the organization level. Example request URL:
926
- // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`
927
- //
928
- // Note: Wildcard (*) values are invalid; you must specify a complete project
929
- // ID or organization ID.
930
- string name = 1 [(google.api.resource_reference).type = "*"];
931
-
932
- // Used to perform a consistent read-modify-write.
933
- bytes etag = 2;
934
- }
935
-
936
- // The request to undelete an existing role.
937
- message UndeleteRoleRequest {
938
- // The `name` parameter's value depends on the target resource for the
939
- // request, namely
940
- // [`projects`](/iam/reference/rest/v1/projects.roles) or
941
- // [`organizations`](/iam/reference/rest/v1/organizations.roles). Each
942
- // resource type's `name` value format is described below:
943
- //
944
- // * [`projects.roles.undelete()`](/iam/reference/rest/v1/projects.roles/undelete):
945
- // `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes
946
- // only [custom roles](/iam/docs/understanding-custom-roles) that have been
947
- // created at the project level. Example request URL:
948
- // `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`
949
- //
950
- // * [`organizations.roles.undelete()`](/iam/reference/rest/v1/organizations.roles/undelete):
951
- // `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method
952
- // undeletes only [custom roles](/iam/docs/understanding-custom-roles) that
953
- // have been created at the organization level. Example request URL:
954
- // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`
955
- //
956
- // Note: Wildcard (*) values are invalid; you must specify a complete project
957
- // ID or organization ID.
958
- string name = 1 [(google.api.resource_reference).type = "*"];
959
-
960
- // Used to perform a consistent read-modify-write.
961
- bytes etag = 2;
962
- }
963
-
964
- // A permission which can be included by a role.
965
- message Permission {
966
- // A stage representing a permission's lifecycle phase.
967
- enum PermissionLaunchStage {
968
- // The permission is currently in an alpha phase.
969
- ALPHA = 0;
970
-
971
- // The permission is currently in a beta phase.
972
- BETA = 1;
973
-
974
- // The permission is generally available.
975
- GA = 2;
976
-
977
- // The permission is being deprecated.
978
- DEPRECATED = 3;
979
- }
980
-
981
- // The state of the permission with regards to custom roles.
982
- enum CustomRolesSupportLevel {
983
- // Permission is fully supported for custom role use.
984
- SUPPORTED = 0;
985
-
986
- // Permission is being tested to check custom role compatibility.
987
- TESTING = 1;
988
-
989
- // Permission is not supported for custom role use.
990
- NOT_SUPPORTED = 2;
991
- }
992
-
993
- // The name of this Permission.
994
- string name = 1;
995
-
996
- // The title of this Permission.
997
- string title = 2;
998
-
999
- // A brief description of what this Permission is used for.
1000
- // This permission can ONLY be used in predefined roles.
1001
- string description = 3;
1002
-
1003
- // This permission can ONLY be used in predefined roles.
1004
- bool only_in_predefined_roles = 4;
1005
-
1006
- // The current launch stage of the permission.
1007
- PermissionLaunchStage stage = 5;
1008
-
1009
- // The current custom role support level.
1010
- CustomRolesSupportLevel custom_roles_support_level = 6;
1011
- }
1012
-
1013
- // A request to get permissions which can be tested on a resource.
1014
- message QueryTestablePermissionsRequest {
1015
- // Required. The full resource name to query from the list of testable
1016
- // permissions.
1017
- //
1018
- // The name follows the Google Cloud Platform resource format.
1019
- // For example, a Cloud Platform project with id `my-project` will be named
1020
- // `//cloudresourcemanager.googleapis.com/projects/my-project`.
1021
- string full_resource_name = 1;
1022
-
1023
- // Optional limit on the number of permissions to include in the response.
1024
- int32 page_size = 2;
1025
-
1026
- // Optional pagination token returned in an earlier
1027
- // QueryTestablePermissionsRequest.
1028
- string page_token = 3;
1029
- }
1030
-
1031
- // The response containing permissions which can be tested on a resource.
1032
- message QueryTestablePermissionsResponse {
1033
- // The Permissions testable on the requested resource.
1034
- repeated Permission permissions = 1;
1035
-
1036
- // To retrieve the next page of results, set
1037
- // `QueryTestableRolesRequest.page_token` to this value.
1038
- string next_page_token = 2;
1039
- }
1040
-
1041
- // Supported key algorithms.
1042
- enum ServiceAccountKeyAlgorithm {
1043
- // An unspecified key algorithm.
1044
- KEY_ALG_UNSPECIFIED = 0;
1045
-
1046
- // 1k RSA Key.
1047
- KEY_ALG_RSA_1024 = 1;
1048
-
1049
- // 2k RSA Key.
1050
- KEY_ALG_RSA_2048 = 2;
1051
- }
1052
-
1053
- // Supported private key output formats.
1054
- enum ServiceAccountPrivateKeyType {
1055
- // Unspecified. Equivalent to `TYPE_GOOGLE_CREDENTIALS_FILE`.
1056
- TYPE_UNSPECIFIED = 0;
1057
-
1058
- // PKCS12 format.
1059
- // The password for the PKCS12 file is `notasecret`.
1060
- // For more information, see https://tools.ietf.org/html/rfc7292.
1061
- TYPE_PKCS12_FILE = 1;
1062
-
1063
- // Google Credentials File format.
1064
- TYPE_GOOGLE_CREDENTIALS_FILE = 2;
1065
- }
1066
-
1067
- // Supported public key output formats.
1068
- enum ServiceAccountPublicKeyType {
1069
- // Unspecified. Returns nothing here.
1070
- TYPE_NONE = 0;
1071
-
1072
- // X509 PEM format.
1073
- TYPE_X509_PEM_FILE = 1;
1074
-
1075
- // Raw public key.
1076
- TYPE_RAW_PUBLIC_KEY = 2;
1077
- }
1078
-
1079
- // A view for Role objects.
1080
- enum RoleView {
1081
- // Omits the `included_permissions` field.
1082
- // This is the default value.
1083
- BASIC = 0;
1084
-
1085
- // Returns all fields.
1086
- FULL = 1;
1087
- }