Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(746)

Side by Side Diff: discovery/googleapis/firebaserules__v1.json

Issue 2973303002: Api-Roll 51: 2017-07-10 (Closed)
Patch Set: Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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": {
9 "description": "View all your Firebase data and settings"
10 },
8 "https://www.googleapis.com/auth/firebase": { 11 "https://www.googleapis.com/auth/firebase": {
9 "description": "View and administer all your Firebase data a nd settings" 12 "description": "View and administer all your Firebase data a nd settings"
10 },
11 "https://www.googleapis.com/auth/firebase.readonly": {
12 "description": "View all your Firebase data and settings"
13 } 13 }
14 } 14 }
15 } 15 }
16 }, 16 },
17 "basePath": "", 17 "basePath": "",
18 "baseUrl": "https://firebaserules.googleapis.com/", 18 "baseUrl": "https://firebaserules.googleapis.com/",
19 "batchPath": "batch", 19 "batchPath": "batch",
20 "canonicalName": "Firebase Rules", 20 "canonicalName": "Firebase Rules",
21 "description": "Creates and manages rules that determine when a Firebase Rul es-enabled service should permit a request.\n", 21 "description": "Creates and manages rules that determine when a Firebase Rul es-enabled service should permit a request.\n",
22 "discoveryVersion": "v1", 22 "discoveryVersion": "v1",
(...skipping 12 matching lines...) Expand all
35 "description": "Upload protocol for media (e.g. \"raw\", \"multipart \").", 35 "description": "Upload protocol for media (e.g. \"raw\", \"multipart \").",
36 "location": "query", 36 "location": "query",
37 "type": "string" 37 "type": "string"
38 }, 38 },
39 "prettyPrint": { 39 "prettyPrint": {
40 "default": "true", 40 "default": "true",
41 "description": "Returns response with indentations and line breaks." , 41 "description": "Returns response with indentations and line breaks." ,
42 "location": "query", 42 "location": "query",
43 "type": "boolean" 43 "type": "boolean"
44 }, 44 },
45 "uploadType": {
46 "description": "Legacy upload protocol for media (e.g. \"media\", \" multipart\").",
47 "location": "query",
48 "type": "string"
49 },
45 "fields": { 50 "fields": {
46 "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.",
47 "location": "query", 52 "location": "query",
48 "type": "string" 53 "type": "string"
49 }, 54 },
50 "uploadType": {
51 "description": "Legacy upload protocol for media (e.g. \"media\", \" multipart\").",
52 "location": "query",
53 "type": "string"
54 },
55 "callback": { 55 "callback": {
56 "description": "JSONP", 56 "description": "JSONP",
57 "location": "query", 57 "location": "query",
58 "type": "string" 58 "type": "string"
59 }, 59 },
60 "$.xgafv": { 60 "$.xgafv": {
61 "description": "V1 error format.", 61 "description": "V1 error format.",
62 "enum": [ 62 "enum": [
63 "1", 63 "1",
64 "2" 64 "2"
(...skipping 14 matching lines...) Expand all
79 "proto" 79 "proto"
80 ], 80 ],
81 "enumDescriptions": [ 81 "enumDescriptions": [
82 "Responses with Content-Type of application/json", 82 "Responses with Content-Type of application/json",
83 "Media download with context-dependent Content-Type", 83 "Media download with context-dependent Content-Type",
84 "Responses with Content-Type of application/x-protobuf" 84 "Responses with Content-Type of application/x-protobuf"
85 ], 85 ],
86 "location": "query", 86 "location": "query",
87 "type": "string" 87 "type": "string"
88 }, 88 },
89 "access_token": {
90 "description": "OAuth access token.",
91 "location": "query",
92 "type": "string"
93 },
89 "key": { 94 "key": {
90 "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.",
91 "location": "query", 96 "location": "query",
92 "type": "string" 97 "type": "string"
93 }, 98 },
94 "access_token": {
95 "description": "OAuth access token.",
96 "location": "query",
97 "type": "string"
98 },
99 "quotaUser": { 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.", 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", 101 "location": "query",
102 "type": "string" 102 "type": "string"
103 }, 103 },
104 "pp": { 104 "pp": {
105 "default": "true", 105 "default": "true",
106 "description": "Pretty-print response.", 106 "description": "Pretty-print response.",
107 "location": "query", 107 "location": "query",
108 "type": "boolean" 108 "type": "boolean"
109 }, 109 },
110 "oauth_token": {
111 "description": "OAuth 2.0 token for the current user.",
112 "location": "query",
113 "type": "string"
114 },
110 "bearer_token": { 115 "bearer_token": {
111 "description": "OAuth bearer token.", 116 "description": "OAuth bearer token.",
112 "location": "query", 117 "location": "query",
113 "type": "string" 118 "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 "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 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 }, 173 },
174 "path": "v1/{+name}", 174 "path": "v1/{+name}",
175 "response": { 175 "response": {
176 "$ref": "Empty" 176 "$ref": "Empty"
177 }, 177 },
178 "scopes": [ 178 "scopes": [
179 "https://www.googleapis.com/auth/cloud-platform" , 179 "https://www.googleapis.com/auth/cloud-platform" ,
180 "https://www.googleapis.com/auth/firebase" 180 "https://www.googleapis.com/auth/firebase"
181 ] 181 ]
182 }, 182 },
183 "get": { 183 "list": {
184 "description": "Get a `Ruleset` by name including th e full `Source` contents.", 184 "description": "List `Ruleset` metadata only and opt ionally filter the results by `Ruleset`\nname.\n\nThe full `Source` contents of a `Ruleset` may be retrieved with\nGetRuleset.",
185 "httpMethod": "GET", 185 "httpMethod": "GET",
186 "id": "firebaserules.projects.rulesets.get", 186 "id": "firebaserules.projects.rulesets.list",
187 "parameterOrder": [ 187 "parameterOrder": [
188 "name" 188 "name"
189 ], 189 ],
190 "parameters": { 190 "parameters": {
191 "filter": {
192 "description": "`Ruleset` filter. The list m ethod supports filters with restrictions on\n`Ruleset.name`.\n\nFilters on `Rule set.create_time` should use the `date` function which\nparses strings that confo rm to the RFC 3339 date/time specifications.\n\nExample: `create_time > date(\"2 017-01-01\") AND name=UUID-*`",
193 "location": "query",
194 "type": "string"
195 },
196 "pageToken": {
197 "description": "Next page token for loading the next batch of `Ruleset` instances.",
198 "location": "query",
199 "type": "string"
200 },
191 "name": { 201 "name": {
192 "description": "Resource name for the rulese t to get.\n\nFormat: `projects/{project_id}/rulesets/{ruleset_id}`", 202 "description": "Resource name for the projec t.\n\nFormat: `projects/{project_id}`",
193 "location": "path", 203 "location": "path",
194 "pattern": "^projects/[^/]+/rulesets/[^/]+$" , 204 "pattern": "^projects/[^/]+$",
195 "required": true, 205 "required": true,
196 "type": "string" 206 "type": "string"
207 },
208 "pageSize": {
209 "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 less\nthan `page_size` due to the size of the output. To traverse al l of the\nreleases, caller should iterate until the `page_token` is empty.",
210 "format": "int32",
211 "location": "query",
212 "type": "integer"
197 } 213 }
198 }, 214 },
199 "path": "v1/{+name}", 215 "path": "v1/{+name}/rulesets",
200 "response": { 216 "response": {
201 "$ref": "Ruleset" 217 "$ref": "ListRulesetsResponse"
202 }, 218 },
203 "scopes": [ 219 "scopes": [
204 "https://www.googleapis.com/auth/cloud-platform" , 220 "https://www.googleapis.com/auth/cloud-platform" ,
205 "https://www.googleapis.com/auth/firebase", 221 "https://www.googleapis.com/auth/firebase",
206 "https://www.googleapis.com/auth/firebase.readon ly" 222 "https://www.googleapis.com/auth/firebase.readon ly"
207 ] 223 ]
208 }, 224 },
209 "list": { 225 "get": {
210 "description": "List `Ruleset` metadata only and opt ionally filter the results by `Ruleset`\nname.\n\nThe full `Source` contents of a `Ruleset` may be retrieved with\nGetRuleset.", 226 "description": "Get a `Ruleset` by name including th e full `Source` contents.",
211 "httpMethod": "GET", 227 "httpMethod": "GET",
212 "id": "firebaserules.projects.rulesets.list", 228 "id": "firebaserules.projects.rulesets.get",
213 "parameterOrder": [ 229 "parameterOrder": [
214 "name" 230 "name"
215 ], 231 ],
216 "parameters": { 232 "parameters": {
217 "name": { 233 "name": {
218 "description": "Resource name for the projec t.\n\nFormat: `projects/{project_id}`", 234 "description": "Resource name for the rulese t to get.\n\nFormat: `projects/{project_id}/rulesets/{ruleset_id}`",
219 "location": "path", 235 "location": "path",
220 "pattern": "^projects/[^/]+$", 236 "pattern": "^projects/[^/]+/rulesets/[^/]+$" ,
221 "required": true, 237 "required": true,
222 "type": "string" 238 "type": "string"
223 },
224 "pageToken": {
225 "description": "Next page token for loading the next batch of `Ruleset` instances.",
226 "location": "query",
227 "type": "string"
228 },
229 "pageSize": {
230 "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 less\nthan `page_size` due to the size of the output. To traverse al l of the\nreleases, caller should iterate until the `page_token` is empty.",
231 "format": "int32",
232 "location": "query",
233 "type": "integer"
234 },
235 "filter": {
236 "description": "`Ruleset` filter. The list m ethod supports filters with restrictions on\n`Ruleset.name`.\n\nFilters on `Rule set.create_time` should use the `date` function which\nparses strings that confo rm to the RFC 3339 date/time specifications.\n\nExample: `create_time > date(\"2 017-01-01\") AND name=UUID-*`",
237 "location": "query",
238 "type": "string"
239 } 239 }
240 }, 240 },
241 "path": "v1/{+name}/rulesets", 241 "path": "v1/{+name}",
242 "response": { 242 "response": {
243 "$ref": "ListRulesetsResponse" 243 "$ref": "Ruleset"
244 }, 244 },
245 "scopes": [ 245 "scopes": [
246 "https://www.googleapis.com/auth/cloud-platform" , 246 "https://www.googleapis.com/auth/cloud-platform" ,
247 "https://www.googleapis.com/auth/firebase", 247 "https://www.googleapis.com/auth/firebase",
248 "https://www.googleapis.com/auth/firebase.readon ly" 248 "https://www.googleapis.com/auth/firebase.readon ly"
249 ] 249 ]
250 }, 250 },
251 "create": { 251 "create": {
252 "description": "Create a `Ruleset` from `Source`.\n\ nThe `Ruleset` is given a unique generated name which is returned to the\ncaller . `Source` containing syntactic or semantics errors will result in an\nerror res ponse indicating the first error encountered. For a detailed view\nof `Source` i ssues, use TestRuleset.", 252 "description": "Create a `Ruleset` from `Source`.\n\ nThe `Ruleset` is given a unique generated name which is returned to the\ncaller . `Source` containing syntactic or semantics errors will result in an\nerror res ponse indicating the first error encountered. For a detailed view\nof `Source` i ssues, use TestRuleset.",
253 "httpMethod": "POST", 253 "httpMethod": "POST",
(...skipping 19 matching lines...) Expand all
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": { 283 "list": {
284 "description": "Delete a `Release` by resource name. ", 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.",
285 "httpMethod": "DELETE", 285 "httpMethod": "GET",
286 "id": "firebaserules.projects.releases.delete", 286 "id": "firebaserules.projects.releases.list",
287 "parameterOrder": [ 287 "parameterOrder": [
288 "name" 288 "name"
289 ], 289 ],
290 "parameters": { 290 "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": {
297 "description": "Next page token for the next batch of `Release` instances.",
298 "location": "query",
299 "type": "string"
300 },
291 "name": { 301 "name": {
292 "description": "Resource name for the `Relea se` to delete.\n\nFormat: `projects/{project_id}/releases/{release_id}`", 302 "description": "Resource name for the projec t.\n\nFormat: `projects/{project_id}`",
293 "location": "path", 303 "location": "path",
294 "pattern": "^projects/[^/]+/releases/.+$", 304 "pattern": "^projects/[^/]+$",
295 "required": true, 305 "required": true,
296 "type": "string" 306 "type": "string"
307 },
308 "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.",
310 "format": "int32",
311 "location": "query",
312 "type": "integer"
297 } 313 }
298 }, 314 },
299 "path": "v1/{+name}", 315 "path": "v1/{+name}/releases",
300 "response": { 316 "response": {
301 "$ref": "Empty" 317 "$ref": "ListReleasesResponse"
302 }, 318 },
303 "scopes": [ 319 "scopes": [
304 "https://www.googleapis.com/auth/cloud-platform" , 320 "https://www.googleapis.com/auth/cloud-platform" ,
305 "https://www.googleapis.com/auth/firebase" 321 "https://www.googleapis.com/auth/firebase",
322 "https://www.googleapis.com/auth/firebase.readon ly"
306 ] 323 ]
307 }, 324 },
308 "get": { 325 "get": {
309 "description": "Get a `Release` by name.", 326 "description": "Get a `Release` by name.",
310 "httpMethod": "GET", 327 "httpMethod": "GET",
311 "id": "firebaserules.projects.releases.get", 328 "id": "firebaserules.projects.releases.get",
312 "parameterOrder": [ 329 "parameterOrder": [
313 "name" 330 "name"
314 ], 331 ],
315 "parameters": { 332 "parameters": {
316 "name": { 333 "name": {
317 "description": "Resource name of the `Releas e`.\n\nFormat: `projects/{project_id}/releases/{release_id}`", 334 "description": "Resource name of the `Releas e`.\n\nFormat: `projects/{project_id}/releases/{release_id}`",
318 "location": "path", 335 "location": "path",
319 "pattern": "^projects/[^/]+/releases/.+$", 336 "pattern": "^projects/[^/]+/releases/.+$",
320 "required": true, 337 "required": true,
321 "type": "string" 338 "type": "string"
322 } 339 }
323 }, 340 },
324 "path": "v1/{+name}", 341 "path": "v1/{+name}",
325 "response": { 342 "response": {
326 "$ref": "Release" 343 "$ref": "Release"
327 }, 344 },
328 "scopes": [ 345 "scopes": [
329 "https://www.googleapis.com/auth/cloud-platform" , 346 "https://www.googleapis.com/auth/cloud-platform" ,
330 "https://www.googleapis.com/auth/firebase", 347 "https://www.googleapis.com/auth/firebase",
331 "https://www.googleapis.com/auth/firebase.readon ly" 348 "https://www.googleapis.com/auth/firebase.readon ly"
332 ] 349 ]
333 }, 350 },
334 "list": {
335 "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.",
336 "httpMethod": "GET",
337 "id": "firebaserules.projects.releases.list",
338 "parameterOrder": [
339 "name"
340 ],
341 "parameters": {
342 "name": {
343 "description": "Resource name for the projec t.\n\nFormat: `projects/{project_id}`",
344 "location": "path",
345 "pattern": "^projects/[^/]+$",
346 "required": true,
347 "type": "string"
348 },
349 "pageToken": {
350 "description": "Next page token for the next batch of `Release` instances.",
351 "location": "query",
352 "type": "string"
353 },
354 "pageSize": {
355 "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.",
356 "format": "int32",
357 "location": "query",
358 "type": "integer"
359 },
360 "filter": {
361 "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`",
362 "location": "query",
363 "type": "string"
364 }
365 },
366 "path": "v1/{+name}/releases",
367 "response": {
368 "$ref": "ListReleasesResponse"
369 },
370 "scopes": [
371 "https://www.googleapis.com/auth/cloud-platform" ,
372 "https://www.googleapis.com/auth/firebase",
373 "https://www.googleapis.com/auth/firebase.readon ly"
374 ]
375 },
376 "update": { 351 "update": {
377 "description": "Update a `Release`.\n\nOnly updates to the `ruleset_name` and `test_suite_name` fields will be\nhonored. `Release` r ename is not supported. To create a `Release` use the\nCreateRelease method.", 352 "description": "Update a `Release`.\n\nOnly updates to the `ruleset_name` and `test_suite_name` fields will be\nhonored. `Release` r ename is not supported. To create a `Release` use the\nCreateRelease method.",
378 "httpMethod": "PUT", 353 "httpMethod": "PUT",
379 "id": "firebaserules.projects.releases.update", 354 "id": "firebaserules.projects.releases.update",
380 "parameterOrder": [ 355 "parameterOrder": [
381 "name" 356 "name"
382 ], 357 ],
383 "parameters": { 358 "parameters": {
384 "name": { 359 "name": {
385 "description": "Resource name for the `Relea se`.\n\n`Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`\ nwhich affords developers a great deal of flexibility in mapping the name\nto th e style that best fits their existing development practices. For\nexample, a nam e could refer to an environment, an app, a version, or some\ncombination of thre e.\n\nIn the table below, for the project name `projects/foo`, the following\nre lative release paths show how flat and structured names might be chosen\nto matc h a desired development / deployment strategy.\n\nUse Case | Flat Name | Structured Name\n-------------|---------------------|----------------\nEn vironments | releases/qa | releases/qa\nApps | releases/app1_qa | releases/app1/qa\nVersions | releases/app1_v2_qa | releases/app1/v2/qa\ n\nThe delimiter between the release name path elements can be almost anything\n and it should work equally well with the release name list filter, but in\nmany ways the structured paths provide a clearer picture of the\nrelationship between `Release` instances.\n\nFormat: `projects/{project_id}/releases/{release_id}`", 360 "description": "Resource name for the `Relea se`.\n\n`Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`\ nwhich affords developers a great deal of flexibility in mapping the name\nto th e style that best fits their existing development practices. For\nexample, a nam e could refer to an environment, an app, a version, or some\ncombination of thre e.\n\nIn the table below, for the project name `projects/foo`, the following\nre lative release paths show how flat and structured names might be chosen\nto matc h a desired development / deployment strategy.\n\nUse Case | Flat Name | Structured Name\n-------------|---------------------|----------------\nEn vironments | releases/qa | releases/qa\nApps | releases/app1_qa | releases/app1/qa\nVersions | releases/app1_v2_qa | releases/app1/v2/qa\ n\nThe delimiter between the release name path elements can be almost anything\n and it should work equally well with the release name list filter, but in\nmany ways the structured paths provide a clearer picture of the\nrelationship between `Release` instances.\n\nFormat: `projects/{project_id}/releases/{release_id}`",
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 "request": { 396 "request": {
422 "$ref": "Release" 397 "$ref": "Release"
423 }, 398 },
424 "response": { 399 "response": {
425 "$ref": "Release" 400 "$ref": "Release"
426 }, 401 },
427 "scopes": [ 402 "scopes": [
428 "https://www.googleapis.com/auth/cloud-platform" , 403 "https://www.googleapis.com/auth/cloud-platform" ,
429 "https://www.googleapis.com/auth/firebase" 404 "https://www.googleapis.com/auth/firebase"
430 ] 405 ]
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 "Empty": {
441 "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 `{}`.",
442 "id": "Empty",
443 "properties": {},
444 "type": "object"
445 },
446 "FunctionMock": {
447 "description": "Mock function definition.\n\nMocks must refer to a f unction declared by the target service. The type of\nthe function args and resul t will be inferred at test time. If either the\narg or result values are not com patible with function type declaration, the\nrequest will be considered invalid. \n\nMore than one `FunctionMock` may be provided for a given function name so\nl ong as the `Arg` matchers are distinct. There may be only one function\nfor a gi ven overload where all `Arg` values are `Arg.any_value`.",
448 "id": "FunctionMock",
449 "properties": {
450 "function": {
451 "description": "The name of the function.\n\nThe function na me must match one provided by a service declaration.",
452 "type": "string"
453 },
454 "result": {
455 "$ref": "Result",
456 "description": "The mock result of the function call."
457 },
458 "args": {
459 "description": "The list of `Arg` values to match. The order in which the arguments are\nprovided is the order in which they must appear in the function\ninvocation.",
460 "items": {
461 "$ref": "Arg"
462 },
463 "type": "array"
464 }
465 },
466 "type": "object"
467 },
468 "Source": {
469 "description": "`Source` is one or more `File` messages comprising a logical set of rules.",
470 "id": "Source",
471 "properties": {
472 "files": {
473 "description": "`File` set constituting the `Source` bundle. ",
474 "items": {
475 "$ref": "File"
476 },
477 "type": "array"
478 }
479 },
480 "type": "object"
481 },
482 "Result": {
483 "description": "Possible result values from the function mock invoca tion.",
484 "id": "Result",
485 "properties": {
486 "value": {
487 "description": "The result is an actual value. The type of t he value must match that\nof the type declared by the service.",
488 "type": "any"
489 },
490 "undefined": {
491 "$ref": "Empty",
492 "description": "The result is undefined, meaning the result could not be computed."
493 }
494 },
495 "type": "object"
496 },
497 "SourcePosition": { 440 "SourcePosition": {
498 "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.", 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.",
499 "id": "SourcePosition", 442 "id": "SourcePosition",
500 "properties": { 443 "properties": {
501 "column": { 444 "column": {
502 "description": "First column on the source line associated w ith the source fragment.", 445 "description": "First column on the source line associated w ith the source fragment.",
503 "format": "int32", 446 "format": "int32",
504 "type": "integer" 447 "type": "integer"
505 }, 448 },
506 "fileName": { 449 "fileName": {
507 "description": "Name of the `File`.", 450 "description": "Name of the `File`.",
508 "type": "string" 451 "type": "string"
509 }, 452 },
510 "line": { 453 "line": {
511 "description": "Line number of the source fragment. 1-based. ", 454 "description": "Line number of the source fragment. 1-based. ",
512 "format": "int32", 455 "format": "int32",
513 "type": "integer" 456 "type": "integer"
514 } 457 }
515 }, 458 },
516 "type": "object" 459 "type": "object"
517 }, 460 },
518 "TestCase": { 461 "TestCase": {
519 "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.", 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.",
520 "id": "TestCase", 463 "id": "TestCase",
521 "properties": { 464 "properties": {
522 "resource": {
523 "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.",
524 "type": "any"
525 },
526 "functionMocks": { 465 "functionMocks": {
527 "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.", 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.",
528 "items": { 467 "items": {
529 "$ref": "FunctionMock" 468 "$ref": "FunctionMock"
530 }, 469 },
531 "type": "array" 470 "type": "array"
532 }, 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 },
533 "expectation": { 476 "expectation": {
534 "description": "Test expectation.", 477 "description": "Test expectation.",
535 "enum": [ 478 "enum": [
536 "EXPECTATION_UNSPECIFIED", 479 "EXPECTATION_UNSPECIFIED",
537 "ALLOW", 480 "ALLOW",
538 "DENY" 481 "DENY"
539 ], 482 ],
540 "enumDescriptions": [ 483 "enumDescriptions": [
541 "Unspecified expectation.", 484 "Unspecified expectation.",
542 "Expect an allowed result.", 485 "Expect an allowed result.",
543 "Expect a denied result." 486 "Expect a denied result."
544 ], 487 ],
545 "type": "string" 488 "type": "string"
546 }, 489 },
547 "request": { 490 "request": {
548 "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.", 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.",
549 "type": "any" 492 "type": "any"
550 } 493 }
551 }, 494 },
552 "type": "object" 495 "type": "object"
553 }, 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 },
554 "Issue": { 532 "Issue": {
555 "description": "Issues include warnings, errors, and deprecation not ices.", 533 "description": "Issues include warnings, errors, and deprecation not ices.",
556 "id": "Issue", 534 "id": "Issue",
557 "properties": { 535 "properties": {
558 "sourcePosition": { 536 "sourcePosition": {
559 "$ref": "SourcePosition", 537 "$ref": "SourcePosition",
560 "description": "Position of the issue in the `Source`." 538 "description": "Position of the issue in the `Source`."
561 }, 539 },
562 "severity": { 540 "severity": {
563 "description": "The severity of the issue.", 541 "description": "The severity of the issue.",
(...skipping 11 matching lines...) Expand all
575 ], 553 ],
576 "type": "string" 554 "type": "string"
577 }, 555 },
578 "description": { 556 "description": {
579 "description": "Short error description.", 557 "description": "Short error description.",
580 "type": "string" 558 "type": "string"
581 } 559 }
582 }, 560 },
583 "type": "object" 561 "type": "object"
584 }, 562 },
585 "TestRulesetRequest": { 563 "ListReleasesResponse": {
586 "description": "The request for FirebaseRulesService.TestRuleset.", 564 "description": "The response for FirebaseRulesService.ListReleases." ,
587 "id": "TestRulesetRequest", 565 "id": "ListReleasesResponse",
588 "properties": { 566 "properties": {
589 "source": { 567 "nextPageToken": {
590 "$ref": "Source", 568 "description": "The pagination token to retrieve the next pa ge of results. If the value is\nempty, no further results remain.",
591 "description": "Optional `Source` to be checked for correctn ess.\n\nThis field must not be set when the resource name refers to a `Ruleset`. " 569 "type": "string"
592 }, 570 },
593 "testSuite": { 571 "releases": {
594 "$ref": "TestSuite", 572 "description": "List of `Release` instances.",
595 "description": "Inline `TestSuite` to run." 573 "items": {
574 "$ref": "Release"
575 },
576 "type": "array"
596 } 577 }
597 }, 578 },
598 "type": "object" 579 "type": "object"
599 },
600 "Ruleset": {
601 "description": "`Ruleset` is an immutable copy of `Source` with a gl obally unique identifier\nand a creation time.",
602 "id": "Ruleset",
603 "properties": {
604 "source": {
605 "$ref": "Source",
606 "description": "`Source` for the `Ruleset`."
607 },
608 "createTime": {
609 "description": "Time the `Ruleset` was created.\nOutput only .",
610 "format": "google-datetime",
611 "type": "string"
612 },
613 "name": {
614 "description": "Name of the `Ruleset`. The ruleset_id is aut o generated by the service.\nFormat: `projects/{project_id}/rulesets/{ruleset_id }`\nOutput only.",
615 "type": "string"
616 }
617 },
618 "type": "object"
619 }, 580 },
620 "File": { 581 "File": {
621 "description": "`File` containing source content.", 582 "description": "`File` containing source content.",
622 "id": "File", 583 "id": "File",
623 "properties": { 584 "properties": {
585 "fingerprint": {
586 "description": "Fingerprint (e.g. github sha) associated wit h the `File`.",
587 "format": "byte",
588 "type": "string"
589 },
624 "name": { 590 "name": {
625 "description": "File name.", 591 "description": "File name.",
626 "type": "string" 592 "type": "string"
627 }, 593 },
628 "content": { 594 "content": {
629 "description": "Textual Content.", 595 "description": "Textual Content.",
630 "type": "string" 596 "type": "string"
631 },
632 "fingerprint": {
633 "description": "Fingerprint (e.g. github sha) associated wit h the `File`.",
634 "format": "byte",
635 "type": "string"
636 } 597 }
637 }, 598 },
638 "type": "object" 599 "type": "object"
639 }, 600 },
640 "FunctionCall": { 601 "FunctionCall": {
641 "description": "Represents a service-defined function call that was invoked during test\nexecution.", 602 "description": "Represents a service-defined function call that was invoked during test\nexecution.",
642 "id": "FunctionCall", 603 "id": "FunctionCall",
643 "properties": { 604 "properties": {
644 "args": { 605 "args": {
645 "description": "The arguments that were provided to the func tion.", 606 "description": "The arguments that were provided to the func tion.",
646 "items": { 607 "items": {
647 "type": "any" 608 "type": "any"
648 }, 609 },
649 "type": "array" 610 "type": "array"
650 }, 611 },
651 "function": { 612 "function": {
652 "description": "Name of the function invoked.", 613 "description": "Name of the function invoked.",
653 "type": "string" 614 "type": "string"
654 } 615 }
655 }, 616 },
656 "type": "object" 617 "type": "object"
657 }, 618 },
658 "ListReleasesResponse": {
659 "description": "The response for FirebaseRulesService.ListReleases." ,
660 "id": "ListReleasesResponse",
661 "properties": {
662 "releases": {
663 "description": "List of `Release` instances.",
664 "items": {
665 "$ref": "Release"
666 },
667 "type": "array"
668 },
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 },
674 "type": "object"
675 },
676 "Release": { 619 "Release": {
677 "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`.", 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`.",
678 "id": "Release", 621 "id": "Release",
679 "properties": { 622 "properties": {
680 "name": {
681 "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}`",
682 "type": "string"
683 },
684 "rulesetName": {
685 "description": "Name of the `Ruleset` referred to by this `R elease`. The `Ruleset` must\nexist the `Release` to be created.",
686 "type": "string"
687 },
688 "createTime": { 623 "createTime": {
689 "description": "Time the release was created.\nOutput only." , 624 "description": "Time the release was created.\nOutput only." ,
690 "format": "google-datetime", 625 "format": "google-datetime",
691 "type": "string" 626 "type": "string"
692 }, 627 },
693 "updateTime": { 628 "updateTime": {
694 "description": "Time the release was updated.\nOutput only." , 629 "description": "Time the release was updated.\nOutput only." ,
695 "format": "google-datetime", 630 "format": "google-datetime",
696 "type": "string" 631 "type": "string"
632 },
633 "rulesetName": {
634 "description": "Name of the `Ruleset` referred to by this `R elease`. The `Ruleset` must\nexist the `Release` to be created.",
635 "type": "string"
636 },
637 "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}`",
639 "type": "string"
697 } 640 }
698 }, 641 },
699 "type": "object" 642 "type": "object"
700 }, 643 },
701 "TestRulesetResponse": { 644 "TestRulesetResponse": {
702 "description": "The response for FirebaseRulesService.TestRuleset.", 645 "description": "The response for FirebaseRulesService.TestRuleset.",
703 "id": "TestRulesetResponse", 646 "id": "TestRulesetResponse",
704 "properties": { 647 "properties": {
648 "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`.",
650 "items": {
651 "$ref": "TestResult"
652 },
653 "type": "array"
654 },
705 "issues": { 655 "issues": {
706 "description": "Syntactic and semantic `Source` issues of va rying severity. Issues of\n`ERROR` severity will prevent tests from executing.", 656 "description": "Syntactic and semantic `Source` issues of va rying severity. Issues of\n`ERROR` severity will prevent tests from executing.",
707 "items": { 657 "items": {
708 "$ref": "Issue" 658 "$ref": "Issue"
709 }, 659 },
710 "type": "array" 660 "type": "array"
661 }
662 },
663 "type": "object"
664 },
665 "ListRulesetsResponse": {
666 "description": "The response for FirebaseRulesService.ListRulesets." ,
667 "id": "ListRulesetsResponse",
668 "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"
711 }, 672 },
712 "testResults": { 673 "rulesets": {
713 "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`.", 674 "description": "List of `Ruleset` instances.",
714 "items": { 675 "items": {
715 "$ref": "TestResult" 676 "$ref": "Ruleset"
716 }, 677 },
717 "type": "array" 678 "type": "array"
718 } 679 }
719 }, 680 },
720 "type": "object" 681 "type": "object"
721 }, 682 },
722 "TestResult": { 683 "TestResult": {
723 "description": "Test result message containing the state of the test as well as a\ndescription and source position for test failures.", 684 "description": "Test result message containing the state of the test as well as a\ndescription and source position for test failures.",
724 "id": "TestResult", 685 "id": "TestResult",
725 "properties": { 686 "properties": {
726 "errorPosition": { 687 "errorPosition": {
727 "$ref": "SourcePosition", 688 "$ref": "SourcePosition",
728 "description": "Position in the `Source` or `Ruleset` where the principle runtime error\noccurs.\n\nEvaluation of an expression may result i n an error. Rules are deny by\ndefault, so a `DENY` expectation when an error is generated is valid.\nWhen there is a `DENY` with an error, the `SourcePosition` is returned.\n\nE.g. `error_position { line: 19 column: 37 }`" 689 "description": "Position in the `Source` or `Ruleset` where the principle runtime error\noccurs.\n\nEvaluation of an expression may result i n an error. Rules are deny by\ndefault, so a `DENY` expectation when an error is generated is valid.\nWhen there is a `DENY` with an error, the `SourcePosition` is returned.\n\nE.g. `error_position { line: 19 column: 37 }`"
729 }, 690 },
730 "functionCalls": { 691 "functionCalls": {
731 "description": "The set of function calls made to service-de fined methods.\n\nFunction calls are included in the order in which they are enc ountered\nduring evaluation, are provided for both mocked and unmocked functions ,\nand included on the response regardless of the test `state`.", 692 "description": "The set of function calls made to service-de fined methods.\n\nFunction calls are included in the order in which they are enc ountered\nduring evaluation, are provided for both mocked and unmocked functions ,\nand included on the response regardless of the test `state`.",
732 "items": { 693 "items": {
733 "$ref": "FunctionCall" 694 "$ref": "FunctionCall"
734 }, 695 },
735 "type": "array" 696 "type": "array"
736 }, 697 },
698 "debugMessages": {
699 "description": "Debug messages related to test execution iss ues encountered during\nevaluation.\n\nDebug messages may be related to too many or too few invocations of\nfunction mocks or to runtime errors that occur durin g evaluation.\n\nFor example: ```Unable to read variable [name: \"resource\"]``` ",
700 "items": {
701 "type": "string"
702 },
703 "type": "array"
704 },
737 "state": { 705 "state": {
738 "description": "State of the test.", 706 "description": "State of the test.",
739 "enum": [ 707 "enum": [
740 "STATE_UNSPECIFIED", 708 "STATE_UNSPECIFIED",
741 "SUCCESS", 709 "SUCCESS",
742 "FAILURE" 710 "FAILURE"
743 ], 711 ],
744 "enumDescriptions": [ 712 "enumDescriptions": [
745 "Test state is not set.", 713 "Test state is not set.",
746 "Test is a success.", 714 "Test is a success.",
747 "Test is a failure." 715 "Test is a failure."
748 ], 716 ],
749 "type": "string" 717 "type": "string"
750 },
751 "debugMessages": {
752 "description": "Debug messages related to test execution iss ues encountered during\nevaluation.\n\nDebug messages may be related to too many or too few invocations of\nfunction mocks or to runtime errors that occur durin g evaluation.\n\nFor example: ```Unable to read variable [name: \"resource\"]``` ",
753 "items": {
754 "type": "string"
755 },
756 "type": "array"
757 }
758 },
759 "type": "object"
760 },
761 "ListRulesetsResponse": {
762 "description": "The response for FirebaseRulesService.ListRulesets." ,
763 "id": "ListRulesetsResponse",
764 "properties": {
765 "rulesets": {
766 "description": "List of `Ruleset` instances.",
767 "items": {
768 "$ref": "Ruleset"
769 },
770 "type": "array"
771 },
772 "nextPageToken": {
773 "description": "The pagination token to retrieve the next pa ge of results. If the value is\nempty, no further results remain.",
774 "type": "string"
775 } 718 }
776 }, 719 },
777 "type": "object" 720 "type": "object"
778 }, 721 },
779 "Arg": { 722 "Arg": {
780 "description": "Arg matchers for the mock function.", 723 "description": "Arg matchers for the mock function.",
781 "id": "Arg", 724 "id": "Arg",
782 "properties": { 725 "properties": {
726 "anyValue": {
727 "$ref": "Empty",
728 "description": "Argument matches any value provided."
729 },
783 "exactValue": { 730 "exactValue": {
784 "description": "Argument exactly matches value provided.", 731 "description": "Argument exactly matches value provided.",
785 "type": "any" 732 "type": "any"
786 },
787 "anyValue": {
788 "$ref": "Empty",
789 "description": "Argument matches any value provided."
790 } 733 }
791 }, 734 },
792 "type": "object" 735 "type": "object"
793 }, 736 },
794 "TestSuite": { 737 "TestSuite": {
795 "description": "`TestSuite` is a collection of `TestCase` instances that validate the logical\ncorrectness of a `Ruleset`. The `TestSuite` may be re ferenced in-line within\na `TestRuleset` invocation or as part of a `Release` ob ject as a pre-release\ncheck.", 738 "description": "`TestSuite` is a collection of `TestCase` instances that validate the logical\ncorrectness of a `Ruleset`. The `TestSuite` may be re ferenced in-line within\na `TestRuleset` invocation or as part of a `Release` ob ject as a pre-release\ncheck.",
796 "id": "TestSuite", 739 "id": "TestSuite",
797 "properties": { 740 "properties": {
798 "testCases": { 741 "testCases": {
799 "description": "Collection of test cases associated with the `TestSuite`.", 742 "description": "Collection of test cases associated with the `TestSuite`.",
800 "items": { 743 "items": {
801 "$ref": "TestCase" 744 "$ref": "TestCase"
802 }, 745 },
803 "type": "array" 746 "type": "array"
804 } 747 }
805 }, 748 },
806 "type": "object" 749 "type": "object"
750 },
751 "Empty": {
752 "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 `{}`.",
753 "id": "Empty",
754 "properties": {},
755 "type": "object"
756 },
757 "FunctionMock": {
758 "description": "Mock function definition.\n\nMocks must refer to a f unction declared by the target service. The type of\nthe function args and resul t will be inferred at test time. If either the\narg or result values are not com patible with function type declaration, the\nrequest will be considered invalid. \n\nMore than one `FunctionMock` may be provided for a given function name so\nl ong as the `Arg` matchers are distinct. There may be only one function\nfor a gi ven overload where all `Arg` values are `Arg.any_value`.",
759 "id": "FunctionMock",
760 "properties": {
761 "args": {
762 "description": "The list of `Arg` values to match. The order in which the arguments are\nprovided is the order in which they must appear in the function\ninvocation.",
763 "items": {
764 "$ref": "Arg"
765 },
766 "type": "array"
767 },
768 "function": {
769 "description": "The name of the function.\n\nThe function na me must match one provided by a service declaration.",
770 "type": "string"
771 },
772 "result": {
773 "$ref": "Result",
774 "description": "The mock result of the function call."
775 }
776 },
777 "type": "object"
778 },
779 "Source": {
780 "description": "`Source` is one or more `File` messages comprising a logical set of rules.",
781 "id": "Source",
782 "properties": {
783 "files": {
784 "description": "`File` set constituting the `Source` bundle. ",
785 "items": {
786 "$ref": "File"
787 },
788 "type": "array"
789 }
790 },
791 "type": "object"
792 },
793 "Result": {
794 "description": "Possible result values from the function mock invoca tion.",
795 "id": "Result",
796 "properties": {
797 "undefined": {
798 "$ref": "Empty",
799 "description": "The result is undefined, meaning the result could not be computed."
800 },
801 "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.",
803 "type": "any"
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 }
OLDNEW
« no previous file with comments | « discovery/googleapis/firebasedynamiclinks__v1.json ('k') | discovery/googleapis/gamesConfiguration__v1configuration.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698