OLD | NEW |
1 { | 1 { |
2 "auth": { | 2 "auth": { |
3 "oauth2": { | 3 "oauth2": { |
4 "scopes": { | 4 "scopes": { |
5 "https://www.googleapis.com/auth/cloud-platform": { | 5 "https://www.googleapis.com/auth/cloud-platform": { |
6 "description": "View and manage your data across Google Clou
d Platform services" | 6 "description": "View and manage your data across Google Clou
d Platform services" |
7 }, | 7 }, |
8 "https://www.googleapis.com/auth/source.read_only": { | 8 "https://www.googleapis.com/auth/source.read_only": { |
9 "description": "View the contents of your source code reposi
tories" | 9 "description": "View the contents of your source code reposi
tories" |
10 }, | 10 }, |
(...skipping 13 matching lines...) Expand all Loading... |
24 "icons": { | 24 "icons": { |
25 "x16": "http://www.google.com/images/icons/product/search-16.gif", | 25 "x16": "http://www.google.com/images/icons/product/search-16.gif", |
26 "x32": "http://www.google.com/images/icons/product/search-32.gif" | 26 "x32": "http://www.google.com/images/icons/product/search-32.gif" |
27 }, | 27 }, |
28 "id": "sourcerepo:v1", | 28 "id": "sourcerepo:v1", |
29 "kind": "discovery#restDescription", | 29 "kind": "discovery#restDescription", |
30 "name": "sourcerepo", | 30 "name": "sourcerepo", |
31 "ownerDomain": "google.com", | 31 "ownerDomain": "google.com", |
32 "ownerName": "Google", | 32 "ownerName": "Google", |
33 "parameters": { | 33 "parameters": { |
34 "bearer_token": { | |
35 "description": "OAuth bearer token.", | |
36 "location": "query", | |
37 "type": "string" | |
38 }, | |
39 "oauth_token": { | |
40 "description": "OAuth 2.0 token for the current user.", | |
41 "location": "query", | |
42 "type": "string" | |
43 }, | |
44 "upload_protocol": { | 34 "upload_protocol": { |
45 "description": "Upload protocol for media (e.g. \"raw\", \"multipart
\").", | 35 "description": "Upload protocol for media (e.g. \"raw\", \"multipart
\").", |
46 "location": "query", | 36 "location": "query", |
47 "type": "string" | 37 "type": "string" |
48 }, | 38 }, |
49 "prettyPrint": { | 39 "prettyPrint": { |
50 "default": "true", | 40 "default": "true", |
51 "description": "Returns response with indentations and line breaks."
, | 41 "description": "Returns response with indentations and line breaks."
, |
52 "location": "query", | 42 "location": "query", |
53 "type": "boolean" | 43 "type": "boolean" |
54 }, | 44 }, |
| 45 "uploadType": { |
| 46 "description": "Legacy upload protocol for media (e.g. \"media\", \"
multipart\").", |
| 47 "location": "query", |
| 48 "type": "string" |
| 49 }, |
55 "fields": { | 50 "fields": { |
56 "description": "Selector specifying which fields to include in a par
tial response.", | 51 "description": "Selector specifying which fields to include in a par
tial response.", |
57 "location": "query", | 52 "location": "query", |
58 "type": "string" | 53 "type": "string" |
59 }, | 54 }, |
60 "uploadType": { | 55 "callback": { |
61 "description": "Legacy upload protocol for media (e.g. \"media\", \"
multipart\").", | 56 "description": "JSONP", |
62 "location": "query", | 57 "location": "query", |
63 "type": "string" | 58 "type": "string" |
64 }, | 59 }, |
65 "$.xgafv": { | 60 "$.xgafv": { |
66 "description": "V1 error format.", | 61 "description": "V1 error format.", |
67 "enum": [ | 62 "enum": [ |
68 "1", | 63 "1", |
69 "2" | 64 "2" |
70 ], | 65 ], |
71 "enumDescriptions": [ | 66 "enumDescriptions": [ |
72 "v1 error format", | 67 "v1 error format", |
73 "v2 error format" | 68 "v2 error format" |
74 ], | 69 ], |
75 "location": "query", | 70 "location": "query", |
76 "type": "string" | 71 "type": "string" |
77 }, | 72 }, |
78 "callback": { | |
79 "description": "JSONP", | |
80 "location": "query", | |
81 "type": "string" | |
82 }, | |
83 "alt": { | 73 "alt": { |
84 "default": "json", | 74 "default": "json", |
85 "description": "Data format for response.", | 75 "description": "Data format for response.", |
86 "enum": [ | 76 "enum": [ |
87 "json", | 77 "json", |
88 "media", | 78 "media", |
89 "proto" | 79 "proto" |
90 ], | 80 ], |
91 "enumDescriptions": [ | 81 "enumDescriptions": [ |
92 "Responses with Content-Type of application/json", | 82 "Responses with Content-Type of application/json", |
93 "Media download with context-dependent Content-Type", | 83 "Media download with context-dependent Content-Type", |
94 "Responses with Content-Type of application/x-protobuf" | 84 "Responses with Content-Type of application/x-protobuf" |
95 ], | 85 ], |
96 "location": "query", | 86 "location": "query", |
97 "type": "string" | 87 "type": "string" |
98 }, | 88 }, |
| 89 "access_token": { |
| 90 "description": "OAuth access token.", |
| 91 "location": "query", |
| 92 "type": "string" |
| 93 }, |
99 "key": { | 94 "key": { |
100 "description": "API key. Your API key identifies your project and pr
ovides you with API access, quota, and reports. Required unless you provide an O
Auth 2.0 token.", | 95 "description": "API key. Your API key identifies your project and pr
ovides you with API access, quota, and reports. Required unless you provide an O
Auth 2.0 token.", |
101 "location": "query", | 96 "location": "query", |
102 "type": "string" | 97 "type": "string" |
103 }, | 98 }, |
104 "access_token": { | |
105 "description": "OAuth access token.", | |
106 "location": "query", | |
107 "type": "string" | |
108 }, | |
109 "quotaUser": { | 99 "quotaUser": { |
110 "description": "Available to use for quota purposes for server-side
applications. Can be any arbitrary string assigned to a user, but should not exc
eed 40 characters.", | 100 "description": "Available to use for quota purposes for server-side
applications. Can be any arbitrary string assigned to a user, but should not exc
eed 40 characters.", |
111 "location": "query", | 101 "location": "query", |
112 "type": "string" | 102 "type": "string" |
113 }, | 103 }, |
114 "pp": { | 104 "pp": { |
115 "default": "true", | 105 "default": "true", |
116 "description": "Pretty-print response.", | 106 "description": "Pretty-print response.", |
117 "location": "query", | 107 "location": "query", |
118 "type": "boolean" | 108 "type": "boolean" |
| 109 }, |
| 110 "bearer_token": { |
| 111 "description": "OAuth bearer token.", |
| 112 "location": "query", |
| 113 "type": "string" |
| 114 }, |
| 115 "oauth_token": { |
| 116 "description": "OAuth 2.0 token for the current user.", |
| 117 "location": "query", |
| 118 "type": "string" |
119 } | 119 } |
120 }, | 120 }, |
121 "protocol": "rest", | 121 "protocol": "rest", |
122 "resources": { | 122 "resources": { |
123 "projects": { | 123 "projects": { |
124 "resources": { | 124 "resources": { |
125 "repos": { | 125 "repos": { |
126 "methods": { | 126 "methods": { |
| 127 "get": { |
| 128 "description": "Returns information about a repo.", |
| 129 "httpMethod": "GET", |
| 130 "id": "sourcerepo.projects.repos.get", |
| 131 "parameterOrder": [ |
| 132 "name" |
| 133 ], |
| 134 "parameters": { |
| 135 "name": { |
| 136 "description": "The name of the requested re
pository. Values are of the form\n`projects/<project>/repos/<repo>`.", |
| 137 "location": "path", |
| 138 "pattern": "^projects/[^/]+/repos/.+$", |
| 139 "required": true, |
| 140 "type": "string" |
| 141 } |
| 142 }, |
| 143 "path": "v1/{+name}", |
| 144 "response": { |
| 145 "$ref": "Repo" |
| 146 }, |
| 147 "scopes": [ |
| 148 "https://www.googleapis.com/auth/cloud-platform"
, |
| 149 "https://www.googleapis.com/auth/source.read_onl
y", |
| 150 "https://www.googleapis.com/auth/source.read_wri
te" |
| 151 ] |
| 152 }, |
| 153 "testIamPermissions": { |
| 154 "description": "Returns permissions that a caller ha
s on the specified resource.\nIf the resource does not exist, this will return a
n empty set of\npermissions, not a NOT_FOUND error.", |
| 155 "httpMethod": "POST", |
| 156 "id": "sourcerepo.projects.repos.testIamPermissions"
, |
| 157 "parameterOrder": [ |
| 158 "resource" |
| 159 ], |
| 160 "parameters": { |
| 161 "resource": { |
| 162 "description": "REQUIRED: The resource for w
hich the policy detail is being requested.\nSee the operation documentation for
the appropriate value for this field.", |
| 163 "location": "path", |
| 164 "pattern": "^projects/[^/]+/repos/.+$", |
| 165 "required": true, |
| 166 "type": "string" |
| 167 } |
| 168 }, |
| 169 "path": "v1/{+resource}:testIamPermissions", |
| 170 "request": { |
| 171 "$ref": "TestIamPermissionsRequest" |
| 172 }, |
| 173 "response": { |
| 174 "$ref": "TestIamPermissionsResponse" |
| 175 }, |
| 176 "scopes": [ |
| 177 "https://www.googleapis.com/auth/cloud-platform"
, |
| 178 "https://www.googleapis.com/auth/source.read_onl
y", |
| 179 "https://www.googleapis.com/auth/source.read_wri
te" |
| 180 ] |
| 181 }, |
127 "delete": { | 182 "delete": { |
128 "description": "Deletes a repo.", | 183 "description": "Deletes a repo.", |
129 "httpMethod": "DELETE", | 184 "httpMethod": "DELETE", |
130 "id": "sourcerepo.projects.repos.delete", | 185 "id": "sourcerepo.projects.repos.delete", |
131 "parameterOrder": [ | 186 "parameterOrder": [ |
132 "name" | 187 "name" |
133 ], | 188 ], |
134 "parameters": { | 189 "parameters": { |
135 "name": { | 190 "name": { |
136 "description": "The name of the repo to dele
te. Values are of the form\n`projects/<project>/repos/<repo>`.", | 191 "description": "The name of the repo to dele
te. Values are of the form\n`projects/<project>/repos/<repo>`.", |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
263 }, | 318 }, |
264 "path": "v1/{+resource}:getIamPolicy", | 319 "path": "v1/{+resource}:getIamPolicy", |
265 "response": { | 320 "response": { |
266 "$ref": "Policy" | 321 "$ref": "Policy" |
267 }, | 322 }, |
268 "scopes": [ | 323 "scopes": [ |
269 "https://www.googleapis.com/auth/cloud-platform"
, | 324 "https://www.googleapis.com/auth/cloud-platform"
, |
270 "https://www.googleapis.com/auth/source.read_onl
y", | 325 "https://www.googleapis.com/auth/source.read_onl
y", |
271 "https://www.googleapis.com/auth/source.read_wri
te" | 326 "https://www.googleapis.com/auth/source.read_wri
te" |
272 ] | 327 ] |
273 }, | |
274 "get": { | |
275 "description": "Returns information about a repo.", | |
276 "httpMethod": "GET", | |
277 "id": "sourcerepo.projects.repos.get", | |
278 "parameterOrder": [ | |
279 "name" | |
280 ], | |
281 "parameters": { | |
282 "name": { | |
283 "description": "The name of the requested re
pository. Values are of the form\n`projects/<project>/repos/<repo>`.", | |
284 "location": "path", | |
285 "pattern": "^projects/[^/]+/repos/.+$", | |
286 "required": true, | |
287 "type": "string" | |
288 } | |
289 }, | |
290 "path": "v1/{+name}", | |
291 "response": { | |
292 "$ref": "Repo" | |
293 }, | |
294 "scopes": [ | |
295 "https://www.googleapis.com/auth/cloud-platform"
, | |
296 "https://www.googleapis.com/auth/source.read_onl
y", | |
297 "https://www.googleapis.com/auth/source.read_wri
te" | |
298 ] | |
299 }, | |
300 "testIamPermissions": { | |
301 "description": "Returns permissions that a caller ha
s on the specified resource.\nIf the resource does not exist, this will return a
n empty set of\npermissions, not a NOT_FOUND error.", | |
302 "httpMethod": "POST", | |
303 "id": "sourcerepo.projects.repos.testIamPermissions"
, | |
304 "parameterOrder": [ | |
305 "resource" | |
306 ], | |
307 "parameters": { | |
308 "resource": { | |
309 "description": "REQUIRED: The resource for w
hich the policy detail is being requested.\nSee the operation documentation for
the appropriate value for this field.", | |
310 "location": "path", | |
311 "pattern": "^projects/[^/]+/repos/.+$", | |
312 "required": true, | |
313 "type": "string" | |
314 } | |
315 }, | |
316 "path": "v1/{+resource}:testIamPermissions", | |
317 "request": { | |
318 "$ref": "TestIamPermissionsRequest" | |
319 }, | |
320 "response": { | |
321 "$ref": "TestIamPermissionsResponse" | |
322 }, | |
323 "scopes": [ | |
324 "https://www.googleapis.com/auth/cloud-platform"
, | |
325 "https://www.googleapis.com/auth/source.read_onl
y", | |
326 "https://www.googleapis.com/auth/source.read_wri
te" | |
327 ] | |
328 } | 328 } |
329 } | 329 } |
330 } | 330 } |
331 } | 331 } |
332 } | 332 } |
333 }, | 333 }, |
334 "revision": "20170528", | 334 "revision": "20170528", |
335 "rootUrl": "https://sourcerepo.googleapis.com/", | 335 "rootUrl": "https://sourcerepo.googleapis.com/", |
336 "schemas": { | 336 "schemas": { |
337 "DataAccessOptions": { | |
338 "description": "Write a Data Access (Gin) log", | |
339 "id": "DataAccessOptions", | |
340 "properties": {}, | |
341 "type": "object" | |
342 }, | |
343 "AuditConfig": { | |
344 "description": "Specifies the audit configuration for a service.\nTh
e configuration determines which permission types are logged, and what\nidentiti
es, if any, are exempted from logging.\nAn AuditConfig must have one or more Aud
itLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific
service,\nthe union of the two AuditConfigs is used for that service: the log_t
ypes\nspecified in each AuditConfig are enabled, and the exempted_members in eac
h\nAuditConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n
{\n \"audit_configs\": [\n {\n \"service\": \"allServices
\"\n \"audit_log_configs\": [\n {\n \"log_type\
": \"DATA_READ\",\n \"exempted_members\": [\n \"user
:foo@gmail.com\"\n ]\n },\n {\n
\"log_type\": \"DATA_WRITE\",\n },\n {\n \"lo
g_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n
\"service\": \"fooservice.googleapis.com\"\n \"audit_log_config
s\": [\n {\n \"log_type\": \"DATA_READ\",\n }
,\n {\n \"log_type\": \"DATA_WRITE\",\n \"e
xempted_members\": [\n \"user:bar@gmail.com\"\n ]\n
}\n ]\n }\n ]\n }\n\nFor fooservice, this pol
icy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@g
mail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.", | |
345 "id": "AuditConfig", | |
346 "properties": { | |
347 "service": { | |
348 "description": "Specifies a service that will be enabled for
audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com
`.\n`allServices` is a special value that covers all services.", | |
349 "type": "string" | |
350 }, | |
351 "auditLogConfigs": { | |
352 "description": "The configuration for logging of each type o
f permission.\nNext ID: 4", | |
353 "items": { | |
354 "$ref": "AuditLogConfig" | |
355 }, | |
356 "type": "array" | |
357 }, | |
358 "exemptedMembers": { | |
359 "items": { | |
360 "type": "string" | |
361 }, | |
362 "type": "array" | |
363 } | |
364 }, | |
365 "type": "object" | |
366 }, | |
367 "SetIamPolicyRequest": { | |
368 "description": "Request message for `SetIamPolicy` method.", | |
369 "id": "SetIamPolicyRequest", | |
370 "properties": { | |
371 "updateMask": { | |
372 "description": "OPTIONAL: A FieldMask specifying which field
s of the policy to modify. Only\nthe fields in the mask will be modified. If no
mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\
"\nThis field is only used by Cloud IAM.", | |
373 "format": "google-fieldmask", | |
374 "type": "string" | |
375 }, | |
376 "policy": { | |
377 "$ref": "Policy", | |
378 "description": "REQUIRED: The complete policy to be applied
to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An emp
ty policy is a\nvalid policy but certain Cloud Platform services (such as Projec
ts)\nmight reject them." | |
379 } | |
380 }, | |
381 "type": "object" | |
382 }, | |
383 "CloudAuditOptions": { | |
384 "description": "Write a Cloud Audit log", | |
385 "id": "CloudAuditOptions", | |
386 "properties": { | |
387 "logName": { | |
388 "description": "The log_name to populate in the Cloud Audit
Record.", | |
389 "enum": [ | |
390 "UNSPECIFIED_LOG_NAME", | |
391 "ADMIN_ACTIVITY", | |
392 "DATA_ACCESS" | |
393 ], | |
394 "enumDescriptions": [ | |
395 "Default. Should not be used.", | |
396 "Corresponds to \"cloudaudit.googleapis.com/activity\"", | |
397 "Corresponds to \"cloudaudit.googleapis.com/data_access\
"" | |
398 ], | |
399 "type": "string" | |
400 } | |
401 }, | |
402 "type": "object" | |
403 }, | |
404 "Binding": { | |
405 "description": "Associates `members` with a `role`.", | |
406 "id": "Binding", | |
407 "properties": { | |
408 "members": { | |
409 "description": "Specifies the identities requesting access f
or a Cloud Platform resource.\n`members` can have the following values:\n\n* `al
lUsers`: A special identifier that represents anyone who is\n on the internet;
with or without a Google account.\n\n* `allAuthenticatedUsers`: A special ident
ifier that represents anyone\n who is authenticated with a Google account or a
service account.\n\n* `user:{emailid}`: An email address that represents a spec
ific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\
n\n* `serviceAccount:{emailid}`: An email address that represents a service\n
account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{e
mailid}`: An email address that represents a Google group.\n For example, `adm
ins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that repre
sents all the\n users of that domain. For example, `google.com` or `example.co
m`.\n\n", | |
410 "items": { | |
411 "type": "string" | |
412 }, | |
413 "type": "array" | |
414 }, | |
415 "role": { | |
416 "description": "Role that is assigned to `members`.\nFor exa
mple, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", | |
417 "type": "string" | |
418 } | |
419 }, | |
420 "type": "object" | |
421 }, | |
422 "Empty": { | |
423 "description": "A generic empty message that you can re-use to avoid
defining duplicated\nempty messages in your APIs. A typical example is to use i
t as the request\nor the response type of an API method. For instance:\n\n se
rvice Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty
);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", | |
424 "id": "Empty", | |
425 "properties": {}, | |
426 "type": "object" | |
427 }, | |
428 "MirrorConfig": { | |
429 "description": "Configuration to automatically mirror a repository f
rom another\nhosting service, for example GitHub or BitBucket.", | |
430 "id": "MirrorConfig", | |
431 "properties": { | |
432 "deployKeyId": { | |
433 "description": "ID of the SSH deploy key at the other hostin
g service.\nRemoving this key from the other service would deauthorize\nGoogle C
loud Source Repositories from mirroring.", | |
434 "type": "string" | |
435 }, | |
436 "url": { | |
437 "description": "URL of the main repository at the other host
ing service.", | |
438 "type": "string" | |
439 }, | |
440 "webhookId": { | |
441 "description": "ID of the webhook listening to updates to tr
igger mirroring.\nRemoving this webook from the other hosting service will stop\
nGoogle Cloud Source Repositories from receiving notifications,\nand thereby dis
abling mirroring.", | |
442 "type": "string" | |
443 } | |
444 }, | |
445 "type": "object" | |
446 }, | |
447 "Repo": { | |
448 "description": "A repository (or repo) is a Git repository storing v
ersioned source content.", | |
449 "id": "Repo", | |
450 "properties": { | |
451 "url": { | |
452 "description": "URL to clone the repository from Google Clou
d Source Repositories.", | |
453 "type": "string" | |
454 }, | |
455 "size": { | |
456 "description": "The disk usage of the repo, in bytes.\nOnly
returned by GetRepo.", | |
457 "format": "int64", | |
458 "type": "string" | |
459 }, | |
460 "name": { | |
461 "description": "Resource name of the repository, of the form
\n`projects/<project>/repos/<repo>`. The repo name may contain slashes.\neg, `p
rojects/myproject/repos/name/with/slash`", | |
462 "type": "string" | |
463 }, | |
464 "mirrorConfig": { | |
465 "$ref": "MirrorConfig", | |
466 "description": "How this repository mirrors a repository man
aged by another service." | |
467 } | |
468 }, | |
469 "type": "object" | |
470 }, | |
471 "TestIamPermissionsResponse": { | |
472 "description": "Response message for `TestIamPermissions` method.", | |
473 "id": "TestIamPermissionsResponse", | |
474 "properties": { | |
475 "permissions": { | |
476 "description": "A subset of `TestPermissionsRequest.permissi
ons` that the caller is\nallowed.", | |
477 "items": { | |
478 "type": "string" | |
479 }, | |
480 "type": "array" | |
481 } | |
482 }, | |
483 "type": "object" | |
484 }, | |
485 "ListReposResponse": { | |
486 "description": "Response for ListRepos. The size is not set in the
returned repositories.", | |
487 "id": "ListReposResponse", | |
488 "properties": { | |
489 "repos": { | |
490 "description": "The listed repos.", | |
491 "items": { | |
492 "$ref": "Repo" | |
493 }, | |
494 "type": "array" | |
495 }, | |
496 "nextPageToken": { | |
497 "description": "If non-empty, additional repositories exist
within the project. These\ncan be retrieved by including this value in the next
ListReposRequest's\npage_token field.", | |
498 "type": "string" | |
499 } | |
500 }, | |
501 "type": "object" | |
502 }, | |
503 "Condition": { | |
504 "description": "A condition to be met.", | |
505 "id": "Condition", | |
506 "properties": { | |
507 "svc": { | |
508 "description": "Trusted attributes discharged by the service
.", | |
509 "type": "string" | |
510 }, | |
511 "value": { | |
512 "description": "DEPRECATED. Use 'values' instead.", | |
513 "type": "string" | |
514 }, | |
515 "sys": { | |
516 "description": "Trusted attributes supplied by any service t
hat owns resources and uses\nthe IAM system for access control.", | |
517 "enum": [ | |
518 "NO_ATTR", | |
519 "REGION", | |
520 "SERVICE", | |
521 "NAME", | |
522 "IP" | |
523 ], | |
524 "enumDescriptions": [ | |
525 "Default non-attribute type", | |
526 "Region of the resource", | |
527 "Service name", | |
528 "Resource name", | |
529 "IP address of the caller" | |
530 ], | |
531 "type": "string" | |
532 }, | |
533 "values": { | |
534 "description": "The objects of the condition. This is mutual
ly exclusive with 'value'.", | |
535 "items": { | |
536 "type": "string" | |
537 }, | |
538 "type": "array" | |
539 }, | |
540 "iam": { | |
541 "description": "Trusted attributes supplied by the IAM syste
m.", | |
542 "enum": [ | |
543 "NO_ATTR", | |
544 "AUTHORITY", | |
545 "ATTRIBUTION", | |
546 "APPROVER", | |
547 "JUSTIFICATION_TYPE" | |
548 ], | |
549 "enumDescriptions": [ | |
550 "Default non-attribute.", | |
551 "Either principal or (if present) authority selector.", | |
552 "The principal (even if an authority selector is present
), which\nmust only be used for attribution, not authorization.", | |
553 "An approver (distinct from the requester) that has auth
orized this\nrequest.\nWhen used with IN, the condition indicates that one of th
e approvers\nassociated with the request matches the specified principal, or is
a\nmember of the specified group. Approvers can only grant additional\naccess, a
nd are thus only used in a strictly positive context\n(e.g. ALLOW/IN or DENY/NOT
_IN).\nSee: go/rpc-security-policy-dynamicauth.", | |
554 "What types of justifications have been supplied with th
is request.\nString values should match enum names from tech.iam.JustificationTy
pe,\ne.g. \"MANUAL_STRING\". It is not permitted to grant access based on\nthe *
absence* of a justification, so justification conditions can only\nbe used in a
\"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN).\n\nMultiple justifications
, e.g., a Buganizer ID and a manually-entered\nreason, are normal and supported.
" | |
555 ], | |
556 "type": "string" | |
557 }, | |
558 "op": { | |
559 "description": "An operator to apply the subject with.", | |
560 "enum": [ | |
561 "NO_OP", | |
562 "EQUALS", | |
563 "NOT_EQUALS", | |
564 "IN", | |
565 "NOT_IN", | |
566 "DISCHARGED" | |
567 ], | |
568 "enumDescriptions": [ | |
569 "Default no-op.", | |
570 "DEPRECATED. Use IN instead.", | |
571 "DEPRECATED. Use NOT_IN instead.", | |
572 "The condition is true if the subject (or any element of
it if it is\na set) matches any of the supplied values.", | |
573 "The condition is true if the subject (or every element
of it if it is\na set) matches none of the supplied values.", | |
574 "Subject is discharged" | |
575 ], | |
576 "type": "string" | |
577 } | |
578 }, | |
579 "type": "object" | |
580 }, | |
581 "CounterOptions": { | 337 "CounterOptions": { |
582 "description": "Options for counters", | 338 "description": "Options for counters", |
583 "id": "CounterOptions", | 339 "id": "CounterOptions", |
584 "properties": { | 340 "properties": { |
585 "field": { | 341 "field": { |
586 "description": "The field value to attribute.", | 342 "description": "The field value to attribute.", |
587 "type": "string" | 343 "type": "string" |
588 }, | 344 }, |
589 "metric": { | 345 "metric": { |
590 "description": "The metric to update.", | 346 "description": "The metric to update.", |
(...skipping 29 matching lines...) Expand all Loading... |
620 ], | 376 ], |
621 "type": "string" | 377 "type": "string" |
622 } | 378 } |
623 }, | 379 }, |
624 "type": "object" | 380 "type": "object" |
625 }, | 381 }, |
626 "Rule": { | 382 "Rule": { |
627 "description": "A rule to be applied in a Policy.", | 383 "description": "A rule to be applied in a Policy.", |
628 "id": "Rule", | 384 "id": "Rule", |
629 "properties": { | 385 "properties": { |
| 386 "notIn": { |
| 387 "description": "If one or more 'not_in' clauses are specifie
d, the rule matches\nif the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entri
es.\nThe format for in and not_in entries is the same as for members in a\nBindi
ng (see google/iam/v1/policy.proto).", |
| 388 "items": { |
| 389 "type": "string" |
| 390 }, |
| 391 "type": "array" |
| 392 }, |
| 393 "description": { |
| 394 "description": "Human-readable description of the rule.", |
| 395 "type": "string" |
| 396 }, |
| 397 "conditions": { |
| 398 "description": "Additional restrictions that must be met", |
| 399 "items": { |
| 400 "$ref": "Condition" |
| 401 }, |
| 402 "type": "array" |
| 403 }, |
630 "logConfig": { | 404 "logConfig": { |
631 "description": "The config returned to callers of tech.iam.I
AM.CheckPolicy for any entries\nthat match the LOG action.", | 405 "description": "The config returned to callers of tech.iam.I
AM.CheckPolicy for any entries\nthat match the LOG action.", |
632 "items": { | 406 "items": { |
633 "$ref": "LogConfig" | 407 "$ref": "LogConfig" |
634 }, | 408 }, |
635 "type": "array" | 409 "type": "array" |
636 }, | 410 }, |
637 "in": { | 411 "in": { |
638 "description": "If one or more 'in' clauses are specified, t
he rule matches if\nthe PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these
entries.", | 412 "description": "If one or more 'in' clauses are specified, t
he rule matches if\nthe PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these
entries.", |
639 "items": { | 413 "items": { |
(...skipping 20 matching lines...) Expand all Loading... |
660 ], | 434 ], |
661 "enumDescriptions": [ | 435 "enumDescriptions": [ |
662 "Default no action.", | 436 "Default no action.", |
663 "Matching 'Entries' grant access.", | 437 "Matching 'Entries' grant access.", |
664 "Matching 'Entries' grant access and the caller promises
to log\nthe request per the returned log_configs.", | 438 "Matching 'Entries' grant access and the caller promises
to log\nthe request per the returned log_configs.", |
665 "Matching 'Entries' deny access.", | 439 "Matching 'Entries' deny access.", |
666 "Matching 'Entries' deny access and the caller promises
to log\nthe request per the returned log_configs.", | 440 "Matching 'Entries' deny access and the caller promises
to log\nthe request per the returned log_configs.", |
667 "Matching 'Entries' tell IAM.Check callers to generate l
ogs." | 441 "Matching 'Entries' tell IAM.Check callers to generate l
ogs." |
668 ], | 442 ], |
669 "type": "string" | 443 "type": "string" |
670 }, | |
671 "notIn": { | |
672 "description": "If one or more 'not_in' clauses are specifie
d, the rule matches\nif the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entri
es.\nThe format for in and not_in entries is the same as for members in a\nBindi
ng (see google/iam/v1/policy.proto).", | |
673 "items": { | |
674 "type": "string" | |
675 }, | |
676 "type": "array" | |
677 }, | |
678 "description": { | |
679 "description": "Human-readable description of the rule.", | |
680 "type": "string" | |
681 }, | |
682 "conditions": { | |
683 "description": "Additional restrictions that must be met", | |
684 "items": { | |
685 "$ref": "Condition" | |
686 }, | |
687 "type": "array" | |
688 } | 444 } |
689 }, | 445 }, |
690 "type": "object" | 446 "type": "object" |
691 }, | 447 }, |
692 "LogConfig": { | 448 "LogConfig": { |
693 "description": "Specifies what kind of log the caller must write", | 449 "description": "Specifies what kind of log the caller must write", |
694 "id": "LogConfig", | 450 "id": "LogConfig", |
695 "properties": { | 451 "properties": { |
696 "counter": { | 452 "counter": { |
697 "$ref": "CounterOptions", | 453 "$ref": "CounterOptions", |
(...skipping 21 matching lines...) Expand all Loading... |
719 }, | 475 }, |
720 "type": "array" | 476 "type": "array" |
721 } | 477 } |
722 }, | 478 }, |
723 "type": "object" | 479 "type": "object" |
724 }, | 480 }, |
725 "Policy": { | 481 "Policy": { |
726 "description": "Defines an Identity and Access Management (IAM) poli
cy. It is used to\nspecify access control policies for Cloud Platform resources.
\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n
`members` to a `role`, where the members can be user accounts, Google groups,\nG
oogle domains, and service accounts. A `role` is a named list of permissions\nde
fined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n
\"role\": \"roles/owner\",\n \"members\": [\n \"user:mike
@example.com\",\n \"group:admins@example.com\",\n \"domain
:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccoun
t.com\",\n ]\n },\n {\n \"role\": \"roles/viewer
\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n
}\n\nFor a description of IAM and its features, see the\n[IAM developer's guide
](https://cloud.google.com/iam).", | 482 "description": "Defines an Identity and Access Management (IAM) poli
cy. It is used to\nspecify access control policies for Cloud Platform resources.
\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of\n
`members` to a `role`, where the members can be user accounts, Google groups,\nG
oogle domains, and service accounts. A `role` is a named list of permissions\nde
fined by IAM.\n\n**Example**\n\n {\n \"bindings\": [\n {\n
\"role\": \"roles/owner\",\n \"members\": [\n \"user:mike
@example.com\",\n \"group:admins@example.com\",\n \"domain
:google.com\",\n \"serviceAccount:my-other-app@appspot.gserviceaccoun
t.com\",\n ]\n },\n {\n \"role\": \"roles/viewer
\",\n \"members\": [\"user:sean@example.com\"]\n }\n ]\n
}\n\nFor a description of IAM and its features, see the\n[IAM developer's guide
](https://cloud.google.com/iam).", |
727 "id": "Policy", | 483 "id": "Policy", |
728 "properties": { | 484 "properties": { |
| 485 "etag": { |
| 486 "description": "`etag` is used for optimistic concurrency co
ntrol as a way to help\nprevent simultaneous updates of a policy from overwritin
g each other.\nIt is strongly suggested that systems make use of the `etag` in t
he\nread-modify-write cycle to perform policy updates in order to avoid race\nco
nditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems
are expected to put that etag in the request to `setIamPolicy` to\nensure that t
heir change will be applied to the same version of the policy.\n\nIf no `etag` i
s provided in the call to `setIamPolicy`, then the existing\npolicy is overwritt
en blindly.", |
| 487 "format": "byte", |
| 488 "type": "string" |
| 489 }, |
729 "iamOwned": { | 490 "iamOwned": { |
730 "type": "boolean" | 491 "type": "boolean" |
731 }, | 492 }, |
732 "rules": { | 493 "rules": { |
733 "description": "If more than one rule is specified, the rule
s are applied in the following\nmanner:\n- All matching LOG rules are always app
lied.\n- If any DENY/DENY_WITH_LOG rule matches, permission is denied.\n Loggin
g will be applied if one or more matching rule requires logging.\n- Otherwise, i
f any ALLOW/ALLOW_WITH_LOG rule matches, permission is\n granted.\n Logging wi
ll be applied if one or more matching rule requires logging.\n- Otherwise, if no
rule applies, permission is denied.", | 494 "description": "If more than one rule is specified, the rule
s are applied in the following\nmanner:\n- All matching LOG rules are always app
lied.\n- If any DENY/DENY_WITH_LOG rule matches, permission is denied.\n Loggin
g will be applied if one or more matching rule requires logging.\n- Otherwise, i
f any ALLOW/ALLOW_WITH_LOG rule matches, permission is\n granted.\n Logging wi
ll be applied if one or more matching rule requires logging.\n- Otherwise, if no
rule applies, permission is denied.", |
734 "items": { | 495 "items": { |
735 "$ref": "Rule" | 496 "$ref": "Rule" |
736 }, | 497 }, |
737 "type": "array" | 498 "type": "array" |
738 }, | 499 }, |
739 "version": { | 500 "version": { |
740 "description": "Version of the `Policy`. The default version
is 0.", | 501 "description": "Version of the `Policy`. The default version
is 0.", |
741 "format": "int32", | 502 "format": "int32", |
742 "type": "integer" | 503 "type": "integer" |
743 }, | 504 }, |
744 "auditConfigs": { | 505 "auditConfigs": { |
745 "description": "Specifies cloud audit logging configuration
for this policy.", | 506 "description": "Specifies cloud audit logging configuration
for this policy.", |
746 "items": { | 507 "items": { |
747 "$ref": "AuditConfig" | 508 "$ref": "AuditConfig" |
748 }, | 509 }, |
749 "type": "array" | 510 "type": "array" |
750 }, | 511 }, |
751 "bindings": { | 512 "bindings": { |
752 "description": "Associates a list of `members` to a `role`.\
nMultiple `bindings` must not be specified for the same `role`.\n`bindings` with
no members will result in an error.", | 513 "description": "Associates a list of `members` to a `role`.\
nMultiple `bindings` must not be specified for the same `role`.\n`bindings` with
no members will result in an error.", |
753 "items": { | 514 "items": { |
754 "$ref": "Binding" | 515 "$ref": "Binding" |
755 }, | 516 }, |
756 "type": "array" | 517 "type": "array" |
757 }, | 518 } |
758 "etag": { | 519 }, |
759 "description": "`etag` is used for optimistic concurrency co
ntrol as a way to help\nprevent simultaneous updates of a policy from overwritin
g each other.\nIt is strongly suggested that systems make use of the `etag` in t
he\nread-modify-write cycle to perform policy updates in order to avoid race\nco
nditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems
are expected to put that etag in the request to `setIamPolicy` to\nensure that t
heir change will be applied to the same version of the policy.\n\nIf no `etag` i
s provided in the call to `setIamPolicy`, then the existing\npolicy is overwritt
en blindly.", | 520 "type": "object" |
760 "format": "byte", | 521 }, |
761 "type": "string" | 522 "DataAccessOptions": { |
762 } | 523 "description": "Write a Data Access (Gin) log", |
763 }, | 524 "id": "DataAccessOptions", |
764 "type": "object" | 525 "properties": {}, |
| 526 "type": "object" |
| 527 }, |
| 528 "AuditConfig": { |
| 529 "description": "Specifies the audit configuration for a service.\nTh
e configuration determines which permission types are logged, and what\nidentiti
es, if any, are exempted from logging.\nAn AuditConfig must have one or more Aud
itLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific
service,\nthe union of the two AuditConfigs is used for that service: the log_t
ypes\nspecified in each AuditConfig are enabled, and the exempted_members in eac
h\nAuditConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n
{\n \"audit_configs\": [\n {\n \"service\": \"allServices
\"\n \"audit_log_configs\": [\n {\n \"log_type\
": \"DATA_READ\",\n \"exempted_members\": [\n \"user
:foo@gmail.com\"\n ]\n },\n {\n
\"log_type\": \"DATA_WRITE\",\n },\n {\n \"lo
g_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n
\"service\": \"fooservice.googleapis.com\"\n \"audit_log_config
s\": [\n {\n \"log_type\": \"DATA_READ\",\n }
,\n {\n \"log_type\": \"DATA_WRITE\",\n \"e
xempted_members\": [\n \"user:bar@gmail.com\"\n ]\n
}\n ]\n }\n ]\n }\n\nFor fooservice, this pol
icy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts foo@g
mail.com from DATA_READ logging, and\nbar@gmail.com from DATA_WRITE logging.", |
| 530 "id": "AuditConfig", |
| 531 "properties": { |
| 532 "exemptedMembers": { |
| 533 "items": { |
| 534 "type": "string" |
| 535 }, |
| 536 "type": "array" |
| 537 }, |
| 538 "service": { |
| 539 "description": "Specifies a service that will be enabled for
audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com
`.\n`allServices` is a special value that covers all services.", |
| 540 "type": "string" |
| 541 }, |
| 542 "auditLogConfigs": { |
| 543 "description": "The configuration for logging of each type o
f permission.\nNext ID: 4", |
| 544 "items": { |
| 545 "$ref": "AuditLogConfig" |
| 546 }, |
| 547 "type": "array" |
| 548 } |
| 549 }, |
| 550 "type": "object" |
| 551 }, |
| 552 "SetIamPolicyRequest": { |
| 553 "description": "Request message for `SetIamPolicy` method.", |
| 554 "id": "SetIamPolicyRequest", |
| 555 "properties": { |
| 556 "policy": { |
| 557 "$ref": "Policy", |
| 558 "description": "REQUIRED: The complete policy to be applied
to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An emp
ty policy is a\nvalid policy but certain Cloud Platform services (such as Projec
ts)\nmight reject them." |
| 559 }, |
| 560 "updateMask": { |
| 561 "description": "OPTIONAL: A FieldMask specifying which field
s of the policy to modify. Only\nthe fields in the mask will be modified. If no
mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\
"\nThis field is only used by Cloud IAM.", |
| 562 "format": "google-fieldmask", |
| 563 "type": "string" |
| 564 } |
| 565 }, |
| 566 "type": "object" |
| 567 }, |
| 568 "CloudAuditOptions": { |
| 569 "description": "Write a Cloud Audit log", |
| 570 "id": "CloudAuditOptions", |
| 571 "properties": { |
| 572 "logName": { |
| 573 "description": "The log_name to populate in the Cloud Audit
Record.", |
| 574 "enum": [ |
| 575 "UNSPECIFIED_LOG_NAME", |
| 576 "ADMIN_ACTIVITY", |
| 577 "DATA_ACCESS" |
| 578 ], |
| 579 "enumDescriptions": [ |
| 580 "Default. Should not be used.", |
| 581 "Corresponds to \"cloudaudit.googleapis.com/activity\"", |
| 582 "Corresponds to \"cloudaudit.googleapis.com/data_access\
"" |
| 583 ], |
| 584 "type": "string" |
| 585 } |
| 586 }, |
| 587 "type": "object" |
| 588 }, |
| 589 "Binding": { |
| 590 "description": "Associates `members` with a `role`.", |
| 591 "id": "Binding", |
| 592 "properties": { |
| 593 "role": { |
| 594 "description": "Role that is assigned to `members`.\nFor exa
mple, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired", |
| 595 "type": "string" |
| 596 }, |
| 597 "members": { |
| 598 "description": "Specifies the identities requesting access f
or a Cloud Platform resource.\n`members` can have the following values:\n\n* `al
lUsers`: A special identifier that represents anyone who is\n on the internet;
with or without a Google account.\n\n* `allAuthenticatedUsers`: A special ident
ifier that represents anyone\n who is authenticated with a Google account or a
service account.\n\n* `user:{emailid}`: An email address that represents a spec
ific Google\n account. For example, `alice@gmail.com` or `joe@example.com`.\n\
n\n* `serviceAccount:{emailid}`: An email address that represents a service\n
account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{e
mailid}`: An email address that represents a Google group.\n For example, `adm
ins@example.com`.\n\n\n* `domain:{domain}`: A Google Apps domain name that repre
sents all the\n users of that domain. For example, `google.com` or `example.co
m`.\n\n", |
| 599 "items": { |
| 600 "type": "string" |
| 601 }, |
| 602 "type": "array" |
| 603 } |
| 604 }, |
| 605 "type": "object" |
| 606 }, |
| 607 "Empty": { |
| 608 "description": "A generic empty message that you can re-use to avoid
defining duplicated\nempty messages in your APIs. A typical example is to use i
t as the request\nor the response type of an API method. For instance:\n\n se
rvice Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty
);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", |
| 609 "id": "Empty", |
| 610 "properties": {}, |
| 611 "type": "object" |
| 612 }, |
| 613 "MirrorConfig": { |
| 614 "description": "Configuration to automatically mirror a repository f
rom another\nhosting service, for example GitHub or BitBucket.", |
| 615 "id": "MirrorConfig", |
| 616 "properties": { |
| 617 "url": { |
| 618 "description": "URL of the main repository at the other host
ing service.", |
| 619 "type": "string" |
| 620 }, |
| 621 "webhookId": { |
| 622 "description": "ID of the webhook listening to updates to tr
igger mirroring.\nRemoving this webook from the other hosting service will stop\
nGoogle Cloud Source Repositories from receiving notifications,\nand thereby dis
abling mirroring.", |
| 623 "type": "string" |
| 624 }, |
| 625 "deployKeyId": { |
| 626 "description": "ID of the SSH deploy key at the other hostin
g service.\nRemoving this key from the other service would deauthorize\nGoogle C
loud Source Repositories from mirroring.", |
| 627 "type": "string" |
| 628 } |
| 629 }, |
| 630 "type": "object" |
| 631 }, |
| 632 "Repo": { |
| 633 "description": "A repository (or repo) is a Git repository storing v
ersioned source content.", |
| 634 "id": "Repo", |
| 635 "properties": { |
| 636 "name": { |
| 637 "description": "Resource name of the repository, of the form
\n`projects/<project>/repos/<repo>`. The repo name may contain slashes.\neg, `p
rojects/myproject/repos/name/with/slash`", |
| 638 "type": "string" |
| 639 }, |
| 640 "mirrorConfig": { |
| 641 "$ref": "MirrorConfig", |
| 642 "description": "How this repository mirrors a repository man
aged by another service." |
| 643 }, |
| 644 "url": { |
| 645 "description": "URL to clone the repository from Google Clou
d Source Repositories.", |
| 646 "type": "string" |
| 647 }, |
| 648 "size": { |
| 649 "description": "The disk usage of the repo, in bytes.\nOnly
returned by GetRepo.", |
| 650 "format": "int64", |
| 651 "type": "string" |
| 652 } |
| 653 }, |
| 654 "type": "object" |
| 655 }, |
| 656 "TestIamPermissionsResponse": { |
| 657 "description": "Response message for `TestIamPermissions` method.", |
| 658 "id": "TestIamPermissionsResponse", |
| 659 "properties": { |
| 660 "permissions": { |
| 661 "description": "A subset of `TestPermissionsRequest.permissi
ons` that the caller is\nallowed.", |
| 662 "items": { |
| 663 "type": "string" |
| 664 }, |
| 665 "type": "array" |
| 666 } |
| 667 }, |
| 668 "type": "object" |
| 669 }, |
| 670 "ListReposResponse": { |
| 671 "description": "Response for ListRepos. The size is not set in the
returned repositories.", |
| 672 "id": "ListReposResponse", |
| 673 "properties": { |
| 674 "repos": { |
| 675 "description": "The listed repos.", |
| 676 "items": { |
| 677 "$ref": "Repo" |
| 678 }, |
| 679 "type": "array" |
| 680 }, |
| 681 "nextPageToken": { |
| 682 "description": "If non-empty, additional repositories exist
within the project. These\ncan be retrieved by including this value in the next
ListReposRequest's\npage_token field.", |
| 683 "type": "string" |
| 684 } |
| 685 }, |
| 686 "type": "object" |
| 687 }, |
| 688 "Condition": { |
| 689 "description": "A condition to be met.", |
| 690 "id": "Condition", |
| 691 "properties": { |
| 692 "op": { |
| 693 "description": "An operator to apply the subject with.", |
| 694 "enum": [ |
| 695 "NO_OP", |
| 696 "EQUALS", |
| 697 "NOT_EQUALS", |
| 698 "IN", |
| 699 "NOT_IN", |
| 700 "DISCHARGED" |
| 701 ], |
| 702 "enumDescriptions": [ |
| 703 "Default no-op.", |
| 704 "DEPRECATED. Use IN instead.", |
| 705 "DEPRECATED. Use NOT_IN instead.", |
| 706 "The condition is true if the subject (or any element of
it if it is\na set) matches any of the supplied values.", |
| 707 "The condition is true if the subject (or every element
of it if it is\na set) matches none of the supplied values.", |
| 708 "Subject is discharged" |
| 709 ], |
| 710 "type": "string" |
| 711 }, |
| 712 "svc": { |
| 713 "description": "Trusted attributes discharged by the service
.", |
| 714 "type": "string" |
| 715 }, |
| 716 "value": { |
| 717 "description": "DEPRECATED. Use 'values' instead.", |
| 718 "type": "string" |
| 719 }, |
| 720 "sys": { |
| 721 "description": "Trusted attributes supplied by any service t
hat owns resources and uses\nthe IAM system for access control.", |
| 722 "enum": [ |
| 723 "NO_ATTR", |
| 724 "REGION", |
| 725 "SERVICE", |
| 726 "NAME", |
| 727 "IP" |
| 728 ], |
| 729 "enumDescriptions": [ |
| 730 "Default non-attribute type", |
| 731 "Region of the resource", |
| 732 "Service name", |
| 733 "Resource name", |
| 734 "IP address of the caller" |
| 735 ], |
| 736 "type": "string" |
| 737 }, |
| 738 "iam": { |
| 739 "description": "Trusted attributes supplied by the IAM syste
m.", |
| 740 "enum": [ |
| 741 "NO_ATTR", |
| 742 "AUTHORITY", |
| 743 "ATTRIBUTION", |
| 744 "APPROVER", |
| 745 "JUSTIFICATION_TYPE" |
| 746 ], |
| 747 "enumDescriptions": [ |
| 748 "Default non-attribute.", |
| 749 "Either principal or (if present) authority selector.", |
| 750 "The principal (even if an authority selector is present
), which\nmust only be used for attribution, not authorization.", |
| 751 "An approver (distinct from the requester) that has auth
orized this\nrequest.\nWhen used with IN, the condition indicates that one of th
e approvers\nassociated with the request matches the specified principal, or is
a\nmember of the specified group. Approvers can only grant additional\naccess, a
nd are thus only used in a strictly positive context\n(e.g. ALLOW/IN or DENY/NOT
_IN).\nSee: go/rpc-security-policy-dynamicauth.", |
| 752 "What types of justifications have been supplied with th
is request.\nString values should match enum names from tech.iam.JustificationTy
pe,\ne.g. \"MANUAL_STRING\". It is not permitted to grant access based on\nthe *
absence* of a justification, so justification conditions can only\nbe used in a
\"positive\" context (e.g., ALLOW/IN or DENY/NOT_IN).\n\nMultiple justifications
, e.g., a Buganizer ID and a manually-entered\nreason, are normal and supported.
" |
| 753 ], |
| 754 "type": "string" |
| 755 }, |
| 756 "values": { |
| 757 "description": "The objects of the condition. This is mutual
ly exclusive with 'value'.", |
| 758 "items": { |
| 759 "type": "string" |
| 760 }, |
| 761 "type": "array" |
| 762 } |
| 763 }, |
| 764 "type": "object" |
765 } | 765 } |
766 }, | 766 }, |
767 "servicePath": "", | 767 "servicePath": "", |
768 "title": "Cloud Source Repositories API", | 768 "title": "Cloud Source Repositories API", |
769 "version": "v1" | 769 "version": "v1" |
770 } | 770 } |
OLD | NEW |