# Firebase Rules API . projects . rulesets

## Instance Methods

Create a `Ruleset` from `Source`.

Delete a `Ruleset` by resource name.

Get a `Ruleset` by name including the full `Source` contents.

List `Ruleset` metadata only and optionally filter the results by Ruleset

Retrieves the next page of results.

### Method Details

`create(name=None, body, x__xgafv=None)`

    Create a `Ruleset` from `Source`.

    The `Ruleset` is given a unique generated name which is returned to the
    caller. `Source` containing syntactic or semantics errors will result in an
    error response indicating the first error encountered. For a detailed view
    of `Source` issues, use TestRuleset.

    Args:
      name: string, Resource name for Project which owns this `Ruleset`.

    Format: `projects/{project_id}` (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # `Ruleset` is an immutable copy of `Source` with a globally unique identifier
          # and a creation time.
        "source": { # `Source` is one or more `File` messages comprising a logical set of rules. # `Source` for the `Ruleset`.
          "files": [ # `File` set constituting the `Source` bundle.
            { # `File` containing source content.
              "content": "A String", # Textual Content.
              "name": "A String", # File name.
              "fingerprint": "A String", # Fingerprint (e.g. github sha) associated with the `File`.
            },
          ],
        },
        "createTime": "A String", # Time the `Ruleset` was created.
            # @OutputOnly
        "name": "A String", # Name of the `Ruleset`. The ruleset_id is auto generated by the service.
            # Format: `projects/{project_id}/rulesets/{ruleset_id}`
            # @OutputOnly
      }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # `Ruleset` is an immutable copy of `Source` with a globally unique identifier
            # and a creation time.
          "source": { # `Source` is one or more `File` messages comprising a logical set of rules. # `Source` for the `Ruleset`.
            "files": [ # `File` set constituting the `Source` bundle.
              { # `File` containing source content.
                "content": "A String", # Textual Content.
                "name": "A String", # File name.
                "fingerprint": "A String", # Fingerprint (e.g. github sha) associated with the `File`.
              },
            ],
          },
          "createTime": "A String", # Time the `Ruleset` was created.
              # @OutputOnly
          "name": "A String", # Name of the `Ruleset`. The ruleset_id is auto generated by the service.
              # Format: `projects/{project_id}/rulesets/{ruleset_id}`
              # @OutputOnly
        }

`delete(name=None, x__xgafv=None)`

    Delete a `Ruleset` by resource name.

    If the `Ruleset` is referenced by a `Release` the operation will fail.

    Args:
      name: string, Resource name for the ruleset to delete.

    Format: `projects/{project_id}/rulesets/{ruleset_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 `{}`.
      }

`get(name=None, x__xgafv=None)`

    Get a `Ruleset` by name including the full `Source` contents.

    Args:
      name: string, Resource name for the ruleset to get.

    Format: `projects/{project_id}/rulesets/{ruleset_id}` (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # `Ruleset` is an immutable copy of `Source` with a globally unique identifier
            # and a creation time.
          "source": { # `Source` is one or more `File` messages comprising a logical set of rules. # `Source` for the `Ruleset`.
            "files": [ # `File` set constituting the `Source` bundle.
              { # `File` containing source content.
                "content": "A String", # Textual Content.
                "name": "A String", # File name.
                "fingerprint": "A String", # Fingerprint (e.g. github sha) associated with the `File`.
              },
            ],
          },
          "createTime": "A String", # Time the `Ruleset` was created.
              # @OutputOnly
          "name": "A String", # Name of the `Ruleset`. The ruleset_id is auto generated by the service.
              # Format: `projects/{project_id}/rulesets/{ruleset_id}`
              # @OutputOnly
        }

`list(name=None, pageToken=None, x__xgafv=None, pageSize=None)`

    List `Ruleset` metadata only and optionally filter the results by Ruleset
    name.

    The full `Source` contents of a `Ruleset` may be retrieved with
    GetRuleset.

    Args:
      name: string, Resource name for the project.

    Format: `projects/{project_id}` (required)
      pageToken: string, Next page token for loading the next batch of `Ruleset` 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 less
    than `page_size` due to the size of the output. To traverse all of the
    releases, caller should iterate until the `page_token` is empty.

    Returns:
      An object of the form:

        { # The response for FirebaseRulesService.ListRulesets
        "nextPageToken": "A String", # The pagination token to retrieve the next page of results. If the value is
            # empty, no further results remain.
        "rulesets": [ # List of `Ruleset` instances.
          { # `Ruleset` is an immutable copy of `Source` with a globally unique identifier
                # and a creation time.
              "source": { # `Source` is one or more `File` messages comprising a logical set of rules. # `Source` for the `Ruleset`.
                "files": [ # `File` set constituting the `Source` bundle.
                  { # `File` containing source content.
                    "content": "A String", # Textual Content.
                    "name": "A String", # File name.
                    "fingerprint": "A String", # Fingerprint (e.g. github sha) associated with the `File`.
                  },
                ],
              },
              "createTime": "A String", # Time the `Ruleset` was created.
                  # @OutputOnly
              "name": "A String", # Name of the `Ruleset`. The ruleset_id is auto generated by the service.
                  # Format: `projects/{project_id}/rulesets/{ruleset_id}`
                  # @OutputOnly
            },
        ],
      }

`list_next(previous_request, previous_response)`

    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.