b99693b807
Currently when data is imported via `consul kv import` it overwrites keys under the root key. Since `consul kv export` can retrieve data for the given prefix, i.e. part of the KV tree, importing it under root may be not what users want. To mirror prefix behavior from export this PR adds prefix feature to the import command that adds prefix to all keys that are imported.
63 lines
1.1 KiB
Plaintext
63 lines
1.1 KiB
Plaintext
---
|
|
layout: commands
|
|
page_title: 'Commands: KV Import'
|
|
sidebar_title: import
|
|
---
|
|
|
|
# Consul KV Import
|
|
|
|
Command: `consul kv import`
|
|
|
|
The `kv import` command is used to import KV pairs from the JSON representation
|
|
generated by the `kv export` command.
|
|
|
|
## Usage
|
|
|
|
Usage: `consul kv import [options] [DATA]`
|
|
|
|
#### API Options
|
|
|
|
@include 'http_api_options_client.mdx'
|
|
|
|
@include 'http_api_options_server.mdx'
|
|
|
|
#### KV Import Options
|
|
|
|
- `-prefix` - Key prefix for imported data. The default value is empty meaning
|
|
root.
|
|
|
|
#### Enterprise Options
|
|
|
|
@include 'http_api_namespace_options.mdx'
|
|
|
|
## Examples
|
|
|
|
To import from a file, prepend the filename with `@`:
|
|
|
|
```shell-session
|
|
$ consul kv import @values.json
|
|
# Output
|
|
```
|
|
|
|
To import from stdin, use `-` as the data parameter:
|
|
|
|
```shell-session
|
|
$ cat values.json | consul kv import -
|
|
# Output
|
|
```
|
|
|
|
You can also pass the JSON directly, however care must be taken with shell
|
|
escaping:
|
|
|
|
```shell-session
|
|
$ consul kv import "$(cat values.json)"
|
|
# Output
|
|
```
|
|
|
|
To import under prefix, use `-prefix` option:
|
|
|
|
```shell-session
|
|
$ cat values.json | consul kv import -prefix=sub/dir/ -
|
|
# Output
|
|
```
|