• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5  margin: 0;
6  padding: 0;
7  border: 0;
8  font-weight: inherit;
9  font-style: inherit;
10  font-size: 100%;
11  font-family: inherit;
12  vertical-align: baseline;
13}
14
15body {
16  font-size: 13px;
17  padding: 1em;
18}
19
20h1 {
21  font-size: 26px;
22  margin-bottom: 1em;
23}
24
25h2 {
26  font-size: 24px;
27  margin-bottom: 1em;
28}
29
30h3 {
31  font-size: 20px;
32  margin-bottom: 1em;
33  margin-top: 1em;
34}
35
36pre, code {
37  line-height: 1.5;
38  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42  margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46  font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50  border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54  margin-top: 0.5em;
55}
56
57.firstline {
58  margin-left: 2 em;
59}
60
61.method  {
62  margin-top: 1em;
63  border: solid 1px #CCC;
64  padding: 1em;
65  background: #EEE;
66}
67
68.details {
69  font-weight: bold;
70  font-size: 14px;
71}
72
73</style>
74
75<h1><a href="firebaserules_v1.html">Firebase Rules API</a> . <a href="firebaserules_v1.projects.html">projects</a> . <a href="firebaserules_v1.projects.releases.html">releases</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78  <code><a href="#create">create(name, body, x__xgafv=None)</a></code></p>
79<p class="firstline">Create a `Release`.</p>
80<p class="toc_element">
81  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
82<p class="firstline">Delete a `Release` by resource name.</p>
83<p class="toc_element">
84  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
85<p class="firstline">Get a `Release` by name.</p>
86<p class="toc_element">
87  <code><a href="#list">list(name, pageSize=None, filter=None, pageToken=None, x__xgafv=None)</a></code></p>
88<p class="firstline">List the `Release` values for a project. This list may optionally be</p>
89<p class="toc_element">
90  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
91<p class="firstline">Retrieves the next page of results.</p>
92<p class="toc_element">
93  <code><a href="#update">update(name, body, x__xgafv=None)</a></code></p>
94<p class="firstline">Update a `Release`.</p>
95<h3>Method Details</h3>
96<div class="method">
97    <code class="details" id="create">create(name, body, x__xgafv=None)</code>
98  <pre>Create a `Release`.
99
100Release names should reflect the developer's deployment practices. For
101example, the release name may include the environment name, application
102name, application version, or any other name meaningful to the developer.
103Once a `Release` refers to a `Ruleset`, the rules can be enforced by
104Firebase Rules-enabled services.
105
106More than one `Release` may be 'live' concurrently. Consider the following
107three `Release` names for `projects/foo` and the `Ruleset` to which they
108refer.
109
110Release Name                    | Ruleset Name
111--------------------------------|-------------
112projects/foo/releases/prod      | projects/foo/rulesets/uuid123
113projects/foo/releases/prod/beta | projects/foo/rulesets/uuid123
114projects/foo/releases/prod/v23  | projects/foo/rulesets/uuid456
115
116The table reflects the `Ruleset` rollout in progress. The `prod` and
117`prod/beta` releases refer to the same `Ruleset`. However, `prod/v23`
118refers to a new `Ruleset`. The `Ruleset` reference for a `Release` may be
119updated using the UpdateRelease method.
120
121Args:
122  name: string, Resource name for the project which owns this `Release`.
123
124Format: `projects/{project_id}` (required)
125  body: object, The request body. (required)
126    The object takes the form of:
127
128{ # `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a
129      # `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`.
130    "updateTime": "A String", # Time the release was updated.
131        # Output only.
132    "rulesetName": "A String", # Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must
133        # exist the `Release` to be created.
134    "createTime": "A String", # Time the release was created.
135        # Output only.
136    "name": "A String", # Resource name for the `Release`.
137        #
138        # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`
139        # which affords developers a great deal of flexibility in mapping the name
140        # to the style that best fits their existing development practices. For
141        # example, a name could refer to an environment, an app, a version, or some
142        # combination of three.
143        #
144        # In the table below, for the project name `projects/foo`, the following
145        # relative release paths show how flat and structured names might be chosen
146        # to match a desired development / deployment strategy.
147        #
148        # Use Case     | Flat Name           | Structured Name
149        # -------------|---------------------|----------------
150        # Environments | releases/qa         | releases/qa
151        # Apps         | releases/app1_qa    | releases/app1/qa
152        # Versions     | releases/app1_v2_qa | releases/app1/v2/qa
153        #
154        # The delimiter between the release name path elements can be almost anything
155        # and it should work equally well with the release name list filter, but in
156        # many ways the structured paths provide a clearer picture of the
157        # relationship between `Release` instances.
158        #
159        # Format: `projects/{project_id}/releases/{release_id}`
160  }
161
162  x__xgafv: string, V1 error format.
163    Allowed values
164      1 - v1 error format
165      2 - v2 error format
166
167Returns:
168  An object of the form:
169
170    { # `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a
171        # `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`.
172      "updateTime": "A String", # Time the release was updated.
173          # Output only.
174      "rulesetName": "A String", # Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must
175          # exist the `Release` to be created.
176      "createTime": "A String", # Time the release was created.
177          # Output only.
178      "name": "A String", # Resource name for the `Release`.
179          #
180          # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`
181          # which affords developers a great deal of flexibility in mapping the name
182          # to the style that best fits their existing development practices. For
183          # example, a name could refer to an environment, an app, a version, or some
184          # combination of three.
185          #
186          # In the table below, for the project name `projects/foo`, the following
187          # relative release paths show how flat and structured names might be chosen
188          # to match a desired development / deployment strategy.
189          #
190          # Use Case     | Flat Name           | Structured Name
191          # -------------|---------------------|----------------
192          # Environments | releases/qa         | releases/qa
193          # Apps         | releases/app1_qa    | releases/app1/qa
194          # Versions     | releases/app1_v2_qa | releases/app1/v2/qa
195          #
196          # The delimiter between the release name path elements can be almost anything
197          # and it should work equally well with the release name list filter, but in
198          # many ways the structured paths provide a clearer picture of the
199          # relationship between `Release` instances.
200          #
201          # Format: `projects/{project_id}/releases/{release_id}`
202    }</pre>
203</div>
204
205<div class="method">
206    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
207  <pre>Delete a `Release` by resource name.
208
209Args:
210  name: string, Resource name for the `Release` to delete.
211
212Format: `projects/{project_id}/releases/{release_id}` (required)
213  x__xgafv: string, V1 error format.
214    Allowed values
215      1 - v1 error format
216      2 - v2 error format
217
218Returns:
219  An object of the form:
220
221    { # A generic empty message that you can re-use to avoid defining duplicated
222      # empty messages in your APIs. A typical example is to use it as the request
223      # or the response type of an API method. For instance:
224      #
225      #     service Foo {
226      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
227      #     }
228      #
229      # The JSON representation for `Empty` is empty JSON object `{}`.
230  }</pre>
231</div>
232
233<div class="method">
234    <code class="details" id="get">get(name, x__xgafv=None)</code>
235  <pre>Get a `Release` by name.
236
237Args:
238  name: string, Resource name of the `Release`.
239
240Format: `projects/{project_id}/releases/{release_id}` (required)
241  x__xgafv: string, V1 error format.
242    Allowed values
243      1 - v1 error format
244      2 - v2 error format
245
246Returns:
247  An object of the form:
248
249    { # `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a
250        # `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`.
251      "updateTime": "A String", # Time the release was updated.
252          # Output only.
253      "rulesetName": "A String", # Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must
254          # exist the `Release` to be created.
255      "createTime": "A String", # Time the release was created.
256          # Output only.
257      "name": "A String", # Resource name for the `Release`.
258          #
259          # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`
260          # which affords developers a great deal of flexibility in mapping the name
261          # to the style that best fits their existing development practices. For
262          # example, a name could refer to an environment, an app, a version, or some
263          # combination of three.
264          #
265          # In the table below, for the project name `projects/foo`, the following
266          # relative release paths show how flat and structured names might be chosen
267          # to match a desired development / deployment strategy.
268          #
269          # Use Case     | Flat Name           | Structured Name
270          # -------------|---------------------|----------------
271          # Environments | releases/qa         | releases/qa
272          # Apps         | releases/app1_qa    | releases/app1/qa
273          # Versions     | releases/app1_v2_qa | releases/app1/v2/qa
274          #
275          # The delimiter between the release name path elements can be almost anything
276          # and it should work equally well with the release name list filter, but in
277          # many ways the structured paths provide a clearer picture of the
278          # relationship between `Release` instances.
279          #
280          # Format: `projects/{project_id}/releases/{release_id}`
281    }</pre>
282</div>
283
284<div class="method">
285    <code class="details" id="list">list(name, pageSize=None, filter=None, pageToken=None, x__xgafv=None)</code>
286  <pre>List the `Release` values for a project. This list may optionally be
287filtered by `Release` name, `Ruleset` name, `TestSuite` name, or any
288combination thereof.
289
290Args:
291  name: string, Resource name for the project.
292
293Format: `projects/{project_id}` (required)
294  pageSize: integer, Page size to load. Maximum of 100. Defaults to 10.
295Note: `page_size` is just a hint and the service may choose to load fewer
296than `page_size` results due to the size of the output. To traverse all of
297the releases, the caller should iterate until the `page_token` on the
298response is empty.
299  filter: string, `Release` filter. The list method supports filters with restrictions on the
300`Release.name`, `Release.ruleset_name`, and `Release.test_suite_name`.
301
302Example 1: A filter of 'name=prod*' might return `Release`s with names
303within 'projects/foo' prefixed with 'prod':
304
305Name                          | Ruleset Name
306------------------------------|-------------
307projects/foo/releases/prod    | projects/foo/rulesets/uuid1234
308projects/foo/releases/prod/v1 | projects/foo/rulesets/uuid1234
309projects/foo/releases/prod/v2 | projects/foo/rulesets/uuid8888
310
311Example 2: A filter of `name=prod* ruleset_name=uuid1234` would return only
312`Release` instances for 'projects/foo' with names prefixed with 'prod'
313referring to the same `Ruleset` name of 'uuid1234':
314
315Name                          | Ruleset Name
316------------------------------|-------------
317projects/foo/releases/prod    | projects/foo/rulesets/1234
318projects/foo/releases/prod/v1 | projects/foo/rulesets/1234
319
320In the examples, the filter parameters refer to the search filters are
321relative to the project. Fully qualified prefixed may also be used. e.g.
322`test_suite_name=projects/foo/testsuites/uuid1`
323  pageToken: string, Next page token for the next batch of `Release` instances.
324  x__xgafv: string, V1 error format.
325    Allowed values
326      1 - v1 error format
327      2 - v2 error format
328
329Returns:
330  An object of the form:
331
332    { # The response for FirebaseRulesService.ListReleases.
333    "nextPageToken": "A String", # The pagination token to retrieve the next page of results. If the value is
334        # empty, no further results remain.
335    "releases": [ # List of `Release` instances.
336      { # `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a
337            # `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`.
338          "updateTime": "A String", # Time the release was updated.
339              # Output only.
340          "rulesetName": "A String", # Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must
341              # exist the `Release` to be created.
342          "createTime": "A String", # Time the release was created.
343              # Output only.
344          "name": "A String", # Resource name for the `Release`.
345              #
346              # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`
347              # which affords developers a great deal of flexibility in mapping the name
348              # to the style that best fits their existing development practices. For
349              # example, a name could refer to an environment, an app, a version, or some
350              # combination of three.
351              #
352              # In the table below, for the project name `projects/foo`, the following
353              # relative release paths show how flat and structured names might be chosen
354              # to match a desired development / deployment strategy.
355              #
356              # Use Case     | Flat Name           | Structured Name
357              # -------------|---------------------|----------------
358              # Environments | releases/qa         | releases/qa
359              # Apps         | releases/app1_qa    | releases/app1/qa
360              # Versions     | releases/app1_v2_qa | releases/app1/v2/qa
361              #
362              # The delimiter between the release name path elements can be almost anything
363              # and it should work equally well with the release name list filter, but in
364              # many ways the structured paths provide a clearer picture of the
365              # relationship between `Release` instances.
366              #
367              # Format: `projects/{project_id}/releases/{release_id}`
368        },
369    ],
370  }</pre>
371</div>
372
373<div class="method">
374    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
375  <pre>Retrieves the next page of results.
376
377Args:
378  previous_request: The request for the previous page. (required)
379  previous_response: The response from the request for the previous page. (required)
380
381Returns:
382  A request object that you can call 'execute()' on to request the next
383  page. Returns None if there are no more items in the collection.
384    </pre>
385</div>
386
387<div class="method">
388    <code class="details" id="update">update(name, body, x__xgafv=None)</code>
389  <pre>Update a `Release`.
390
391Only updates to the `ruleset_name` and `test_suite_name` fields will be
392honored. `Release` rename is not supported. To create a `Release` use the
393CreateRelease method.
394
395Args:
396  name: string, Resource name for the `Release`.
397
398`Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`
399which affords developers a great deal of flexibility in mapping the name
400to the style that best fits their existing development practices. For
401example, a name could refer to an environment, an app, a version, or some
402combination of three.
403
404In the table below, for the project name `projects/foo`, the following
405relative release paths show how flat and structured names might be chosen
406to match a desired development / deployment strategy.
407
408Use Case     | Flat Name           | Structured Name
409-------------|---------------------|----------------
410Environments | releases/qa         | releases/qa
411Apps         | releases/app1_qa    | releases/app1/qa
412Versions     | releases/app1_v2_qa | releases/app1/v2/qa
413
414The delimiter between the release name path elements can be almost anything
415and it should work equally well with the release name list filter, but in
416many ways the structured paths provide a clearer picture of the
417relationship between `Release` instances.
418
419Format: `projects/{project_id}/releases/{release_id}` (required)
420  body: object, The request body. (required)
421    The object takes the form of:
422
423{ # `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a
424      # `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`.
425    "updateTime": "A String", # Time the release was updated.
426        # Output only.
427    "rulesetName": "A String", # Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must
428        # exist the `Release` to be created.
429    "createTime": "A String", # Time the release was created.
430        # Output only.
431    "name": "A String", # Resource name for the `Release`.
432        #
433        # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`
434        # which affords developers a great deal of flexibility in mapping the name
435        # to the style that best fits their existing development practices. For
436        # example, a name could refer to an environment, an app, a version, or some
437        # combination of three.
438        #
439        # In the table below, for the project name `projects/foo`, the following
440        # relative release paths show how flat and structured names might be chosen
441        # to match a desired development / deployment strategy.
442        #
443        # Use Case     | Flat Name           | Structured Name
444        # -------------|---------------------|----------------
445        # Environments | releases/qa         | releases/qa
446        # Apps         | releases/app1_qa    | releases/app1/qa
447        # Versions     | releases/app1_v2_qa | releases/app1/v2/qa
448        #
449        # The delimiter between the release name path elements can be almost anything
450        # and it should work equally well with the release name list filter, but in
451        # many ways the structured paths provide a clearer picture of the
452        # relationship between `Release` instances.
453        #
454        # Format: `projects/{project_id}/releases/{release_id}`
455  }
456
457  x__xgafv: string, V1 error format.
458    Allowed values
459      1 - v1 error format
460      2 - v2 error format
461
462Returns:
463  An object of the form:
464
465    { # `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a
466        # `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`.
467      "updateTime": "A String", # Time the release was updated.
468          # Output only.
469      "rulesetName": "A String", # Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must
470          # exist the `Release` to be created.
471      "createTime": "A String", # Time the release was created.
472          # Output only.
473      "name": "A String", # Resource name for the `Release`.
474          #
475          # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`
476          # which affords developers a great deal of flexibility in mapping the name
477          # to the style that best fits their existing development practices. For
478          # example, a name could refer to an environment, an app, a version, or some
479          # combination of three.
480          #
481          # In the table below, for the project name `projects/foo`, the following
482          # relative release paths show how flat and structured names might be chosen
483          # to match a desired development / deployment strategy.
484          #
485          # Use Case     | Flat Name           | Structured Name
486          # -------------|---------------------|----------------
487          # Environments | releases/qa         | releases/qa
488          # Apps         | releases/app1_qa    | releases/app1/qa
489          # Versions     | releases/app1_v2_qa | releases/app1/v2/qa
490          #
491          # The delimiter between the release name path elements can be almost anything
492          # and it should work equally well with the release name list filter, but in
493          # many ways the structured paths provide a clearer picture of the
494          # relationship between `Release` instances.
495          #
496          # Format: `projects/{project_id}/releases/{release_id}`
497    }</pre>
498</div>
499
500</body></html>