- [Resource: AclPolicy](https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies#AclPolicy)
  - [JSON representation](https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies#AclPolicy.SCHEMA_REPRESENTATION)
  - [AclRule](https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies#AclPolicy.AclRule)
    - [JSON representation](https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies#AclPolicy.AclRule.SCHEMA_REPRESENTATION)
  - [State](https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies#AclPolicy.State)
  - [ClusterAclPolicyAttachment](https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies#AclPolicy.ClusterAclPolicyAttachment)
    - [JSON representation](https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies#AclPolicy.ClusterAclPolicyAttachment.SCHEMA_REPRESENTATION)
- [Methods](https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies#METHODS_SUMMARY)

## Resource: AclPolicy

The ACL policy resource.

| JSON representation |
|---|
| ``` { "name": string, "rules": [ { object (`https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies#AclPolicy.AclRule`) } ], "state": enum (`https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies#AclPolicy.State`), "clusterAclPolicyAttachments": [ { object (`https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies#AclPolicy.ClusterAclPolicyAttachment`) } ], "createTime": string, "updateTime": string, "version": string, "etag": string } ``` |

| Fields ||
|---|---|
| `name` | `string` Identifier. Full resource path of the ACL policy. |
| `rules[]` | ``object (`https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies#AclPolicy.AclRule`)`` Required. The ACL rules within the ACL policy. |
| `state` | ``enum (`https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies#AclPolicy.State`)`` Output only. The state of the ACL policy. |
| `clusterAclPolicyAttachments[]` | ``object (`https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies#AclPolicy.ClusterAclPolicyAttachment`)`` Output only. The ACL policy attachment status for each attached cluster. |
| `createTime` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` Output only. The timestamp that the ACL policy was created. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: `"2014-10-02T15:01:23Z"`, `"2014-10-02T15:01:23.045123456Z"` or `"2014-10-02T15:01:23+05:30"`. |
| `updateTime` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` Output only. The timestamp that the ACL policy was last updated. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: `"2014-10-02T15:01:23Z"`, `"2014-10-02T15:01:23.045123456Z"` or `"2014-10-02T15:01:23+05:30"`. |
| `version (deprecated)` | `string (https://developers.google.com/discovery/v1/type-format format)` > [!WARNING] > This item is deprecated! Output only. Deprecated: Used in drift resolution. |
| `etag` | `string` Output only. Etag for the ACL policy. |

### AclRule

A single ACL rule which defines the policy for a user.

| JSON representation |
|---|
| ``` { "username": string, "rule": string } ``` |

| Fields ||
|---|---|
| `username` | `string` Required. Specifies the IAM user or service account to be added to the ACL policy. This username will be directly set on the Redis OSS. |
| `rule` | `string` Required. The rule to be applied to the username. Ex: "on \>password123 \~\* [+@all](mailto:+@all)" The format of the rule is defined by Redis OSS: <https://redis.io/docs/latest/operate/oss_and_stack/management/security/acl/> |

### State

Represents the different states of an ACL policy.

| Enums ||
|---|---|
| `STATE_UNSPECIFIED` | Not set. |
| `ACTIVE` | ACL policy has been created and is fully usable. Since ACL policy creation is synchronous and not an LRO, there is no CREATING state. |
| `UPDATING` | ACL policy is being updated. |
| `DELETING` | ACL policy is being deleted. |

### ClusterAclPolicyAttachment

ClusterAclPolicyAttachment stores the ACL policy status for an attached cluster for the revisions successfully applied, under application or failed.

| JSON representation |
|---|
| ``` { "cluster": string, "aclPolicyRevisionStatuses": [ { object (`https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/AclPolicyRevisionStatus`) } ] } ``` |

| Fields ||
|---|---|
| `cluster` | `string` Output only. The resource name of the attached Cluster. Format: "projects/{project}/locations/{location}/clusters/{cluster}" |
| `aclPolicyRevisionStatuses[]` | ``object (`https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/AclPolicyRevisionStatus`)`` Output only. A list of status for various revisions of this ACL policy on the cluster. |

| ## Methods ||
|---|---|
| ### `https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies/create` | Creates an ACL policy. |
| ### `https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies/delete` | Deletes a specific ACL policy. |
| ### `https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies/get` | Gets the details of a specific Redis Cluster ACL policy. |
| ### `https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies/list` | Lists all ACL policies owned by a project in either the specified location (region) or all locations. |
| ### `https://docs.cloud.google.com/memorystore/docs/cluster/reference/rest/v1alpha1/projects.locations.aclPolicies/patch` | Updates the ACL policy. |