consul/website/content/commands/acl/role/create.mdx

88 lines
2.5 KiB
Markdown

---
layout: commands
page_title: 'Commands: ACL Role Create'
description: |
The `consul acl role create` command creates a new role attached to one or more ACL policies.
---
# Consul ACL Role Create
Command: `consul acl role create`
Corresponding HTTP API Endpoint: [\[PUT\] /v1/acl/role](/consul/api-docs/acl/roles#create-a-role)
The `acl role create` command creates new roles.
The table below shows this command's [required ACLs](/consul/api-docs/api-structure#authentication). Configuration of
[blocking queries](/consul/api-docs/features/blocking) and [agent caching](/consul/api-docs/features/caching)
are not supported from commands, but may be from the corresponding HTTP endpoint.
| ACL Required |
| ------------ |
| `acl:write` |
## Usage
Usage: `consul acl role create [options] [args]`
#### Command Options
- `-description=<string>` - A description of the role.
- `-meta` - Indicates that role metadata such as the content hash and raft
indices should be shown for each entry.
- `-name=<string>` - The new role's name. This flag is required.
- `-node-identity=<value>` - Name of a node identity to use for this role. May
be specified multiple times. Format is `NODENAME:DATACENTER`. Added in Consul
1.8.1.
- `-policy-id=<value>` - ID of a policy to use for this role. May be specified
multiple times
- `-policy-name=<value>` - Name of a policy to use for this role. May be
specified multiple times
- `-service-identity=<value>` - Name of a service identity to use for this
role. May be specified multiple times. Format is the `SERVICENAME` or
`SERVICENAME:DATACENTER1,DATACENTER2,...`
- `-format={pretty|json}` - Command output format. 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
Create a new role with one policy:
```shell-session
$ consul acl role create -name "crawler" -description "web crawler role" -policy-name "crawler-kv"
ID: 57147d87-6bf7-f794-1a6e-7d038c4e4ae9
Name: crawler
Description: web crawler role
Policies:
2f8f99c7-edd9-2f09-7e4b-a1f519eb4fc2 - crawler-kv
```
Create a new role with one service identity:
```shell-session
$ consul acl role create -name archiver -description 'archiver role' -service-identity "archiver:dc2"
ID: a365fdc9-ac71-e754-0645-7ab6bd747301
Name: archiver
Description: archiver role
Service Identities:
archiver (Datacenters: dc2)
```