2018-05-29 21:07:40 +00:00
---
2020-09-01 15:14:13 +00:00
layout: commands
2020-04-07 18:55:19 +00:00
page_title: 'Commands: Intention Create'
2023-01-26 18:42:13 +00:00
description: >-
The `consul intention create` command creates and updates L4 service intentions. It was deprecated in Consul v1.9.0; use `consul config` instead.
2018-05-29 21:07:40 +00:00
---
# Consul Intention Create
2020-10-14 15:23:05 +00:00
-> **Deprecated** - This command is deprecated in Consul 1.9.0 in favor of
2023-01-25 16:52:43 +00:00
using the [config entry CLI command](/consul/commands/config/write). To create an
2020-10-14 15:23:05 +00:00
intention, create or modify a
2023-01-25 16:52:43 +00:00
[`service-intentions`](/consul/docs/connect/config-entries/service-intentions) config
2020-10-14 15:23:05 +00:00
entry for the destination.
2018-05-29 21:07:40 +00:00
Command: `consul intention create`
2023-01-25 16:52:43 +00:00
Corresponding HTTP API Endpoint: [\[POST\] /v1/connect/intentions](/consul/api-docs/connect/intentions#create-intention-with-id)
2022-01-10 17:40:11 +00:00
2020-10-14 15:23:05 +00:00
The `intention create` command creates or updates an L4 intention.
2018-05-29 21:07:40 +00:00
2023-01-25 16:52:43 +00:00
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)
2022-01-10 21:44:56 +00:00
are not supported from commands, but may be from the corresponding HTTP endpoint.
2022-01-11 14:41:54 +00:00
| ACL Required |
| ------------------------------ |
2023-03-24 22:16:06 +00:00
| `intentions:write`<p> Define intention rules in the `service` policy. Refer to [ACL requirements for intentions](/consul/docs/connect/intentions/create-manage-intentions#acl-requirements) for additional information.</p> |
2022-01-10 21:44:56 +00:00
2018-05-29 21:07:40 +00:00
## Usage
2020-10-14 15:23:05 +00:00
- `consul intention create [options] SRC DST`
- `consul intention create [options] -file FILE...`
2018-05-29 21:07:40 +00:00
2023-01-25 16:52:43 +00:00
`SRC` and `DST` can both take [several forms](/consul/commands/intention#source-and-destination-naming).
2020-06-26 21:59:15 +00:00
2022-07-27 06:17:11 +00:00
#### Command Options
2018-05-29 21:07:40 +00:00
2020-04-07 18:55:19 +00:00
- `-allow` - Set the action to "allow" for intentions. This is the default.
2018-05-29 21:07:40 +00:00
2020-04-07 18:55:19 +00:00
- `-deny` - Set the action to "deny" for intentions. This cannot be specified
2018-05-29 21:07:40 +00:00
with `-allow`.
2020-04-07 18:55:19 +00:00
- `-file` - Read intention data one or more files specified by the command
2018-05-29 21:07:40 +00:00
line arguments, instead of source/destination pairs.
2020-04-07 18:55:19 +00:00
- `-meta key=value` - Specify arbitrary KV metadata to associate with the
2018-05-29 21:07:40 +00:00
intention.
2020-04-07 18:55:19 +00:00
- `-replace` - Replace any matching intention. The replacement is done
2018-05-29 21:07:40 +00:00
atomically per intention.
2022-07-27 06:17:11 +00:00
#### Enterprise Options
2024-07-18 17:02:45 +00:00
@include 'cli-http-api-partition-options.mdx'
2022-07-27 06:17:11 +00:00
@include 'http_api_namespace_options.mdx'
#### API Options
@include 'http_api_options_client.mdx'
2018-05-29 21:07:40 +00:00
## Examples
Create an intention `web => db`:
2020-05-19 18:32:38 +00:00
```shell-session
2020-04-07 23:56:08 +00:00
$ consul intention create web db
```
2018-05-29 21:07:40 +00:00
Create intentions from a set of files:
2020-05-19 18:32:38 +00:00
```shell-session
2020-04-07 23:56:08 +00:00
$ consul intention create -file one.json two.json
```
2018-05-29 21:07:40 +00:00
Create intentions from a directory using shell expansion:
2020-05-19 18:32:38 +00:00
```shell-session
2020-04-07 23:56:08 +00:00
$ consul intention create -file intentions/*.json
```