# The RuleSet object

## Attributes

- `name` (string, Public Preview)
  Name of the rule set.
- `etag` (string, Public Preview)
  Identifies the version of the rule set returned.
   Etag used for versioning. The response is at least as fresh as the eTag provided.
   Etag is used for optimistic concurrency control as a way to help prevent simultaneous
   updates of a rule set from overwriting each other. It is strongly suggested that systems
   make use of the etag in the read -> modify -> write pattern to perform rule set updates in
   order to avoid race conditions that is get an etag from a GET rule set request, and pass it
   with the PUT update request to identify the rule set version you are updating.
- `grant_rules` (array of object, Public Preview)
  - `principals` (array of string, Public Preview)
    Principals this grant rule applies to.
     A principal can be a user (for end users), a service principal (for applications and
     compute workloads), or an account group. Each principal has its own identifier format:
     * users/<USERNAME>
     * groups/<GROUP_NAME>
     * servicePrincipals/<SERVICE_PRINCIPAL_APPLICATION_ID>
  - `role` (string, Public Preview)
    Role that is assigned to the list of principals.

## Example

```json
{
  "name": "string",
  "etag": "string",
  "grant_rules": [
    {
      "principals": [
        "string"
      ],
      "role": "string"
    }
  ]
}
```


