consul/website/content/commands/intention/create.mdx

89 lines
2.4 KiB
Markdown

---
layout: commands
page_title: 'Commands: Intention Create'
---
# Consul Intention Create
-> **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
[`service-intentions`](/docs/connect/config-entries/service-intentions) config
entry for the destination.
Command: `consul intention create`
Corresponding HTTP API Endpoint: [\[POST\] /v1/connect/intentions](/api-docs/connect/intentions#create-intention-with-id)
The `intention create` command creates or updates an L4 intention.
The table below shows this command's [required ACLs](/api#authentication). Configuration of
[blocking queries](/api-docs/features/blocking) and [agent caching](/api-docs/features/caching)
are not supported from commands, but may be from the corresponding HTTP endpoint.
| 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>
## Usage
- `consul intention create [options] SRC DST`
- `consul intention create [options] -file FILE...`
`SRC` and `DST` can both take [several forms](/commands/intention#source-and-destination-naming).
#### Command Options
- `-allow` - Set the action to "allow" for intentions. This is the default.
- `-deny` - Set the action to "deny" for intentions. This cannot be specified
with `-allow`.
- `-file` - Read intention data one or more files specified by the command
line arguments, instead of source/destination pairs.
- `-meta key=value` - Specify arbitrary KV metadata to associate with the
intention.
- `-replace` - Replace any matching intention. The replacement is done
atomically per intention.
#### Enterprise Options
@include 'http_api_partition_options.mdx'
@include 'http_api_namespace_options.mdx'
#### API Options
@include 'http_api_options_client.mdx'
## Examples
Create an intention `web => db`:
```shell-session
$ consul intention create web db
```
Create intentions from a set of files:
```shell-session
$ consul intention create -file one.json two.json
```
Create intentions from a directory using shell expansion:
```shell-session
$ consul intention create -file intentions/*.json
```