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'
|
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
|
|
|
|
using the [config entry CLI command](/commands/config/write). To create an
|
|
|
|
intention, create or modify a
|
2021-01-13 20:48:48 +00:00
|
|
|
[`service-intentions`](/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`
|
|
|
|
|
2022-01-11 13:26:58 +00:00
|
|
|
Corresponding HTTP API Endpoint: [\[POST\] /v1/connect/intentions](/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
|
|
|
|
2022-01-10 21:44:56 +00:00
|
|
|
The table below shows this command's [required ACLs](/api#authentication). Configuration of
|
2022-03-30 21:16:26 +00:00
|
|
|
[blocking queries](/api-docs/features/blocking) and [agent caching](/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 |
|
|
|
|
| ------------------------------ |
|
|
|
|
| `intentions:write`<sup>1</sup> |
|
|
|
|
|
|
|
|
<p>
|
|
|
|
<sup>1</sup> Intention ACL rules are specified as part of a{' '}
|
|
|
|
<code>service</code> rule. See{' '}
|
|
|
|
<a href="/docs/connect/intentions#intention-management-permissions">
|
|
|
|
Intention Management Permissions
|
|
|
|
</a>{' '}
|
|
|
|
for more details.
|
|
|
|
</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
|
|
|
|
2020-10-14 15:23:05 +00:00
|
|
|
`SRC` and `DST` can both take [several forms](/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
|
|
|
|
|
|
|
|
@include 'http_api_partition_options.mdx'
|
|
|
|
|
|
|
|
@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
|
|
|
|
```
|