| <html><body> | |
| <style> | |
| body, h1, h2, h3, div, span, p, pre, a { | |
| margin: 0; | |
| padding: 0; | |
| border: 0; | |
| font-weight: inherit; | |
| font-style: inherit; | |
| font-size: 100%; | |
| font-family: inherit; | |
| vertical-align: baseline; | |
| } | |
| body { | |
| font-size: 13px; | |
| padding: 1em; | |
| } | |
| h1 { | |
| font-size: 26px; | |
| margin-bottom: 1em; | |
| } | |
| h2 { | |
| font-size: 24px; | |
| margin-bottom: 1em; | |
| } | |
| h3 { | |
| font-size: 20px; | |
| margin-bottom: 1em; | |
| margin-top: 1em; | |
| } | |
| pre, code { | |
| line-height: 1.5; | |
| font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; | |
| } | |
| pre { | |
| margin-top: 0.5em; | |
| } | |
| h1, h2, h3, p { | |
| font-family: Arial, sans serif; | |
| } | |
| h1, h2, h3 { | |
| border-bottom: solid #CCC 1px; | |
| } | |
| .toc_element { | |
| margin-top: 0.5em; | |
| } | |
| .firstline { | |
| margin-left: 2 em; | |
| } | |
| .method { | |
| margin-top: 1em; | |
| border: solid 1px #CCC; | |
| padding: 1em; | |
| background: #EEE; | |
| } | |
| .details { | |
| font-weight: bold; | |
| font-size: 14px; | |
| } | |
| </style> | |
| <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> | |
| <h2>Instance Methods</h2> | |
| <p class="toc_element"> | |
| <code><a href="#create">create(name, body, x__xgafv=None)</a></code></p> | |
| <p class="firstline">Create a `Release`.</p> | |
| <p class="toc_element"> | |
| <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p> | |
| <p class="firstline">Delete a `Release` by resource name.</p> | |
| <p class="toc_element"> | |
| <code><a href="#get">get(name, x__xgafv=None)</a></code></p> | |
| <p class="firstline">Get a `Release` by name.</p> | |
| <p class="toc_element"> | |
| <code><a href="#getExecutable">getExecutable(name, executableVersion=None, x__xgafv=None)</a></code></p> | |
| <p class="firstline">Get the `Release` executable to use when enforcing rules.</p> | |
| <p class="toc_element"> | |
| <code><a href="#list">list(name, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</a></code></p> | |
| <p class="firstline">List the `Release` values for a project. This list may optionally be</p> | |
| <p class="toc_element"> | |
| <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p> | |
| <p class="firstline">Retrieves the next page of results.</p> | |
| <p class="toc_element"> | |
| <code><a href="#patch">patch(name, body, x__xgafv=None)</a></code></p> | |
| <p class="firstline">Update a `Release` via PATCH.</p> | |
| <h3>Method Details</h3> | |
| <div class="method"> | |
| <code class="details" id="create">create(name, body, x__xgafv=None)</code> | |
| <pre>Create a `Release`. | |
| Release names should reflect the developer's deployment practices. For | |
| example, the release name may include the environment name, application | |
| name, application version, or any other name meaningful to the developer. | |
| Once a `Release` refers to a `Ruleset`, the rules can be enforced by | |
| Firebase Rules-enabled services. | |
| More than one `Release` may be 'live' concurrently. Consider the following | |
| three `Release` names for `projects/foo` and the `Ruleset` to which they | |
| refer. | |
| Release Name | Ruleset Name | |
| --------------------------------|------------- | |
| projects/foo/releases/prod | projects/foo/rulesets/uuid123 | |
| projects/foo/releases/prod/beta | projects/foo/rulesets/uuid123 | |
| projects/foo/releases/prod/v23 | projects/foo/rulesets/uuid456 | |
| The table reflects the `Ruleset` rollout in progress. The `prod` and | |
| `prod/beta` releases refer to the same `Ruleset`. However, `prod/v23` | |
| refers to a new `Ruleset`. The `Ruleset` reference for a `Release` may be | |
| updated using the UpdateRelease method. | |
| Args: | |
| name: string, Resource name for the project which owns this `Release`. | |
| Format: `projects/{project_id}` (required) | |
| body: object, The request body. (required) | |
| The object takes the form of: | |
| { # `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a | |
| # `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`. | |
| "updateTime": "A String", # Time the release was updated. | |
| # Output only. | |
| "rulesetName": "A String", # Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must | |
| # exist the `Release` to be created. | |
| "name": "A String", # Resource name for the `Release`. | |
| # | |
| # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2` | |
| # which affords developers a great deal of flexibility in mapping the name | |
| # to the style that best fits their existing development practices. For | |
| # example, a name could refer to an environment, an app, a version, or some | |
| # combination of three. | |
| # | |
| # In the table below, for the project name `projects/foo`, the following | |
| # relative release paths show how flat and structured names might be chosen | |
| # to match a desired development / deployment strategy. | |
| # | |
| # Use Case | Flat Name | Structured Name | |
| # -------------|---------------------|---------------- | |
| # Environments | releases/qa | releases/qa | |
| # Apps | releases/app1_qa | releases/app1/qa | |
| # Versions | releases/app1_v2_qa | releases/app1/v2/qa | |
| # | |
| # The delimiter between the release name path elements can be almost anything | |
| # and it should work equally well with the release name list filter, but in | |
| # many ways the structured paths provide a clearer picture of the | |
| # relationship between `Release` instances. | |
| # | |
| # Format: `projects/{project_id}/releases/{release_id}` | |
| "createTime": "A String", # Time the release was created. | |
| # Output only. | |
| } | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { # `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a | |
| # `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`. | |
| "updateTime": "A String", # Time the release was updated. | |
| # Output only. | |
| "rulesetName": "A String", # Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must | |
| # exist the `Release` to be created. | |
| "name": "A String", # Resource name for the `Release`. | |
| # | |
| # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2` | |
| # which affords developers a great deal of flexibility in mapping the name | |
| # to the style that best fits their existing development practices. For | |
| # example, a name could refer to an environment, an app, a version, or some | |
| # combination of three. | |
| # | |
| # In the table below, for the project name `projects/foo`, the following | |
| # relative release paths show how flat and structured names might be chosen | |
| # to match a desired development / deployment strategy. | |
| # | |
| # Use Case | Flat Name | Structured Name | |
| # -------------|---------------------|---------------- | |
| # Environments | releases/qa | releases/qa | |
| # Apps | releases/app1_qa | releases/app1/qa | |
| # Versions | releases/app1_v2_qa | releases/app1/v2/qa | |
| # | |
| # The delimiter between the release name path elements can be almost anything | |
| # and it should work equally well with the release name list filter, but in | |
| # many ways the structured paths provide a clearer picture of the | |
| # relationship between `Release` instances. | |
| # | |
| # Format: `projects/{project_id}/releases/{release_id}` | |
| "createTime": "A String", # Time the release was created. | |
| # Output only. | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="delete">delete(name, x__xgafv=None)</code> | |
| <pre>Delete a `Release` by resource name. | |
| Args: | |
| name: string, Resource name for the `Release` to delete. | |
| Format: `projects/{project_id}/releases/{release_id}` (required) | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { # A generic empty message that you can re-use to avoid defining duplicated | |
| # empty messages in your APIs. A typical example is to use it as the request | |
| # or the response type of an API method. For instance: | |
| # | |
| # service Foo { | |
| # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); | |
| # } | |
| # | |
| # The JSON representation for `Empty` is empty JSON object `{}`. | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="get">get(name, x__xgafv=None)</code> | |
| <pre>Get a `Release` by name. | |
| Args: | |
| name: string, Resource name of the `Release`. | |
| Format: `projects/{project_id}/releases/{release_id}` (required) | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { # `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a | |
| # `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`. | |
| "updateTime": "A String", # Time the release was updated. | |
| # Output only. | |
| "rulesetName": "A String", # Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must | |
| # exist the `Release` to be created. | |
| "name": "A String", # Resource name for the `Release`. | |
| # | |
| # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2` | |
| # which affords developers a great deal of flexibility in mapping the name | |
| # to the style that best fits their existing development practices. For | |
| # example, a name could refer to an environment, an app, a version, or some | |
| # combination of three. | |
| # | |
| # In the table below, for the project name `projects/foo`, the following | |
| # relative release paths show how flat and structured names might be chosen | |
| # to match a desired development / deployment strategy. | |
| # | |
| # Use Case | Flat Name | Structured Name | |
| # -------------|---------------------|---------------- | |
| # Environments | releases/qa | releases/qa | |
| # Apps | releases/app1_qa | releases/app1/qa | |
| # Versions | releases/app1_v2_qa | releases/app1/v2/qa | |
| # | |
| # The delimiter between the release name path elements can be almost anything | |
| # and it should work equally well with the release name list filter, but in | |
| # many ways the structured paths provide a clearer picture of the | |
| # relationship between `Release` instances. | |
| # | |
| # Format: `projects/{project_id}/releases/{release_id}` | |
| "createTime": "A String", # Time the release was created. | |
| # Output only. | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="getExecutable">getExecutable(name, executableVersion=None, x__xgafv=None)</code> | |
| <pre>Get the `Release` executable to use when enforcing rules. | |
| Args: | |
| name: string, Resource name of the `Release`. | |
| Format: `projects/{project_id}/releases/{release_id}` (required) | |
| executableVersion: string, The requested runtime executable version. | |
| Defaults to FIREBASE_RULES_EXECUTABLE_V1. | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { # The response for FirebaseRulesService.GetReleaseExecutable | |
| "executable": "A String", # Executable view of the `Ruleset` referenced by the `Release`. | |
| "language": "A String", # `Language` used to generate the executable bytes. | |
| "rulesetName": "A String", # `Ruleset` name associated with the `Release` executable. | |
| "updateTime": "A String", # Timestamp for the most recent `Release.update_time`. | |
| "syncTime": "A String", # Optional, indicates the freshness of the result. The response is | |
| # guaranteed to be the latest within an interval up to the | |
| # sync_time (inclusive). | |
| "executableVersion": "A String", # The Rules runtime version of the executable. | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="list">list(name, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</code> | |
| <pre>List the `Release` values for a project. This list may optionally be | |
| filtered by `Release` name, `Ruleset` name, `TestSuite` name, or any | |
| combination thereof. | |
| Args: | |
| name: string, Resource name for the project. | |
| Format: `projects/{project_id}` (required) | |
| pageToken: string, Next page token for the next batch of `Release` instances. | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| pageSize: integer, Page size to load. Maximum of 100. Defaults to 10. | |
| Note: `page_size` is just a hint and the service may choose to load fewer | |
| than `page_size` results due to the size of the output. To traverse all of | |
| the releases, the caller should iterate until the `page_token` on the | |
| response is empty. | |
| filter: string, `Release` filter. The list method supports filters with restrictions on the | |
| `Release.name`, `Release.ruleset_name`, and `Release.test_suite_name`. | |
| Example 1: A filter of 'name=prod*' might return `Release`s with names | |
| within 'projects/foo' prefixed with 'prod': | |
| Name | Ruleset Name | |
| ------------------------------|------------- | |
| projects/foo/releases/prod | projects/foo/rulesets/uuid1234 | |
| projects/foo/releases/prod/v1 | projects/foo/rulesets/uuid1234 | |
| projects/foo/releases/prod/v2 | projects/foo/rulesets/uuid8888 | |
| Example 2: A filter of `name=prod* ruleset_name=uuid1234` would return only | |
| `Release` instances for 'projects/foo' with names prefixed with 'prod' | |
| referring to the same `Ruleset` name of 'uuid1234': | |
| Name | Ruleset Name | |
| ------------------------------|------------- | |
| projects/foo/releases/prod | projects/foo/rulesets/1234 | |
| projects/foo/releases/prod/v1 | projects/foo/rulesets/1234 | |
| In the examples, the filter parameters refer to the search filters are | |
| relative to the project. Fully qualified prefixed may also be used. e.g. | |
| `test_suite_name=projects/foo/testsuites/uuid1` | |
| Returns: | |
| An object of the form: | |
| { # The response for FirebaseRulesService.ListReleases. | |
| "nextPageToken": "A String", # The pagination token to retrieve the next page of results. If the value is | |
| # empty, no further results remain. | |
| "releases": [ # List of `Release` instances. | |
| { # `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a | |
| # `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`. | |
| "updateTime": "A String", # Time the release was updated. | |
| # Output only. | |
| "rulesetName": "A String", # Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must | |
| # exist the `Release` to be created. | |
| "name": "A String", # Resource name for the `Release`. | |
| # | |
| # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2` | |
| # which affords developers a great deal of flexibility in mapping the name | |
| # to the style that best fits their existing development practices. For | |
| # example, a name could refer to an environment, an app, a version, or some | |
| # combination of three. | |
| # | |
| # In the table below, for the project name `projects/foo`, the following | |
| # relative release paths show how flat and structured names might be chosen | |
| # to match a desired development / deployment strategy. | |
| # | |
| # Use Case | Flat Name | Structured Name | |
| # -------------|---------------------|---------------- | |
| # Environments | releases/qa | releases/qa | |
| # Apps | releases/app1_qa | releases/app1/qa | |
| # Versions | releases/app1_v2_qa | releases/app1/v2/qa | |
| # | |
| # The delimiter between the release name path elements can be almost anything | |
| # and it should work equally well with the release name list filter, but in | |
| # many ways the structured paths provide a clearer picture of the | |
| # relationship between `Release` instances. | |
| # | |
| # Format: `projects/{project_id}/releases/{release_id}` | |
| "createTime": "A String", # Time the release was created. | |
| # Output only. | |
| }, | |
| ], | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="list_next">list_next(previous_request, previous_response)</code> | |
| <pre>Retrieves the next page of results. | |
| Args: | |
| previous_request: The request for the previous page. (required) | |
| previous_response: The response from the request for the previous page. (required) | |
| Returns: | |
| A request object that you can call 'execute()' on to request the next | |
| page. Returns None if there are no more items in the collection. | |
| </pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="patch">patch(name, body, x__xgafv=None)</code> | |
| <pre>Update a `Release` via PATCH. | |
| Only updates to the `ruleset_name` and `test_suite_name` fields will be | |
| honored. `Release` rename is not supported. To create a `Release` use the | |
| CreateRelease method. | |
| Args: | |
| name: string, Resource name for the project which owns this `Release`. | |
| Format: `projects/{project_id}` (required) | |
| body: object, The request body. (required) | |
| The object takes the form of: | |
| { # The request for FirebaseRulesService.UpdateReleasePatch. | |
| "release": { # `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a # `Release` to update. | |
| # `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`. | |
| "updateTime": "A String", # Time the release was updated. | |
| # Output only. | |
| "rulesetName": "A String", # Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must | |
| # exist the `Release` to be created. | |
| "name": "A String", # Resource name for the `Release`. | |
| # | |
| # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2` | |
| # which affords developers a great deal of flexibility in mapping the name | |
| # to the style that best fits their existing development practices. For | |
| # example, a name could refer to an environment, an app, a version, or some | |
| # combination of three. | |
| # | |
| # In the table below, for the project name `projects/foo`, the following | |
| # relative release paths show how flat and structured names might be chosen | |
| # to match a desired development / deployment strategy. | |
| # | |
| # Use Case | Flat Name | Structured Name | |
| # -------------|---------------------|---------------- | |
| # Environments | releases/qa | releases/qa | |
| # Apps | releases/app1_qa | releases/app1/qa | |
| # Versions | releases/app1_v2_qa | releases/app1/v2/qa | |
| # | |
| # The delimiter between the release name path elements can be almost anything | |
| # and it should work equally well with the release name list filter, but in | |
| # many ways the structured paths provide a clearer picture of the | |
| # relationship between `Release` instances. | |
| # | |
| # Format: `projects/{project_id}/releases/{release_id}` | |
| "createTime": "A String", # Time the release was created. | |
| # Output only. | |
| }, | |
| "updateMask": "A String", # Specifies which fields to update. | |
| } | |
| x__xgafv: string, V1 error format. | |
| Allowed values | |
| 1 - v1 error format | |
| 2 - v2 error format | |
| Returns: | |
| An object of the form: | |
| { # `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a | |
| # `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`. | |
| "updateTime": "A String", # Time the release was updated. | |
| # Output only. | |
| "rulesetName": "A String", # Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must | |
| # exist the `Release` to be created. | |
| "name": "A String", # Resource name for the `Release`. | |
| # | |
| # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2` | |
| # which affords developers a great deal of flexibility in mapping the name | |
| # to the style that best fits their existing development practices. For | |
| # example, a name could refer to an environment, an app, a version, or some | |
| # combination of three. | |
| # | |
| # In the table below, for the project name `projects/foo`, the following | |
| # relative release paths show how flat and structured names might be chosen | |
| # to match a desired development / deployment strategy. | |
| # | |
| # Use Case | Flat Name | Structured Name | |
| # -------------|---------------------|---------------- | |
| # Environments | releases/qa | releases/qa | |
| # Apps | releases/app1_qa | releases/app1/qa | |
| # Versions | releases/app1_v2_qa | releases/app1/v2/qa | |
| # | |
| # The delimiter between the release name path elements can be almost anything | |
| # and it should work equally well with the release name list filter, but in | |
| # many ways the structured paths provide a clearer picture of the | |
| # relationship between `Release` instances. | |
| # | |
| # Format: `projects/{project_id}/releases/{release_id}` | |
| "createTime": "A String", # Time the release was created. | |
| # Output only. | |
| }</pre> | |
| </div> | |
| </body></html> |