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/firebase.readonly": { | 8 "https://www.googleapis.com/auth/firebase.readonly": { |
9 "description": "View all your Firebase data and settings" | 9 "description": "View all your Firebase data and settings" |
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": "firebaserules:v1", | 28 "id": "firebaserules:v1", |
29 "kind": "discovery#restDescription", | 29 "kind": "discovery#restDescription", |
30 "name": "firebaserules", | 30 "name": "firebaserules", |
31 "ownerDomain": "google.com", | 31 "ownerDomain": "google.com", |
32 "ownerName": "Google", | 32 "ownerName": "Google", |
33 "parameters": { | 33 "parameters": { |
| 34 "quotaUser": { |
| 35 "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.", |
| 36 "location": "query", |
| 37 "type": "string" |
| 38 }, |
| 39 "pp": { |
| 40 "default": "true", |
| 41 "description": "Pretty-print response.", |
| 42 "location": "query", |
| 43 "type": "boolean" |
| 44 }, |
| 45 "bearer_token": { |
| 46 "description": "OAuth bearer token.", |
| 47 "location": "query", |
| 48 "type": "string" |
| 49 }, |
| 50 "oauth_token": { |
| 51 "description": "OAuth 2.0 token for the current user.", |
| 52 "location": "query", |
| 53 "type": "string" |
| 54 }, |
34 "upload_protocol": { | 55 "upload_protocol": { |
35 "description": "Upload protocol for media (e.g. \"raw\", \"multipart
\").", | 56 "description": "Upload protocol for media (e.g. \"raw\", \"multipart
\").", |
36 "location": "query", | 57 "location": "query", |
37 "type": "string" | 58 "type": "string" |
38 }, | 59 }, |
39 "prettyPrint": { | 60 "prettyPrint": { |
40 "default": "true", | 61 "default": "true", |
41 "description": "Returns response with indentations and line breaks."
, | 62 "description": "Returns response with indentations and line breaks."
, |
42 "location": "query", | 63 "location": "query", |
43 "type": "boolean" | 64 "type": "boolean" |
44 }, | 65 }, |
45 "uploadType": { | 66 "uploadType": { |
46 "description": "Legacy upload protocol for media (e.g. \"media\", \"
multipart\").", | 67 "description": "Legacy upload protocol for media (e.g. \"media\", \"
multipart\").", |
47 "location": "query", | 68 "location": "query", |
48 "type": "string" | 69 "type": "string" |
49 }, | 70 }, |
50 "fields": { | 71 "fields": { |
51 "description": "Selector specifying which fields to include in a par
tial response.", | 72 "description": "Selector specifying which fields to include in a par
tial response.", |
52 "location": "query", | 73 "location": "query", |
53 "type": "string" | 74 "type": "string" |
54 }, | 75 }, |
55 "callback": { | |
56 "description": "JSONP", | |
57 "location": "query", | |
58 "type": "string" | |
59 }, | |
60 "$.xgafv": { | 76 "$.xgafv": { |
61 "description": "V1 error format.", | 77 "description": "V1 error format.", |
62 "enum": [ | 78 "enum": [ |
63 "1", | 79 "1", |
64 "2" | 80 "2" |
65 ], | 81 ], |
66 "enumDescriptions": [ | 82 "enumDescriptions": [ |
67 "v1 error format", | 83 "v1 error format", |
68 "v2 error format" | 84 "v2 error format" |
69 ], | 85 ], |
70 "location": "query", | 86 "location": "query", |
71 "type": "string" | 87 "type": "string" |
72 }, | 88 }, |
| 89 "callback": { |
| 90 "description": "JSONP", |
| 91 "location": "query", |
| 92 "type": "string" |
| 93 }, |
73 "alt": { | 94 "alt": { |
74 "default": "json", | 95 "default": "json", |
75 "description": "Data format for response.", | 96 "description": "Data format for response.", |
76 "enum": [ | 97 "enum": [ |
77 "json", | 98 "json", |
78 "media", | 99 "media", |
79 "proto" | 100 "proto" |
80 ], | 101 ], |
81 "enumDescriptions": [ | 102 "enumDescriptions": [ |
82 "Responses with Content-Type of application/json", | 103 "Responses with Content-Type of application/json", |
83 "Media download with context-dependent Content-Type", | 104 "Media download with context-dependent Content-Type", |
84 "Responses with Content-Type of application/x-protobuf" | 105 "Responses with Content-Type of application/x-protobuf" |
85 ], | 106 ], |
86 "location": "query", | 107 "location": "query", |
87 "type": "string" | 108 "type": "string" |
88 }, | 109 }, |
89 "access_token": { | 110 "access_token": { |
90 "description": "OAuth access token.", | 111 "description": "OAuth access token.", |
91 "location": "query", | 112 "location": "query", |
92 "type": "string" | 113 "type": "string" |
93 }, | 114 }, |
94 "key": { | 115 "key": { |
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.", | 116 "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.", |
96 "location": "query", | 117 "location": "query", |
97 "type": "string" | 118 "type": "string" |
98 }, | |
99 "quotaUser": { | |
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.", | |
101 "location": "query", | |
102 "type": "string" | |
103 }, | |
104 "pp": { | |
105 "default": "true", | |
106 "description": "Pretty-print response.", | |
107 "location": "query", | |
108 "type": "boolean" | |
109 }, | |
110 "oauth_token": { | |
111 "description": "OAuth 2.0 token for the current user.", | |
112 "location": "query", | |
113 "type": "string" | |
114 }, | |
115 "bearer_token": { | |
116 "description": "OAuth bearer token.", | |
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 "methods": { | 124 "methods": { |
125 "test": { | 125 "test": { |
126 "description": "Test `Source` for syntactic and semantic cor
rectness. Issues present, if\nany, will be returned to the caller with a descrip
tion, severity, and\nsource location.\n\nThe test method may be executed with `S
ource` or a `Ruleset` name.\nPassing `Source` is useful for unit testing new rul
es. Passing a `Ruleset`\nname is useful for regression testing an existing rule.
\n\nThe following is an example of `Source` that permits users to upload images\
nto a bucket bearing their user id and matching the correct metadata:\n\n_*Examp
le*_\n\n // Users are allowed to subscribe and unsubscribe to the blog.\n
service firebase.storage {\n match /users/{userId}/images/{imageName} {\n
allow write: if userId == request.auth.uid\n && (imageName.
matches('*.png$')\n || imageName.matches('*.jpg$'))\n
&& resource.mimeType.matches('^image/')\n }\n }", | 126 "description": "Test `Source` for syntactic and semantic cor
rectness. Issues present, if\nany, will be returned to the caller with a descrip
tion, severity, and\nsource location.\n\nThe test method may be executed with `S
ource` or a `Ruleset` name.\nPassing `Source` is useful for unit testing new rul
es. Passing a `Ruleset`\nname is useful for regression testing an existing rule.
\n\nThe following is an example of `Source` that permits users to upload images\
nto a bucket bearing their user id and matching the correct metadata:\n\n_*Examp
le*_\n\n // Users are allowed to subscribe and unsubscribe to the blog.\n
service firebase.storage {\n match /users/{userId}/images/{imageName} {\n
allow write: if userId == request.auth.uid\n && (imageName.
matches('*.png$')\n || imageName.matches('*.jpg$'))\n
&& resource.mimeType.matches('^image/')\n }\n }", |
127 "httpMethod": "POST", | 127 "httpMethod": "POST", |
128 "id": "firebaserules.projects.test", | 128 "id": "firebaserules.projects.test", |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
273 }, | 273 }, |
274 "scopes": [ | 274 "scopes": [ |
275 "https://www.googleapis.com/auth/cloud-platform"
, | 275 "https://www.googleapis.com/auth/cloud-platform"
, |
276 "https://www.googleapis.com/auth/firebase" | 276 "https://www.googleapis.com/auth/firebase" |
277 ] | 277 ] |
278 } | 278 } |
279 } | 279 } |
280 }, | 280 }, |
281 "releases": { | 281 "releases": { |
282 "methods": { | 282 "methods": { |
| 283 "delete": { |
| 284 "description": "Delete a `Release` by resource name.
", |
| 285 "httpMethod": "DELETE", |
| 286 "id": "firebaserules.projects.releases.delete", |
| 287 "parameterOrder": [ |
| 288 "name" |
| 289 ], |
| 290 "parameters": { |
| 291 "name": { |
| 292 "description": "Resource name for the `Relea
se` to delete.\n\nFormat: `projects/{project_id}/releases/{release_id}`", |
| 293 "location": "path", |
| 294 "pattern": "^projects/[^/]+/releases/.+$", |
| 295 "required": true, |
| 296 "type": "string" |
| 297 } |
| 298 }, |
| 299 "path": "v1/{+name}", |
| 300 "response": { |
| 301 "$ref": "Empty" |
| 302 }, |
| 303 "scopes": [ |
| 304 "https://www.googleapis.com/auth/cloud-platform"
, |
| 305 "https://www.googleapis.com/auth/firebase" |
| 306 ] |
| 307 }, |
283 "list": { | 308 "list": { |
284 "description": "List the `Release` values for a proj
ect. This list may optionally be\nfiltered by `Release` name, `Ruleset` name, `T
estSuite` name, or any\ncombination thereof.", | 309 "description": "List the `Release` values for a proj
ect. This list may optionally be\nfiltered by `Release` name, `Ruleset` name, `T
estSuite` name, or any\ncombination thereof.", |
285 "httpMethod": "GET", | 310 "httpMethod": "GET", |
286 "id": "firebaserules.projects.releases.list", | 311 "id": "firebaserules.projects.releases.list", |
287 "parameterOrder": [ | 312 "parameterOrder": [ |
288 "name" | 313 "name" |
289 ], | 314 ], |
290 "parameters": { | 315 "parameters": { |
291 "filter": { | |
292 "description": "`Release` filter. The list m
ethod supports filters with restrictions on the\n`Release.name`, `Release.rulese
t_name`, and `Release.test_suite_name`.\n\nExample 1: A filter of 'name=prod*' m
ight return `Release`s with names\nwithin 'projects/foo' prefixed with 'prod':\n
\nName | Ruleset Name\n------------------------------|-
------------\nprojects/foo/releases/prod | projects/foo/rulesets/uuid1234\npr
ojects/foo/releases/prod/v1 | projects/foo/rulesets/uuid1234\nprojects/foo/relea
ses/prod/v2 | projects/foo/rulesets/uuid8888\n\nExample 2: A filter of `name=pro
d* ruleset_name=uuid1234` would return only\n`Release` instances for 'projects/f
oo' with names prefixed with 'prod'\nreferring to the same `Ruleset` name of 'uu
id1234':\n\nName | Ruleset Name\n----------------------
--------|-------------\nprojects/foo/releases/prod | projects/foo/rulesets/12
34\nprojects/foo/releases/prod/v1 | projects/foo/rulesets/1234\n\nIn the example
s, the filter parameters refer to the search filters are\nrelative to the projec
t. Fully qualified prefixed may also be used. e.g.\n`test_suite_name=projects/fo
o/testsuites/uuid1`", | |
293 "location": "query", | |
294 "type": "string" | |
295 }, | |
296 "pageToken": { | 316 "pageToken": { |
297 "description": "Next page token for the next
batch of `Release` instances.", | 317 "description": "Next page token for the next
batch of `Release` instances.", |
298 "location": "query", | 318 "location": "query", |
299 "type": "string" | 319 "type": "string" |
300 }, | 320 }, |
301 "name": { | 321 "name": { |
302 "description": "Resource name for the projec
t.\n\nFormat: `projects/{project_id}`", | 322 "description": "Resource name for the projec
t.\n\nFormat: `projects/{project_id}`", |
303 "location": "path", | 323 "location": "path", |
304 "pattern": "^projects/[^/]+$", | 324 "pattern": "^projects/[^/]+$", |
305 "required": true, | 325 "required": true, |
306 "type": "string" | 326 "type": "string" |
307 }, | 327 }, |
308 "pageSize": { | 328 "pageSize": { |
309 "description": "Page size to load. Maximum o
f 100. Defaults to 10.\nNote: `page_size` is just a hint and the service may cho
ose to load fewer\nthan `page_size` results due to the size of the output. To tr
averse all of\nthe releases, the caller should iterate until the `page_token` on
the\nresponse is empty.", | 329 "description": "Page size to load. Maximum o
f 100. Defaults to 10.\nNote: `page_size` is just a hint and the service may cho
ose to load fewer\nthan `page_size` results due to the size of the output. To tr
averse all of\nthe releases, the caller should iterate until the `page_token` on
the\nresponse is empty.", |
310 "format": "int32", | 330 "format": "int32", |
311 "location": "query", | 331 "location": "query", |
312 "type": "integer" | 332 "type": "integer" |
| 333 }, |
| 334 "filter": { |
| 335 "description": "`Release` filter. The list m
ethod supports filters with restrictions on the\n`Release.name`, `Release.rulese
t_name`, and `Release.test_suite_name`.\n\nExample 1: A filter of 'name=prod*' m
ight return `Release`s with names\nwithin 'projects/foo' prefixed with 'prod':\n
\nName | Ruleset Name\n------------------------------|-
------------\nprojects/foo/releases/prod | projects/foo/rulesets/uuid1234\npr
ojects/foo/releases/prod/v1 | projects/foo/rulesets/uuid1234\nprojects/foo/relea
ses/prod/v2 | projects/foo/rulesets/uuid8888\n\nExample 2: A filter of `name=pro
d* ruleset_name=uuid1234` would return only\n`Release` instances for 'projects/f
oo' with names prefixed with 'prod'\nreferring to the same `Ruleset` name of 'uu
id1234':\n\nName | Ruleset Name\n----------------------
--------|-------------\nprojects/foo/releases/prod | projects/foo/rulesets/12
34\nprojects/foo/releases/prod/v1 | projects/foo/rulesets/1234\n\nIn the example
s, the filter parameters refer to the search filters are\nrelative to the projec
t. Fully qualified prefixed may also be used. e.g.\n`test_suite_name=projects/fo
o/testsuites/uuid1`", |
| 336 "location": "query", |
| 337 "type": "string" |
313 } | 338 } |
314 }, | 339 }, |
315 "path": "v1/{+name}/releases", | 340 "path": "v1/{+name}/releases", |
316 "response": { | 341 "response": { |
317 "$ref": "ListReleasesResponse" | 342 "$ref": "ListReleasesResponse" |
318 }, | 343 }, |
319 "scopes": [ | 344 "scopes": [ |
320 "https://www.googleapis.com/auth/cloud-platform"
, | 345 "https://www.googleapis.com/auth/cloud-platform"
, |
321 "https://www.googleapis.com/auth/firebase", | 346 "https://www.googleapis.com/auth/firebase", |
322 "https://www.googleapis.com/auth/firebase.readon
ly" | 347 "https://www.googleapis.com/auth/firebase.readon
ly" |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
396 "request": { | 421 "request": { |
397 "$ref": "Release" | 422 "$ref": "Release" |
398 }, | 423 }, |
399 "response": { | 424 "response": { |
400 "$ref": "Release" | 425 "$ref": "Release" |
401 }, | 426 }, |
402 "scopes": [ | 427 "scopes": [ |
403 "https://www.googleapis.com/auth/cloud-platform"
, | 428 "https://www.googleapis.com/auth/cloud-platform"
, |
404 "https://www.googleapis.com/auth/firebase" | 429 "https://www.googleapis.com/auth/firebase" |
405 ] | 430 ] |
406 }, | |
407 "delete": { | |
408 "description": "Delete a `Release` by resource name.
", | |
409 "httpMethod": "DELETE", | |
410 "id": "firebaserules.projects.releases.delete", | |
411 "parameterOrder": [ | |
412 "name" | |
413 ], | |
414 "parameters": { | |
415 "name": { | |
416 "description": "Resource name for the `Relea
se` to delete.\n\nFormat: `projects/{project_id}/releases/{release_id}`", | |
417 "location": "path", | |
418 "pattern": "^projects/[^/]+/releases/.+$", | |
419 "required": true, | |
420 "type": "string" | |
421 } | |
422 }, | |
423 "path": "v1/{+name}", | |
424 "response": { | |
425 "$ref": "Empty" | |
426 }, | |
427 "scopes": [ | |
428 "https://www.googleapis.com/auth/cloud-platform"
, | |
429 "https://www.googleapis.com/auth/firebase" | |
430 ] | |
431 } | 431 } |
432 } | 432 } |
433 } | 433 } |
434 } | 434 } |
435 } | 435 } |
436 }, | 436 }, |
437 "revision": "20170523", | 437 "revision": "20170523", |
438 "rootUrl": "https://firebaserules.googleapis.com/", | 438 "rootUrl": "https://firebaserules.googleapis.com/", |
439 "schemas": { | 439 "schemas": { |
440 "SourcePosition": { | |
441 "description": "Position in the `Source` content including its line,
column number, and an\nindex of the `File` in the `Source` message. Used for de
bug purposes.", | |
442 "id": "SourcePosition", | |
443 "properties": { | |
444 "column": { | |
445 "description": "First column on the source line associated w
ith the source fragment.", | |
446 "format": "int32", | |
447 "type": "integer" | |
448 }, | |
449 "fileName": { | |
450 "description": "Name of the `File`.", | |
451 "type": "string" | |
452 }, | |
453 "line": { | |
454 "description": "Line number of the source fragment. 1-based.
", | |
455 "format": "int32", | |
456 "type": "integer" | |
457 } | |
458 }, | |
459 "type": "object" | |
460 }, | |
461 "TestCase": { | |
462 "description": "`TestCase` messages provide the request context and
an expectation as to\nwhether the given context will be allowed or denied. Test
cases may specify\nthe `request`, `resource`, and `function_mocks` to mock a fun
ction call to\na service-provided function.\n\nThe `request` object represents c
ontext present at request-time.\n\nThe `resource` is the value of the target res
ource as it appears in\npersistent storage before the request is executed.", | |
463 "id": "TestCase", | |
464 "properties": { | |
465 "functionMocks": { | |
466 "description": "Optional function mocks for service-defined
functions. If not set, any\nservice defined function is expected to return an er
ror, which may or may\nnot influence the test outcome.", | |
467 "items": { | |
468 "$ref": "FunctionMock" | |
469 }, | |
470 "type": "array" | |
471 }, | |
472 "resource": { | |
473 "description": "Optional resource value as it appears in per
sistent storage before the\nrequest is fulfilled.\n\nThe resource type depends o
n the `request.path` value.", | |
474 "type": "any" | |
475 }, | |
476 "expectation": { | |
477 "description": "Test expectation.", | |
478 "enum": [ | |
479 "EXPECTATION_UNSPECIFIED", | |
480 "ALLOW", | |
481 "DENY" | |
482 ], | |
483 "enumDescriptions": [ | |
484 "Unspecified expectation.", | |
485 "Expect an allowed result.", | |
486 "Expect a denied result." | |
487 ], | |
488 "type": "string" | |
489 }, | |
490 "request": { | |
491 "description": "Request context.\n\nThe exact format of the
request context is service-dependent. See the\nappropriate service documentation
for information about the supported\nfields and types on the request. Minimally
, all services support the\nfollowing fields and types:\n\nRequest field | Type
\n---------------|-----------------\nauth.uid | `string`\nauth.token |
`map<string, string>`\nheaders | `map<string, string>`\nmethod |
`string`\nparams | `map<string, string>`\npath | `string`\nti
me | `google.protobuf.Timestamp`\n\nIf the request value is not well-f
ormed for the service, the request will\nbe rejected as an invalid argument.", | |
492 "type": "any" | |
493 } | |
494 }, | |
495 "type": "object" | |
496 }, | |
497 "Ruleset": { | |
498 "description": "`Ruleset` is an immutable copy of `Source` with a gl
obally unique identifier\nand a creation time.", | |
499 "id": "Ruleset", | |
500 "properties": { | |
501 "source": { | |
502 "$ref": "Source", | |
503 "description": "`Source` for the `Ruleset`." | |
504 }, | |
505 "createTime": { | |
506 "description": "Time the `Ruleset` was created.\nOutput only
.", | |
507 "format": "google-datetime", | |
508 "type": "string" | |
509 }, | |
510 "name": { | |
511 "description": "Name of the `Ruleset`. The ruleset_id is aut
o generated by the service.\nFormat: `projects/{project_id}/rulesets/{ruleset_id
}`\nOutput only.", | |
512 "type": "string" | |
513 } | |
514 }, | |
515 "type": "object" | |
516 }, | |
517 "TestRulesetRequest": { | |
518 "description": "The request for FirebaseRulesService.TestRuleset.", | |
519 "id": "TestRulesetRequest", | |
520 "properties": { | |
521 "testSuite": { | |
522 "$ref": "TestSuite", | |
523 "description": "Inline `TestSuite` to run." | |
524 }, | |
525 "source": { | |
526 "$ref": "Source", | |
527 "description": "Optional `Source` to be checked for correctn
ess.\n\nThis field must not be set when the resource name refers to a `Ruleset`.
" | |
528 } | |
529 }, | |
530 "type": "object" | |
531 }, | |
532 "Issue": { | |
533 "description": "Issues include warnings, errors, and deprecation not
ices.", | |
534 "id": "Issue", | |
535 "properties": { | |
536 "sourcePosition": { | |
537 "$ref": "SourcePosition", | |
538 "description": "Position of the issue in the `Source`." | |
539 }, | |
540 "severity": { | |
541 "description": "The severity of the issue.", | |
542 "enum": [ | |
543 "SEVERITY_UNSPECIFIED", | |
544 "DEPRECATION", | |
545 "WARNING", | |
546 "ERROR" | |
547 ], | |
548 "enumDescriptions": [ | |
549 "An unspecified severity.", | |
550 "Deprecation issue for statements and method that may no
longer be\nsupported or maintained.", | |
551 "Warnings such as: unused variables.", | |
552 "Errors such as: unmatched curly braces or variable rede
finition." | |
553 ], | |
554 "type": "string" | |
555 }, | |
556 "description": { | |
557 "description": "Short error description.", | |
558 "type": "string" | |
559 } | |
560 }, | |
561 "type": "object" | |
562 }, | |
563 "ListReleasesResponse": { | |
564 "description": "The response for FirebaseRulesService.ListReleases."
, | |
565 "id": "ListReleasesResponse", | |
566 "properties": { | |
567 "nextPageToken": { | |
568 "description": "The pagination token to retrieve the next pa
ge of results. If the value is\nempty, no further results remain.", | |
569 "type": "string" | |
570 }, | |
571 "releases": { | |
572 "description": "List of `Release` instances.", | |
573 "items": { | |
574 "$ref": "Release" | |
575 }, | |
576 "type": "array" | |
577 } | |
578 }, | |
579 "type": "object" | |
580 }, | |
581 "File": { | |
582 "description": "`File` containing source content.", | |
583 "id": "File", | |
584 "properties": { | |
585 "fingerprint": { | |
586 "description": "Fingerprint (e.g. github sha) associated wit
h the `File`.", | |
587 "format": "byte", | |
588 "type": "string" | |
589 }, | |
590 "name": { | |
591 "description": "File name.", | |
592 "type": "string" | |
593 }, | |
594 "content": { | |
595 "description": "Textual Content.", | |
596 "type": "string" | |
597 } | |
598 }, | |
599 "type": "object" | |
600 }, | |
601 "FunctionCall": { | |
602 "description": "Represents a service-defined function call that was
invoked during test\nexecution.", | |
603 "id": "FunctionCall", | |
604 "properties": { | |
605 "args": { | |
606 "description": "The arguments that were provided to the func
tion.", | |
607 "items": { | |
608 "type": "any" | |
609 }, | |
610 "type": "array" | |
611 }, | |
612 "function": { | |
613 "description": "Name of the function invoked.", | |
614 "type": "string" | |
615 } | |
616 }, | |
617 "type": "object" | |
618 }, | |
619 "Release": { | 440 "Release": { |
620 "description": "`Release` is a named reference to a `Ruleset`. Once
a `Release` refers to a\n`Ruleset`, rules-enabled services will be able to enfor
ce the `Ruleset`.", | 441 "description": "`Release` is a named reference to a `Ruleset`. Once
a `Release` refers to a\n`Ruleset`, rules-enabled services will be able to enfor
ce the `Ruleset`.", |
621 "id": "Release", | 442 "id": "Release", |
622 "properties": { | 443 "properties": { |
623 "createTime": { | |
624 "description": "Time the release was created.\nOutput only."
, | |
625 "format": "google-datetime", | |
626 "type": "string" | |
627 }, | |
628 "updateTime": { | 444 "updateTime": { |
629 "description": "Time the release was updated.\nOutput only."
, | 445 "description": "Time the release was updated.\nOutput only."
, |
630 "format": "google-datetime", | 446 "format": "google-datetime", |
631 "type": "string" | 447 "type": "string" |
632 }, | 448 }, |
633 "rulesetName": { | 449 "rulesetName": { |
634 "description": "Name of the `Ruleset` referred to by this `R
elease`. The `Ruleset` must\nexist the `Release` to be created.", | 450 "description": "Name of the `Ruleset` referred to by this `R
elease`. The `Ruleset` must\nexist the `Release` to be created.", |
635 "type": "string" | 451 "type": "string" |
636 }, | 452 }, |
637 "name": { | 453 "name": { |
638 "description": "Resource name for the `Release`.\n\n`Release
` names may be structured `app1/prod/v2` or flat `app1_prod_v2`\nwhich affords d
evelopers a great deal of flexibility in mapping the name\nto the style that bes
t fits their existing development practices. For\nexample, a name could refer to
an environment, an app, a version, or some\ncombination of three.\n\nIn the tab
le below, for the project name `projects/foo`, the following\nrelative release p
aths show how flat and structured names might be chosen\nto match a desired deve
lopment / deployment strategy.\n\nUse Case | Flat Name | Structure
d Name\n-------------|---------------------|----------------\nEnvironments | rel
eases/qa | releases/qa\nApps | releases/app1_qa | releases/ap
p1/qa\nVersions | releases/app1_v2_qa | releases/app1/v2/qa\n\nThe delimiter
between the release name path elements can be almost anything\nand it should wo
rk equally well with the release name list filter, but in\nmany ways the structu
red paths provide a clearer picture of the\nrelationship between `Release` insta
nces.\n\nFormat: `projects/{project_id}/releases/{release_id}`", | 454 "description": "Resource name for the `Release`.\n\n`Release
` names may be structured `app1/prod/v2` or flat `app1_prod_v2`\nwhich affords d
evelopers a great deal of flexibility in mapping the name\nto the style that bes
t fits their existing development practices. For\nexample, a name could refer to
an environment, an app, a version, or some\ncombination of three.\n\nIn the tab
le below, for the project name `projects/foo`, the following\nrelative release p
aths show how flat and structured names might be chosen\nto match a desired deve
lopment / deployment strategy.\n\nUse Case | Flat Name | Structure
d Name\n-------------|---------------------|----------------\nEnvironments | rel
eases/qa | releases/qa\nApps | releases/app1_qa | releases/ap
p1/qa\nVersions | releases/app1_v2_qa | releases/app1/v2/qa\n\nThe delimiter
between the release name path elements can be almost anything\nand it should wo
rk equally well with the release name list filter, but in\nmany ways the structu
red paths provide a clearer picture of the\nrelationship between `Release` insta
nces.\n\nFormat: `projects/{project_id}/releases/{release_id}`", |
639 "type": "string" | 455 "type": "string" |
| 456 }, |
| 457 "createTime": { |
| 458 "description": "Time the release was created.\nOutput only."
, |
| 459 "format": "google-datetime", |
| 460 "type": "string" |
640 } | 461 } |
641 }, | 462 }, |
642 "type": "object" | 463 "type": "object" |
643 }, | 464 }, |
644 "TestRulesetResponse": { | 465 "TestRulesetResponse": { |
645 "description": "The response for FirebaseRulesService.TestRuleset.", | 466 "description": "The response for FirebaseRulesService.TestRuleset.", |
646 "id": "TestRulesetResponse", | 467 "id": "TestRulesetResponse", |
647 "properties": { | 468 "properties": { |
648 "testResults": { | 469 "testResults": { |
649 "description": "The set of test results given the test cases
in the `TestSuite`.\nThe results will appear in the same order as the test case
s appear in the\n`TestSuite`.", | 470 "description": "The set of test results given the test cases
in the `TestSuite`.\nThe results will appear in the same order as the test case
s appear in the\n`TestSuite`.", |
650 "items": { | 471 "items": { |
651 "$ref": "TestResult" | 472 "$ref": "TestResult" |
652 }, | 473 }, |
653 "type": "array" | 474 "type": "array" |
654 }, | 475 }, |
655 "issues": { | 476 "issues": { |
656 "description": "Syntactic and semantic `Source` issues of va
rying severity. Issues of\n`ERROR` severity will prevent tests from executing.", | 477 "description": "Syntactic and semantic `Source` issues of va
rying severity. Issues of\n`ERROR` severity will prevent tests from executing.", |
657 "items": { | 478 "items": { |
658 "$ref": "Issue" | 479 "$ref": "Issue" |
659 }, | 480 }, |
660 "type": "array" | 481 "type": "array" |
661 } | 482 } |
662 }, | 483 }, |
663 "type": "object" | 484 "type": "object" |
664 }, | 485 }, |
665 "ListRulesetsResponse": { | 486 "ListRulesetsResponse": { |
666 "description": "The response for FirebaseRulesService.ListRulesets."
, | 487 "description": "The response for FirebaseRulesService.ListRulesets."
, |
667 "id": "ListRulesetsResponse", | 488 "id": "ListRulesetsResponse", |
668 "properties": { | 489 "properties": { |
669 "nextPageToken": { | |
670 "description": "The pagination token to retrieve the next pa
ge of results. If the value is\nempty, no further results remain.", | |
671 "type": "string" | |
672 }, | |
673 "rulesets": { | 490 "rulesets": { |
674 "description": "List of `Ruleset` instances.", | 491 "description": "List of `Ruleset` instances.", |
675 "items": { | 492 "items": { |
676 "$ref": "Ruleset" | 493 "$ref": "Ruleset" |
677 }, | 494 }, |
678 "type": "array" | 495 "type": "array" |
| 496 }, |
| 497 "nextPageToken": { |
| 498 "description": "The pagination token to retrieve the next pa
ge of results. If the value is\nempty, no further results remain.", |
| 499 "type": "string" |
679 } | 500 } |
680 }, | 501 }, |
681 "type": "object" | 502 "type": "object" |
682 }, | 503 }, |
683 "TestResult": { | 504 "TestResult": { |
684 "description": "Test result message containing the state of the test
as well as a\ndescription and source position for test failures.", | 505 "description": "Test result message containing the state of the test
as well as a\ndescription and source position for test failures.", |
685 "id": "TestResult", | 506 "id": "TestResult", |
686 "properties": { | 507 "properties": { |
687 "errorPosition": { | 508 "errorPosition": { |
688 "$ref": "SourcePosition", | 509 "$ref": "SourcePosition", |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
797 "undefined": { | 618 "undefined": { |
798 "$ref": "Empty", | 619 "$ref": "Empty", |
799 "description": "The result is undefined, meaning the result
could not be computed." | 620 "description": "The result is undefined, meaning the result
could not be computed." |
800 }, | 621 }, |
801 "value": { | 622 "value": { |
802 "description": "The result is an actual value. The type of t
he value must match that\nof the type declared by the service.", | 623 "description": "The result is an actual value. The type of t
he value must match that\nof the type declared by the service.", |
803 "type": "any" | 624 "type": "any" |
804 } | 625 } |
805 }, | 626 }, |
806 "type": "object" | 627 "type": "object" |
| 628 }, |
| 629 "SourcePosition": { |
| 630 "description": "Position in the `Source` content including its line,
column number, and an\nindex of the `File` in the `Source` message. Used for de
bug purposes.", |
| 631 "id": "SourcePosition", |
| 632 "properties": { |
| 633 "column": { |
| 634 "description": "First column on the source line associated w
ith the source fragment.", |
| 635 "format": "int32", |
| 636 "type": "integer" |
| 637 }, |
| 638 "fileName": { |
| 639 "description": "Name of the `File`.", |
| 640 "type": "string" |
| 641 }, |
| 642 "line": { |
| 643 "description": "Line number of the source fragment. 1-based.
", |
| 644 "format": "int32", |
| 645 "type": "integer" |
| 646 } |
| 647 }, |
| 648 "type": "object" |
| 649 }, |
| 650 "TestCase": { |
| 651 "description": "`TestCase` messages provide the request context and
an expectation as to\nwhether the given context will be allowed or denied. Test
cases may specify\nthe `request`, `resource`, and `function_mocks` to mock a fun
ction call to\na service-provided function.\n\nThe `request` object represents c
ontext present at request-time.\n\nThe `resource` is the value of the target res
ource as it appears in\npersistent storage before the request is executed.", |
| 652 "id": "TestCase", |
| 653 "properties": { |
| 654 "functionMocks": { |
| 655 "description": "Optional function mocks for service-defined
functions. If not set, any\nservice defined function is expected to return an er
ror, which may or may\nnot influence the test outcome.", |
| 656 "items": { |
| 657 "$ref": "FunctionMock" |
| 658 }, |
| 659 "type": "array" |
| 660 }, |
| 661 "resource": { |
| 662 "description": "Optional resource value as it appears in per
sistent storage before the\nrequest is fulfilled.\n\nThe resource type depends o
n the `request.path` value.", |
| 663 "type": "any" |
| 664 }, |
| 665 "expectation": { |
| 666 "description": "Test expectation.", |
| 667 "enum": [ |
| 668 "EXPECTATION_UNSPECIFIED", |
| 669 "ALLOW", |
| 670 "DENY" |
| 671 ], |
| 672 "enumDescriptions": [ |
| 673 "Unspecified expectation.", |
| 674 "Expect an allowed result.", |
| 675 "Expect a denied result." |
| 676 ], |
| 677 "type": "string" |
| 678 }, |
| 679 "request": { |
| 680 "description": "Request context.\n\nThe exact format of the
request context is service-dependent. See the\nappropriate service documentation
for information about the supported\nfields and types on the request. Minimally
, all services support the\nfollowing fields and types:\n\nRequest field | Type
\n---------------|-----------------\nauth.uid | `string`\nauth.token |
`map<string, string>`\nheaders | `map<string, string>`\nmethod |
`string`\nparams | `map<string, string>`\npath | `string`\nti
me | `google.protobuf.Timestamp`\n\nIf the request value is not well-f
ormed for the service, the request will\nbe rejected as an invalid argument.", |
| 681 "type": "any" |
| 682 } |
| 683 }, |
| 684 "type": "object" |
| 685 }, |
| 686 "Ruleset": { |
| 687 "description": "`Ruleset` is an immutable copy of `Source` with a gl
obally unique identifier\nand a creation time.", |
| 688 "id": "Ruleset", |
| 689 "properties": { |
| 690 "source": { |
| 691 "$ref": "Source", |
| 692 "description": "`Source` for the `Ruleset`." |
| 693 }, |
| 694 "createTime": { |
| 695 "description": "Time the `Ruleset` was created.\nOutput only
.", |
| 696 "format": "google-datetime", |
| 697 "type": "string" |
| 698 }, |
| 699 "name": { |
| 700 "description": "Name of the `Ruleset`. The ruleset_id is aut
o generated by the service.\nFormat: `projects/{project_id}/rulesets/{ruleset_id
}`\nOutput only.", |
| 701 "type": "string" |
| 702 } |
| 703 }, |
| 704 "type": "object" |
| 705 }, |
| 706 "TestRulesetRequest": { |
| 707 "description": "The request for FirebaseRulesService.TestRuleset.", |
| 708 "id": "TestRulesetRequest", |
| 709 "properties": { |
| 710 "testSuite": { |
| 711 "$ref": "TestSuite", |
| 712 "description": "Inline `TestSuite` to run." |
| 713 }, |
| 714 "source": { |
| 715 "$ref": "Source", |
| 716 "description": "Optional `Source` to be checked for correctn
ess.\n\nThis field must not be set when the resource name refers to a `Ruleset`.
" |
| 717 } |
| 718 }, |
| 719 "type": "object" |
| 720 }, |
| 721 "Issue": { |
| 722 "description": "Issues include warnings, errors, and deprecation not
ices.", |
| 723 "id": "Issue", |
| 724 "properties": { |
| 725 "sourcePosition": { |
| 726 "$ref": "SourcePosition", |
| 727 "description": "Position of the issue in the `Source`." |
| 728 }, |
| 729 "severity": { |
| 730 "description": "The severity of the issue.", |
| 731 "enum": [ |
| 732 "SEVERITY_UNSPECIFIED", |
| 733 "DEPRECATION", |
| 734 "WARNING", |
| 735 "ERROR" |
| 736 ], |
| 737 "enumDescriptions": [ |
| 738 "An unspecified severity.", |
| 739 "Deprecation issue for statements and method that may no
longer be\nsupported or maintained.", |
| 740 "Warnings such as: unused variables.", |
| 741 "Errors such as: unmatched curly braces or variable rede
finition." |
| 742 ], |
| 743 "type": "string" |
| 744 }, |
| 745 "description": { |
| 746 "description": "Short error description.", |
| 747 "type": "string" |
| 748 } |
| 749 }, |
| 750 "type": "object" |
| 751 }, |
| 752 "ListReleasesResponse": { |
| 753 "description": "The response for FirebaseRulesService.ListReleases."
, |
| 754 "id": "ListReleasesResponse", |
| 755 "properties": { |
| 756 "releases": { |
| 757 "description": "List of `Release` instances.", |
| 758 "items": { |
| 759 "$ref": "Release" |
| 760 }, |
| 761 "type": "array" |
| 762 }, |
| 763 "nextPageToken": { |
| 764 "description": "The pagination token to retrieve the next pa
ge of results. If the value is\nempty, no further results remain.", |
| 765 "type": "string" |
| 766 } |
| 767 }, |
| 768 "type": "object" |
| 769 }, |
| 770 "FunctionCall": { |
| 771 "description": "Represents a service-defined function call that was
invoked during test\nexecution.", |
| 772 "id": "FunctionCall", |
| 773 "properties": { |
| 774 "args": { |
| 775 "description": "The arguments that were provided to the func
tion.", |
| 776 "items": { |
| 777 "type": "any" |
| 778 }, |
| 779 "type": "array" |
| 780 }, |
| 781 "function": { |
| 782 "description": "Name of the function invoked.", |
| 783 "type": "string" |
| 784 } |
| 785 }, |
| 786 "type": "object" |
| 787 }, |
| 788 "File": { |
| 789 "description": "`File` containing source content.", |
| 790 "id": "File", |
| 791 "properties": { |
| 792 "content": { |
| 793 "description": "Textual Content.", |
| 794 "type": "string" |
| 795 }, |
| 796 "fingerprint": { |
| 797 "description": "Fingerprint (e.g. github sha) associated wit
h the `File`.", |
| 798 "format": "byte", |
| 799 "type": "string" |
| 800 }, |
| 801 "name": { |
| 802 "description": "File name.", |
| 803 "type": "string" |
| 804 } |
| 805 }, |
| 806 "type": "object" |
807 } | 807 } |
808 }, | 808 }, |
809 "servicePath": "", | 809 "servicePath": "", |
810 "title": "Firebase Rules API", | 810 "title": "Firebase Rules API", |
811 "version": "v1" | 811 "version": "v1" |
812 } | 812 } |
OLD | NEW |