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": { | 8 "https://www.googleapis.com/auth/firebase": { |
9 "description": "View and administer all your Firebase data a
nd settings" | 9 "description": "View and administer all your Firebase data a
nd settings" |
10 }, | 10 }, |
11 "https://www.googleapis.com/auth/firebase.readonly": { | 11 "https://www.googleapis.com/auth/firebase.readonly": { |
12 "description": "View all your Firebase data and settings" | 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 API", | 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", |
23 "documentationLink": "https://firebase.google.com/docs/storage/security", | 23 "documentationLink": "https://firebase.google.com/docs/storage/security", |
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 "upload_protocol": { | 34 "upload_protocol": { |
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": { | |
56 "description": "JSONP", | |
57 "location": "query", | |
58 "type": "string" | |
59 }, | |
60 "$.xgafv": { | 55 "$.xgafv": { |
61 "description": "V1 error format.", | 56 "description": "V1 error format.", |
62 "enum": [ | 57 "enum": [ |
63 "1", | 58 "1", |
64 "2" | 59 "2" |
65 ], | 60 ], |
66 "enumDescriptions": [ | 61 "enumDescriptions": [ |
67 "v1 error format", | 62 "v1 error format", |
68 "v2 error format" | 63 "v2 error format" |
69 ], | 64 ], |
70 "location": "query", | 65 "location": "query", |
71 "type": "string" | 66 "type": "string" |
72 }, | 67 }, |
| 68 "callback": { |
| 69 "description": "JSONP", |
| 70 "location": "query", |
| 71 "type": "string" |
| 72 }, |
73 "alt": { | 73 "alt": { |
74 "default": "json", | 74 "default": "json", |
75 "description": "Data format for response.", | 75 "description": "Data format for response.", |
76 "enum": [ | 76 "enum": [ |
77 "json", | 77 "json", |
78 "media", | 78 "media", |
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 "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.", |
| 91 "location": "query", |
| 92 "type": "string" |
| 93 }, |
89 "access_token": { | 94 "access_token": { |
90 "description": "OAuth access token.", | 95 "description": "OAuth access token.", |
91 "location": "query", | 96 "location": "query", |
92 "type": "string" | 97 "type": "string" |
93 }, | 98 }, |
94 "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.", | |
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 in the\nrules, if any, will be returned to the caller w
ith a description, severity,\nand source location.\n\nThe test method will typic
ally be executed with a developer provided\n`Source`, but if regression testing
is desired, this method may be\nexecuted against a `Ruleset` resource name and t
he `Source` will be\nretrieved from the persisted `Ruleset`.\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_*Example*_\n\n // Users
are allowed to subscribe and unsubscribe to the blog.\n service firebase.sto
rage {\n match /users/{userId}/images/{imageName} {\n allow write:
if userId == request.userId\n && (imageName.endsWith('.png') || im
ageName.endsWith('.jpg'))\n && resource.mimeType.startsWith('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", |
129 "parameterOrder": [ | 129 "parameterOrder": [ |
130 "name" | 130 "name" |
131 ], | 131 ], |
132 "parameters": { | 132 "parameters": { |
133 "name": { | 133 "name": { |
134 "description": "Name of the project.\n\nFormat: `pro
jects/{project_id}`", | 134 "description": "Tests may either provide `source` or
a `Ruleset` resource name.\n\nFor tests against `source`, the resource name mus
t refer to the project:\nFormat: `projects/{project_id}`\n\nFor tests against a
`Ruleset`, this must be the `Ruleset` resource name:\nFormat: `projects/{project
_id}/rulesets/{ruleset_id}`", |
135 "location": "path", | 135 "location": "path", |
136 "pattern": "^projects/.+$", | 136 "pattern": "^projects/.+$", |
137 "required": true, | 137 "required": true, |
138 "type": "string" | 138 "type": "string" |
139 } | 139 } |
140 }, | 140 }, |
141 "path": "v1/{+name}:test", | 141 "path": "v1/{+name}:test", |
142 "request": { | 142 "request": { |
143 "$ref": "TestRulesetRequest" | 143 "$ref": "TestRulesetRequest" |
144 }, | 144 }, |
145 "response": { | 145 "response": { |
146 "$ref": "TestRulesetResponse" | 146 "$ref": "TestRulesetResponse" |
147 }, | 147 }, |
148 "scopes": [ | 148 "scopes": [ |
149 "https://www.googleapis.com/auth/cloud-platform", | 149 "https://www.googleapis.com/auth/cloud-platform", |
150 "https://www.googleapis.com/auth/firebase", | 150 "https://www.googleapis.com/auth/firebase", |
151 "https://www.googleapis.com/auth/firebase.readonly" | 151 "https://www.googleapis.com/auth/firebase.readonly" |
152 ] | 152 ] |
153 } | 153 } |
154 }, | 154 }, |
155 "resources": { | 155 "resources": { |
156 "rulesets": { | 156 "rulesets": { |
157 "methods": { | 157 "methods": { |
158 "create": { | |
159 "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.", | |
160 "httpMethod": "POST", | |
161 "id": "firebaserules.projects.rulesets.create", | |
162 "parameterOrder": [ | |
163 "name" | |
164 ], | |
165 "parameters": { | |
166 "name": { | |
167 "description": "Resource name for Project wh
ich owns this `Ruleset`.\n\nFormat: `projects/{project_id}`", | |
168 "location": "path", | |
169 "pattern": "^projects/[^/]+$", | |
170 "required": true, | |
171 "type": "string" | |
172 } | |
173 }, | |
174 "path": "v1/{+name}/rulesets", | |
175 "request": { | |
176 "$ref": "Ruleset" | |
177 }, | |
178 "response": { | |
179 "$ref": "Ruleset" | |
180 }, | |
181 "scopes": [ | |
182 "https://www.googleapis.com/auth/cloud-platform"
, | |
183 "https://www.googleapis.com/auth/firebase" | |
184 ] | |
185 }, | |
186 "delete": { | 158 "delete": { |
187 "description": "Delete a `Ruleset` by resource name.
\n\nIf the `Ruleset` is referenced by a `Release` the operation will fail.", | 159 "description": "Delete a `Ruleset` by resource name.
\n\nIf the `Ruleset` is referenced by a `Release` the operation will fail.", |
188 "httpMethod": "DELETE", | 160 "httpMethod": "DELETE", |
189 "id": "firebaserules.projects.rulesets.delete", | 161 "id": "firebaserules.projects.rulesets.delete", |
190 "parameterOrder": [ | 162 "parameterOrder": [ |
191 "name" | 163 "name" |
192 ], | 164 ], |
193 "parameters": { | 165 "parameters": { |
194 "name": { | 166 "name": { |
195 "description": "Resource name for the rulese
t to delete.\n\nFormat: `projects/{project_id}/rulesets/{ruleset_id}`", | 167 "description": "Resource name for the rulese
t to delete.\n\nFormat: `projects/{project_id}/rulesets/{ruleset_id}`", |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 "response": { | 200 "response": { |
229 "$ref": "Ruleset" | 201 "$ref": "Ruleset" |
230 }, | 202 }, |
231 "scopes": [ | 203 "scopes": [ |
232 "https://www.googleapis.com/auth/cloud-platform"
, | 204 "https://www.googleapis.com/auth/cloud-platform"
, |
233 "https://www.googleapis.com/auth/firebase", | 205 "https://www.googleapis.com/auth/firebase", |
234 "https://www.googleapis.com/auth/firebase.readon
ly" | 206 "https://www.googleapis.com/auth/firebase.readon
ly" |
235 ] | 207 ] |
236 }, | 208 }, |
237 "list": { | 209 "list": { |
238 "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.", | 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.", |
239 "httpMethod": "GET", | 211 "httpMethod": "GET", |
240 "id": "firebaserules.projects.rulesets.list", | 212 "id": "firebaserules.projects.rulesets.list", |
241 "parameterOrder": [ | 213 "parameterOrder": [ |
242 "name" | 214 "name" |
243 ], | 215 ], |
244 "parameters": { | 216 "parameters": { |
| 217 "filter": { |
| 218 "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-*`", |
| 219 "location": "query", |
| 220 "type": "string" |
| 221 }, |
245 "name": { | 222 "name": { |
246 "description": "Resource name for the projec
t.\n\nFormat: `projects/{project_id}`", | 223 "description": "Resource name for the projec
t.\n\nFormat: `projects/{project_id}`", |
247 "location": "path", | 224 "location": "path", |
248 "pattern": "^projects/[^/]+$", | 225 "pattern": "^projects/[^/]+$", |
249 "required": true, | 226 "required": true, |
250 "type": "string" | 227 "type": "string" |
251 }, | 228 }, |
252 "pageToken": { | 229 "pageToken": { |
253 "description": "Next page token for loading
the next batch of `Ruleset` instances.", | 230 "description": "Next page token for loading
the next batch of `Ruleset` instances.", |
254 "location": "query", | 231 "location": "query", |
255 "type": "string" | 232 "type": "string" |
256 }, | 233 }, |
257 "pageSize": { | 234 "pageSize": { |
258 "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.", | 235 "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.", |
259 "format": "int32", | 236 "format": "int32", |
260 "location": "query", | 237 "location": "query", |
261 "type": "integer" | 238 "type": "integer" |
262 } | 239 } |
263 }, | 240 }, |
264 "path": "v1/{+name}/rulesets", | 241 "path": "v1/{+name}/rulesets", |
265 "response": { | 242 "response": { |
266 "$ref": "ListRulesetsResponse" | 243 "$ref": "ListRulesetsResponse" |
267 }, | 244 }, |
268 "scopes": [ | 245 "scopes": [ |
269 "https://www.googleapis.com/auth/cloud-platform"
, | 246 "https://www.googleapis.com/auth/cloud-platform"
, |
270 "https://www.googleapis.com/auth/firebase", | 247 "https://www.googleapis.com/auth/firebase", |
271 "https://www.googleapis.com/auth/firebase.readon
ly" | 248 "https://www.googleapis.com/auth/firebase.readon
ly" |
272 ] | 249 ] |
| 250 }, |
| 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.", |
| 253 "httpMethod": "POST", |
| 254 "id": "firebaserules.projects.rulesets.create", |
| 255 "parameterOrder": [ |
| 256 "name" |
| 257 ], |
| 258 "parameters": { |
| 259 "name": { |
| 260 "description": "Resource name for Project wh
ich owns this `Ruleset`.\n\nFormat: `projects/{project_id}`", |
| 261 "location": "path", |
| 262 "pattern": "^projects/[^/]+$", |
| 263 "required": true, |
| 264 "type": "string" |
| 265 } |
| 266 }, |
| 267 "path": "v1/{+name}/rulesets", |
| 268 "request": { |
| 269 "$ref": "Ruleset" |
| 270 }, |
| 271 "response": { |
| 272 "$ref": "Ruleset" |
| 273 }, |
| 274 "scopes": [ |
| 275 "https://www.googleapis.com/auth/cloud-platform"
, |
| 276 "https://www.googleapis.com/auth/firebase" |
| 277 ] |
273 } | 278 } |
274 } | 279 } |
275 }, | 280 }, |
276 "releases": { | 281 "releases": { |
277 "methods": { | 282 "methods": { |
278 "update": { | 283 "get": { |
279 "description": "Update a `Release`.\n\nOnly updates
to the `ruleset_name` field will be honored. `Release` rename\nis not supported.
To create a `Release` use the CreateRelease method\ninstead.", | 284 "description": "Get a `Release` by name.", |
280 "httpMethod": "PUT", | 285 "httpMethod": "GET", |
281 "id": "firebaserules.projects.releases.update", | 286 "id": "firebaserules.projects.releases.get", |
282 "parameterOrder": [ | 287 "parameterOrder": [ |
283 "name" | 288 "name" |
284 ], | 289 ], |
285 "parameters": { | 290 "parameters": { |
286 "name": { | 291 "name": { |
287 "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}`", | 292 "description": "Resource name of the `Releas
e`.\n\nFormat: `projects/{project_id}/releases/{release_id}`", |
288 "location": "path", | 293 "location": "path", |
289 "pattern": "^projects/[^/]+/releases/.+$", | 294 "pattern": "^projects/[^/]+/releases/.+$", |
290 "required": true, | 295 "required": true, |
291 "type": "string" | 296 "type": "string" |
292 } | 297 } |
293 }, | 298 }, |
294 "path": "v1/{+name}", | 299 "path": "v1/{+name}", |
295 "request": { | |
296 "$ref": "Release" | |
297 }, | |
298 "response": { | 300 "response": { |
299 "$ref": "Release" | 301 "$ref": "Release" |
300 }, | 302 }, |
301 "scopes": [ | 303 "scopes": [ |
302 "https://www.googleapis.com/auth/cloud-platform"
, | 304 "https://www.googleapis.com/auth/cloud-platform"
, |
303 "https://www.googleapis.com/auth/firebase" | 305 "https://www.googleapis.com/auth/firebase", |
| 306 "https://www.googleapis.com/auth/firebase.readon
ly" |
304 ] | 307 ] |
305 }, | 308 }, |
306 "create": { | 309 "list": { |
307 "description": "Create a `Release`.\n\nRelease names
should reflect the developer's deployment practices. For\nexample, the release
name may include the environment name, application\nname, application version, o
r any other name meaningful to the developer.\nOnce a `Release` refers to a `Rul
eset`, the rules can be enforced by\nFirebase Rules-enabled services.\n\nMore th
an one `Release` may be 'live' concurrently. Consider the following\nthree `Rele
ase` names for `projects/foo` and the `Ruleset` to which they\nrefer.\n\nRelease
Name | Ruleset Name\n--------------------------------|------
-------\nprojects/foo/releases/prod | projects/foo/rulesets/uuid123\nprojec
ts/foo/releases/prod/beta | projects/foo/rulesets/uuid123\nprojects/foo/releases
/prod/v23 | projects/foo/rulesets/uuid456\n\nThe table reflects the `Ruleset` r
ollout in progress. The `prod` and\n`prod/beta` releases refer to the same `Rule
set`. However, `prod/v23`\nrefers to a new `Ruleset`. The `Ruleset` reference fo
r a `Release` may be\nupdated using the UpdateRelease method, and the custom `Re
lease` name\nmay be referenced by specifying the `X-Firebase-Rules-Release-Name`
header.", | 310 "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.", |
308 "httpMethod": "POST", | 311 "httpMethod": "GET", |
309 "id": "firebaserules.projects.releases.create", | 312 "id": "firebaserules.projects.releases.list", |
| 313 "parameterOrder": [ |
| 314 "name" |
| 315 ], |
| 316 "parameters": { |
| 317 "filter": { |
| 318 "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`", |
| 319 "location": "query", |
| 320 "type": "string" |
| 321 }, |
| 322 "name": { |
| 323 "description": "Resource name for the projec
t.\n\nFormat: `projects/{project_id}`", |
| 324 "location": "path", |
| 325 "pattern": "^projects/[^/]+$", |
| 326 "required": true, |
| 327 "type": "string" |
| 328 }, |
| 329 "pageToken": { |
| 330 "description": "Next page token for the next
batch of `Release` instances.", |
| 331 "location": "query", |
| 332 "type": "string" |
| 333 }, |
| 334 "pageSize": { |
| 335 "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.", |
| 336 "format": "int32", |
| 337 "location": "query", |
| 338 "type": "integer" |
| 339 } |
| 340 }, |
| 341 "path": "v1/{+name}/releases", |
| 342 "response": { |
| 343 "$ref": "ListReleasesResponse" |
| 344 }, |
| 345 "scopes": [ |
| 346 "https://www.googleapis.com/auth/cloud-platform"
, |
| 347 "https://www.googleapis.com/auth/firebase", |
| 348 "https://www.googleapis.com/auth/firebase.readon
ly" |
| 349 ] |
| 350 }, |
| 351 "update": { |
| 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.", |
| 353 "httpMethod": "PUT", |
| 354 "id": "firebaserules.projects.releases.update", |
310 "parameterOrder": [ | 355 "parameterOrder": [ |
311 "name" | 356 "name" |
312 ], | 357 ], |
313 "parameters": { | 358 "parameters": { |
314 "name": { | 359 "name": { |
315 "description": "Resource name for the projec
t which owns this `Release`.\n\nFormat: `projects/{project_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}`", |
316 "location": "path", | |
317 "pattern": "^projects/[^/]+$", | |
318 "required": true, | |
319 "type": "string" | |
320 } | |
321 }, | |
322 "path": "v1/{+name}/releases", | |
323 "request": { | |
324 "$ref": "Release" | |
325 }, | |
326 "response": { | |
327 "$ref": "Release" | |
328 }, | |
329 "scopes": [ | |
330 "https://www.googleapis.com/auth/cloud-platform"
, | |
331 "https://www.googleapis.com/auth/firebase" | |
332 ] | |
333 }, | |
334 "delete": { | |
335 "description": "Delete a `Release` by resource name.
", | |
336 "httpMethod": "DELETE", | |
337 "id": "firebaserules.projects.releases.delete", | |
338 "parameterOrder": [ | |
339 "name" | |
340 ], | |
341 "parameters": { | |
342 "name": { | |
343 "description": "Resource name for the `Relea
se` to delete.\n\nFormat: `projects/{project_id}/releases/{release_id}`", | |
344 "location": "path", | 361 "location": "path", |
345 "pattern": "^projects/[^/]+/releases/.+$", | 362 "pattern": "^projects/[^/]+/releases/.+$", |
346 "required": true, | 363 "required": true, |
347 "type": "string" | 364 "type": "string" |
348 } | 365 } |
349 }, | 366 }, |
350 "path": "v1/{+name}", | 367 "path": "v1/{+name}", |
| 368 "request": { |
| 369 "$ref": "Release" |
| 370 }, |
| 371 "response": { |
| 372 "$ref": "Release" |
| 373 }, |
| 374 "scopes": [ |
| 375 "https://www.googleapis.com/auth/cloud-platform"
, |
| 376 "https://www.googleapis.com/auth/firebase" |
| 377 ] |
| 378 }, |
| 379 "create": { |
| 380 "description": "Create a `Release`.\n\nRelease names
should reflect the developer's deployment practices. For\nexample, the release
name may include the environment name, application\nname, application version, o
r any other name meaningful to the developer.\nOnce a `Release` refers to a `Rul
eset`, the rules can be enforced by\nFirebase Rules-enabled services.\n\nMore th
an one `Release` may be 'live' concurrently. Consider the following\nthree `Rele
ase` names for `projects/foo` and the `Ruleset` to which they\nrefer.\n\nRelease
Name | Ruleset Name\n--------------------------------|------
-------\nprojects/foo/releases/prod | projects/foo/rulesets/uuid123\nprojec
ts/foo/releases/prod/beta | projects/foo/rulesets/uuid123\nprojects/foo/releases
/prod/v23 | projects/foo/rulesets/uuid456\n\nThe table reflects the `Ruleset` r
ollout in progress. The `prod` and\n`prod/beta` releases refer to the same `Rule
set`. However, `prod/v23`\nrefers to a new `Ruleset`. The `Ruleset` reference fo
r a `Release` may be\nupdated using the UpdateRelease method.", |
| 381 "httpMethod": "POST", |
| 382 "id": "firebaserules.projects.releases.create", |
| 383 "parameterOrder": [ |
| 384 "name" |
| 385 ], |
| 386 "parameters": { |
| 387 "name": { |
| 388 "description": "Resource name for the projec
t which owns this `Release`.\n\nFormat: `projects/{project_id}`", |
| 389 "location": "path", |
| 390 "pattern": "^projects/[^/]+$", |
| 391 "required": true, |
| 392 "type": "string" |
| 393 } |
| 394 }, |
| 395 "path": "v1/{+name}/releases", |
| 396 "request": { |
| 397 "$ref": "Release" |
| 398 }, |
| 399 "response": { |
| 400 "$ref": "Release" |
| 401 }, |
| 402 "scopes": [ |
| 403 "https://www.googleapis.com/auth/cloud-platform"
, |
| 404 "https://www.googleapis.com/auth/firebase" |
| 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}", |
351 "response": { | 424 "response": { |
352 "$ref": "Empty" | 425 "$ref": "Empty" |
353 }, | 426 }, |
354 "scopes": [ | 427 "scopes": [ |
355 "https://www.googleapis.com/auth/cloud-platform"
, | 428 "https://www.googleapis.com/auth/cloud-platform"
, |
356 "https://www.googleapis.com/auth/firebase" | 429 "https://www.googleapis.com/auth/firebase" |
357 ] | 430 ] |
358 }, | |
359 "get": { | |
360 "description": "Get a `Release` by name.", | |
361 "httpMethod": "GET", | |
362 "id": "firebaserules.projects.releases.get", | |
363 "parameterOrder": [ | |
364 "name" | |
365 ], | |
366 "parameters": { | |
367 "name": { | |
368 "description": "Resource name of the `Releas
e`.\n\n\nFormat: `projects/{project_id}/releases/{release_id}`", | |
369 "location": "path", | |
370 "pattern": "^projects/[^/]+/releases/.+$", | |
371 "required": true, | |
372 "type": "string" | |
373 } | |
374 }, | |
375 "path": "v1/{+name}", | |
376 "response": { | |
377 "$ref": "Release" | |
378 }, | |
379 "scopes": [ | |
380 "https://www.googleapis.com/auth/cloud-platform"
, | |
381 "https://www.googleapis.com/auth/firebase", | |
382 "https://www.googleapis.com/auth/firebase.readon
ly" | |
383 ] | |
384 }, | |
385 "list": { | |
386 "description": "List the `Release` values for a proj
ect. This list may optionally be\nfiltered by `Release` name or `Ruleset` id or
both.", | |
387 "httpMethod": "GET", | |
388 "id": "firebaserules.projects.releases.list", | |
389 "parameterOrder": [ | |
390 "name" | |
391 ], | |
392 "parameters": { | |
393 "filter": { | |
394 "description": "`Release` filter. The list m
ethod supports filters with restrictions on the\n`Release` `name` and also on th
e `Ruleset` `ruleset_name`.\n\nExample 1) A filter of 'name=prod*' might return
`Release`s with names\nwithin 'projects/foo' prefixed with 'prod':\n\nName
| Ruleset Name\n------------------------------|-------------
\nprojects/foo/releases/prod | projects/foo/rulesets/uuid1234\nprojects/foo/r
eleases/prod/v1 | projects/foo/rulesets/uuid1234\nprojects/foo/releases/prod/v2
| projects/foo/rulesets/uuid8888\n\nExample 2) A filter of `name=prod* ruleset_n
ame=uuid1234` would return only\n`Release` instances for 'projects/foo' with nam
es prefixed with 'prod'\nreferring to the same `Ruleset` name of 'uuid1234':\n\n
Name | Ruleset Name\n------------------------------|---
----------\nprojects/foo/releases/prod | projects/foo/rulesets/1234\nprojects
/foo/releases/prod/v1 | projects/foo/rulesets/1234\n\nIn the examples, the filte
r parameters refer to the search filters for\nrelease and ruleset names are rela
tive to the project releases and rulesets\ncollections. Fully qualified prefixed
may also be used. e.g.\n`name=projects/foo/releases/prod* ruleset_name=projects
/foo/rulesets/uuid1`", | |
395 "location": "query", | |
396 "type": "string" | |
397 }, | |
398 "name": { | |
399 "description": "Resource name for the projec
t.\n\nFormat: `projects/{project_id}`", | |
400 "location": "path", | |
401 "pattern": "^projects/[^/]+$", | |
402 "required": true, | |
403 "type": "string" | |
404 }, | |
405 "pageToken": { | |
406 "description": "Next page token for the next
batch of `Release` instances.", | |
407 "location": "query", | |
408 "type": "string" | |
409 }, | |
410 "pageSize": { | |
411 "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.", | |
412 "format": "int32", | |
413 "location": "query", | |
414 "type": "integer" | |
415 } | |
416 }, | |
417 "path": "v1/{+name}/releases", | |
418 "response": { | |
419 "$ref": "ListReleasesResponse" | |
420 }, | |
421 "scopes": [ | |
422 "https://www.googleapis.com/auth/cloud-platform"
, | |
423 "https://www.googleapis.com/auth/firebase", | |
424 "https://www.googleapis.com/auth/firebase.readon
ly" | |
425 ] | |
426 } | 431 } |
427 } | 432 } |
428 } | 433 } |
429 } | 434 } |
430 } | 435 } |
431 }, | 436 }, |
432 "revision": "20170210", | 437 "revision": "20170314", |
433 "rootUrl": "https://firebaserules.googleapis.com/", | 438 "rootUrl": "https://firebaserules.googleapis.com/", |
434 "schemas": { | 439 "schemas": { |
435 "TestRulesetResponse": { | |
436 "description": "The response for FirebaseRulesService.TestRuleset.", | |
437 "id": "TestRulesetResponse", | |
438 "properties": { | |
439 "issues": { | |
440 "description": "Syntactic and semantic `Source` issues of va
rying severity. Issues of\n`ERROR` severity will prevent tests from executing.", | |
441 "items": { | |
442 "$ref": "Issue" | |
443 }, | |
444 "type": "array" | |
445 } | |
446 }, | |
447 "type": "object" | |
448 }, | |
449 "ListRulesetsResponse": { | |
450 "description": "The response for FirebaseRulesService.ListRulesets", | |
451 "id": "ListRulesetsResponse", | |
452 "properties": { | |
453 "rulesets": { | |
454 "description": "List of `Ruleset` instances.", | |
455 "items": { | |
456 "$ref": "Ruleset" | |
457 }, | |
458 "type": "array" | |
459 }, | |
460 "nextPageToken": { | |
461 "description": "The pagination token to retrieve the next pa
ge of results. If the value is\nempty, no further results remain.", | |
462 "type": "string" | |
463 } | |
464 }, | |
465 "type": "object" | |
466 }, | |
467 "Source": { | 440 "Source": { |
468 "description": "`Source` is one or more `File` messages comprising a
logical set of rules.", | 441 "description": "`Source` is one or more `File` messages comprising a
logical set of rules.", |
469 "id": "Source", | 442 "id": "Source", |
470 "properties": { | 443 "properties": { |
471 "files": { | 444 "files": { |
472 "description": "`File` set constituting the `Source` bundle.
", | 445 "description": "`File` set constituting the `Source` bundle.
", |
473 "items": { | 446 "items": { |
474 "$ref": "File" | 447 "$ref": "File" |
475 }, | 448 }, |
476 "type": "array" | 449 "type": "array" |
477 } | 450 } |
478 }, | 451 }, |
479 "type": "object" | 452 "type": "object" |
480 }, | 453 }, |
481 "SourcePosition": { | 454 "SourcePosition": { |
482 "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.", | 455 "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.", |
483 "id": "SourcePosition", | 456 "id": "SourcePosition", |
484 "properties": { | 457 "properties": { |
| 458 "line": { |
| 459 "description": "Line number of the source fragment. 1-based.
", |
| 460 "format": "int32", |
| 461 "type": "integer" |
| 462 }, |
485 "column": { | 463 "column": { |
486 "description": "First column on the source line associated w
ith the source fragment.", | 464 "description": "First column on the source line associated w
ith the source fragment.", |
487 "format": "int32", | 465 "format": "int32", |
488 "type": "integer" | 466 "type": "integer" |
489 }, | 467 }, |
490 "fileName": { | 468 "fileName": { |
491 "description": "Name of the `File`.", | 469 "description": "Name of the `File`.", |
492 "type": "string" | 470 "type": "string" |
493 }, | |
494 "line": { | |
495 "description": "Line number of the source fragment. 1-based.
", | |
496 "format": "int32", | |
497 "type": "integer" | |
498 } | 471 } |
499 }, | 472 }, |
500 "type": "object" | 473 "type": "object" |
| 474 }, |
| 475 "TestRulesetRequest": { |
| 476 "description": "The request for FirebaseRulesService.TestRuleset.", |
| 477 "id": "TestRulesetRequest", |
| 478 "properties": { |
| 479 "source": { |
| 480 "$ref": "Source", |
| 481 "description": "Optional `Source` to be checked for correctn
ess.\n\nThis field must not be set when the resource name refers to a `Ruleset`.
" |
| 482 } |
| 483 }, |
| 484 "type": "object" |
501 }, | 485 }, |
502 "Issue": { | 486 "Issue": { |
503 "description": "Issues include warnings, errors, and deprecation not
ices.", | 487 "description": "Issues include warnings, errors, and deprecation not
ices.", |
504 "id": "Issue", | 488 "id": "Issue", |
505 "properties": { | 489 "properties": { |
506 "sourcePosition": { | 490 "sourcePosition": { |
507 "$ref": "SourcePosition", | 491 "$ref": "SourcePosition", |
508 "description": "Position of the issue in the `Source`." | 492 "description": "Position of the issue in the `Source`." |
509 }, | 493 }, |
510 "severity": { | 494 "severity": { |
(...skipping 12 matching lines...) Expand all Loading... |
523 ], | 507 ], |
524 "type": "string" | 508 "type": "string" |
525 }, | 509 }, |
526 "description": { | 510 "description": { |
527 "description": "Short error description.", | 511 "description": "Short error description.", |
528 "type": "string" | 512 "type": "string" |
529 } | 513 } |
530 }, | 514 }, |
531 "type": "object" | 515 "type": "object" |
532 }, | 516 }, |
533 "TestRulesetRequest": { | |
534 "description": "The request for FirebaseRulesService.TestRuleset.", | |
535 "id": "TestRulesetRequest", | |
536 "properties": { | |
537 "source": { | |
538 "$ref": "Source", | |
539 "description": "`Source` to be checked for correctness." | |
540 } | |
541 }, | |
542 "type": "object" | |
543 }, | |
544 "Ruleset": { | 517 "Ruleset": { |
545 "description": "`Ruleset` is an immutable copy of `Source` with a gl
obally unique identifier\nand a creation time.", | 518 "description": "`Ruleset` is an immutable copy of `Source` with a gl
obally unique identifier\nand a creation time.", |
546 "id": "Ruleset", | 519 "id": "Ruleset", |
547 "properties": { | 520 "properties": { |
548 "name": { | 521 "name": { |
549 "description": "Name of the `Ruleset`. The ruleset_id is aut
o generated by the service.\nFormat: `projects/{project_id}/rulesets/{ruleset_id
}`\n@OutputOnly", | 522 "description": "Name of the `Ruleset`. The ruleset_id is aut
o generated by the service.\nFormat: `projects/{project_id}/rulesets/{ruleset_id
}`\nOutput only.", |
550 "type": "string" | 523 "type": "string" |
551 }, | 524 }, |
552 "source": { | 525 "source": { |
553 "$ref": "Source", | 526 "$ref": "Source", |
554 "description": "`Source` for the `Ruleset`." | 527 "description": "`Source` for the `Ruleset`." |
555 }, | 528 }, |
556 "createTime": { | 529 "createTime": { |
557 "description": "Time the `Ruleset` was created.\n@OutputOnly
", | 530 "description": "Time the `Ruleset` was created.\nOutput only
.", |
558 "format": "google-datetime", | 531 "format": "google-datetime", |
559 "type": "string" | 532 "type": "string" |
560 } | 533 } |
561 }, | 534 }, |
562 "type": "object" | 535 "type": "object" |
563 }, | 536 }, |
564 "Empty": { | |
565 "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 `{}`.", | |
566 "id": "Empty", | |
567 "properties": {}, | |
568 "type": "object" | |
569 }, | |
570 "ListReleasesResponse": { | 537 "ListReleasesResponse": { |
571 "description": "The response for FirebaseRulesService.ListReleases."
, | 538 "description": "The response for FirebaseRulesService.ListReleases."
, |
572 "id": "ListReleasesResponse", | 539 "id": "ListReleasesResponse", |
573 "properties": { | 540 "properties": { |
574 "releases": { | 541 "releases": { |
575 "description": "List of `Release` instances.", | 542 "description": "List of `Release` instances.", |
576 "items": { | 543 "items": { |
577 "$ref": "Release" | 544 "$ref": "Release" |
578 }, | 545 }, |
579 "type": "array" | 546 "type": "array" |
(...skipping 18 matching lines...) Expand all Loading... |
598 "description": "File name.", | 565 "description": "File name.", |
599 "type": "string" | 566 "type": "string" |
600 }, | 567 }, |
601 "content": { | 568 "content": { |
602 "description": "Textual Content.", | 569 "description": "Textual Content.", |
603 "type": "string" | 570 "type": "string" |
604 } | 571 } |
605 }, | 572 }, |
606 "type": "object" | 573 "type": "object" |
607 }, | 574 }, |
| 575 "FunctionCall": { |
| 576 "description": "Represents a service-defined function call that was
invoked during test\nexecution.", |
| 577 "id": "FunctionCall", |
| 578 "properties": { |
| 579 "args": { |
| 580 "description": "The arguments that were provided to the func
tion.", |
| 581 "items": { |
| 582 "type": "any" |
| 583 }, |
| 584 "type": "array" |
| 585 }, |
| 586 "function": { |
| 587 "description": "Name of the function invoked.", |
| 588 "type": "string" |
| 589 } |
| 590 }, |
| 591 "type": "object" |
| 592 }, |
608 "Release": { | 593 "Release": { |
609 "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`.", | 594 "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`.", |
610 "id": "Release", | 595 "id": "Release", |
611 "properties": { | 596 "properties": { |
612 "createTime": { | 597 "createTime": { |
613 "description": "Time the release was created.\n@OutputOnly", | 598 "description": "Time the release was created.\nOutput only."
, |
614 "format": "google-datetime", | 599 "format": "google-datetime", |
615 "type": "string" | 600 "type": "string" |
616 }, | 601 }, |
617 "updateTime": { | 602 "updateTime": { |
618 "description": "Time the release was updated.\n@OutputOnly", | 603 "description": "Time the release was updated.\nOutput only."
, |
619 "format": "google-datetime", | 604 "format": "google-datetime", |
620 "type": "string" | 605 "type": "string" |
621 }, | 606 }, |
622 "name": { | 607 "name": { |
623 "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}`", | 608 "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}`", |
624 "type": "string" | 609 "type": "string" |
625 }, | 610 }, |
626 "rulesetName": { | 611 "rulesetName": { |
627 "description": "Name of the `Ruleset` referred to by this `R
elease`. The `Ruleset` must\nexist the `Release` to be created.", | 612 "description": "Name of the `Ruleset` referred to by this `R
elease`. The `Ruleset` must\nexist the `Release` to be created.", |
628 "type": "string" | 613 "type": "string" |
629 } | 614 } |
630 }, | 615 }, |
631 "type": "object" | 616 "type": "object" |
| 617 }, |
| 618 "TestRulesetResponse": { |
| 619 "description": "The response for FirebaseRulesService.TestRuleset.", |
| 620 "id": "TestRulesetResponse", |
| 621 "properties": { |
| 622 "testResults": { |
| 623 "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`.", |
| 624 "items": { |
| 625 "$ref": "TestResult" |
| 626 }, |
| 627 "type": "array" |
| 628 }, |
| 629 "issues": { |
| 630 "description": "Syntactic and semantic `Source` issues of va
rying severity. Issues of\n`ERROR` severity will prevent tests from executing.", |
| 631 "items": { |
| 632 "$ref": "Issue" |
| 633 }, |
| 634 "type": "array" |
| 635 } |
| 636 }, |
| 637 "type": "object" |
| 638 }, |
| 639 "ListRulesetsResponse": { |
| 640 "description": "The response for FirebaseRulesService.ListRulesets."
, |
| 641 "id": "ListRulesetsResponse", |
| 642 "properties": { |
| 643 "rulesets": { |
| 644 "description": "List of `Ruleset` instances.", |
| 645 "items": { |
| 646 "$ref": "Ruleset" |
| 647 }, |
| 648 "type": "array" |
| 649 }, |
| 650 "nextPageToken": { |
| 651 "description": "The pagination token to retrieve the next pa
ge of results. If the value is\nempty, no further results remain.", |
| 652 "type": "string" |
| 653 } |
| 654 }, |
| 655 "type": "object" |
| 656 }, |
| 657 "TestResult": { |
| 658 "description": "Test result message containing the state of the test
as well as a\ndescription and source position for test failures.", |
| 659 "id": "TestResult", |
| 660 "properties": { |
| 661 "errorPosition": { |
| 662 "$ref": "SourcePosition", |
| 663 "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 }`" |
| 664 }, |
| 665 "functionCalls": { |
| 666 "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`.", |
| 667 "items": { |
| 668 "$ref": "FunctionCall" |
| 669 }, |
| 670 "type": "array" |
| 671 }, |
| 672 "state": { |
| 673 "description": "State of the test.", |
| 674 "enum": [ |
| 675 "STATE_UNSPECIFIED", |
| 676 "SUCCESS", |
| 677 "FAILURE" |
| 678 ], |
| 679 "enumDescriptions": [ |
| 680 "Test state is not set.", |
| 681 "Test is a success.", |
| 682 "Test is a failure." |
| 683 ], |
| 684 "type": "string" |
| 685 }, |
| 686 "debugMessages": { |
| 687 "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\"]```
", |
| 688 "items": { |
| 689 "type": "string" |
| 690 }, |
| 691 "type": "array" |
| 692 } |
| 693 }, |
| 694 "type": "object" |
| 695 }, |
| 696 "Empty": { |
| 697 "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 `{}`.", |
| 698 "id": "Empty", |
| 699 "properties": {}, |
| 700 "type": "object" |
632 } | 701 } |
633 }, | 702 }, |
634 "servicePath": "", | 703 "servicePath": "", |
635 "title": "Firebase Rules API", | 704 "title": "Firebase Rules API", |
636 "version": "v1" | 705 "version": "v1" |
637 } | 706 } |
OLD | NEW |