1--- 2layout: "docs" 3page_title: "Commands: ACL Translate Rules" 4sidebar_current: "docs-commands-acl-translate-rules" 5--- 6 7-> **Deprecated:** This command exists only as a convenience to make legacy ACL migration easier. 8It will be removed in a future major release when support for the legacy ACL system is removed. 9 10# Consul ACL Translate Rules 11 12Command: `consul acl translate-rules` 13 14This command translates the legacy ACL rule syntax into the new syntax. 15 16### Usage 17 18Usage: `consul acl translate rules [options] TRANSLATE` 19 20 21#### API Options 22 23<%= partial "docs/commands/http_api_options_client" %> 24<%= partial "docs/commands/http_api_options_server" %> 25 26#### Command Options 27 28* `TRANSLATE` - The rules to translate. If `-` is used, then 29 the rules will be read from stdin. If `@` is prefixed to 30 the value then the value is considered to be a file and 31 the rules will be read from that file. 32 33* `-token-secret` - Specifies that what the `TRANSLATE` argument 34 holds is not a rule set but rather the token secret ID of a 35 legacy ACL token that holds the rule set. 36 37* `-token-accessor` - Specifies that what the `TRANSLATE` argument 38 holds is not a rule set but rather the token accessor ID of a 39 legacy ACL token that holds the rule set. 40 41### Examples 42Translate rules within a file: 43 44```sh 45$ consul acl translate-rules @rules.hcl 46``` 47 48Translate rules from stdin: 49 50```sh 51$ consul acl translate-rules - 52``` 53 54Translate rules from a string argument: 55 56```sh 57$ consul acl translate-rules 'key "" { policy = "write"}' 58``` 59 60Translate rules for a legacy ACL token using its SecretID passed from stdin: 61 62```sh 63$ consul acl translate-rules --token-secret - 64``` 65 66Translate rules for a legacy ACL token using its AccessorID: 67 68```sh 69$ consul acl translate-rules 429cd746-03d5-4bbb-a83a-18b164171c89 70``` 71