--- layout: commands page_title: 'Commands: ACL Templated Policy Preview' description: | The `consul acl templated-policy preview` command previews what resulting generated policy from a templated policy. --- # Consul ACL Templated Policy Preview Command: `consul acl templated-policy preview` Corresponding HTTP API Endpoint: [\[POST\] /v1/acl/templated-policy/preview/:name](/consul/api-docs/acl/templated-policies#preview-a-templated-policy) Use the `acl templated-policy preview` command to preview the policy generated from a templated policy. You must provide an ACL token with `acl:read` permissions to use the `consul all templated-policy preview` command. The command does not support [blocking queries](/consul/api-docs/features/blocking) and [agent caching](/consul/api-docs/features/caching). ## Usage Usage: `consul acl templated-policy preview [options] [args]` ### Command Options - `-name`: String value that specifies the templated policy name. Use `-var` flag to specify variables when required. - `var`: String value that specifies templated policy variables. Must be used in combination with `-name` flag to specify required variables. You can use the flag multiple times with different variables. Format is `VariableName:Value` - `-file`: String value that specifies the path to a file containing templated policies and variables. - `-format`: Specifies the output format. You can specify either `pretty` or `json` The default value is `pretty`. ### Enterprise options @include 'cli-http-api-partition-options.mdx' @include 'http_api_namespace_options.mdx' ### API options @include 'http_api_options_client.mdx' @include 'http_api_options_server.mdx' ## Examples The following examples demonstrate common patterns for using the `acl templated-policy preview` command. ### Preview a templated policy with no required variables ```shell-session consul acl templated-policy preview -name "builtin/dns" ID: 0a6e6f64655f70726566697... Name: synthetic-policy-0a6e6f... Description: synthetic policy generated from templated policy: builtin/dns Datacenters: Rules: node_prefix "" { policy = "read" } service_prefix "" { policy = "read" } query_prefix "" { policy = "read" } ``` ### Preview a templated policy with required variables In the following example, Consul prints a preview of the policy generated from the `builtin/service` templated policy for the service name `api`. ```shell-session consul acl templated-policy preview -name "builtin/service" -var "name:api" ID: 0a736572766963652022617... Name: synthetic-policy-0a7365... Description: synthetic policy generated from templated policy: builtin/service Datacenters: Rules: service "api" { policy = "write" } service "api-sidecar-proxy" { policy = "write" } service_prefix "" { policy = "read" } node_prefix "" { policy = "read" } ``` ### Preview a templated policy using a file: The following example shows a payload request to preview of the policy generated from the `builtin/service` templated policy. The payload includes a variable named `web`, which Consul uses as the service name. #### Sample payload ```hcl TemplatedPolicy "builtin/service" { Name = "web" } ``` ```shell-session $ consul acl templated-policy -file templated-policy.hcl ID: 0a736572766963652022776... Name: synthetic-policy-0a7365... Description: synthetic policy generated from templated policy: builtin/service Datacenters: Rules: service "web" { policy = "write" } service "web-sidecar-proxy" { policy = "write" } service_prefix "" { policy = "read" } node_prefix "" { policy = "read" } ```