---
layout: docs
page_title: 'Commands: acl policy apply'
description: |
  The policy apply command is used to create or update ACL policies.
---

# Command: acl policy apply

The `acl policy apply` command is used to create or update ACL policies.

## Usage

```plaintext
nomad acl policy apply [options] <name> <path>
```

The `acl policy apply` command requires two arguments, the policy name and path
to file. The policy can be read from stdin by setting the path to "-".

This command requires a management ACL token.

## General Options

@include 'general_options_no_namespace.mdx'

## Apply Options

- `-description`: Sets the human readable description for the ACL policy.

- `-job`: Attaches the policy to the specified job. Requires that `-namespace` is
    also set.

- `-namespace`: Attaches the policy to the specified namespace. Requires that
    `-job` is also set.

- `-group`: Attaches the policy to the specified task group. Requires that
    `-namespace` and `-job` are also set.

- `-task`: Attaches the policy to the specified task. Requires that `-namespace`,
    `-job` and `-group` are also set.


## Examples

Create a new ACL Policy:

```shell-session
$ nomad acl policy apply my-policy my-policy.json
Successfully wrote 'my-policy' ACL policy!
```

Associate an ACL Policy with a specific task:

```shell-session
$ nomad acl policy apply \
    -namespace default -job example -group cache -task redis \
    my-policy my-policy.json
Successfully wrote 'my-policy' ACL policy!
```
