2019-06-10 17:41:55 +00:00
|
|
|
---
|
2020-01-18 00:18:09 +00:00
|
|
|
layout: docs
|
|
|
|
page_title: kv patch - Command
|
|
|
|
sidebar_title: <code>patch</code>
|
2019-06-10 17:41:55 +00:00
|
|
|
description: |-
|
|
|
|
The "kv patch" command writes the data to the given path in the key-value
|
|
|
|
store. The data can be of any type.
|
|
|
|
---
|
|
|
|
|
|
|
|
# kv patch
|
|
|
|
|
2020-01-22 20:05:41 +00:00
|
|
|
~> **NOTE:** This is a [K/V Version 2](/docs/secrets/kv/kv-v2) secrets
|
2019-06-10 17:41:55 +00:00
|
|
|
engine command, and not available for Version 1.
|
|
|
|
|
|
|
|
The `kv patch` command writes the data to the given path in the K/V v2 secrets
|
|
|
|
engine. The data can be of any type. Unlike the `kv put` command, the `patch`
|
|
|
|
command combines the change with existing data instead of replacing them.
|
|
|
|
Therefore, this command makes it easy to make a partial updates to an existing
|
|
|
|
data.
|
|
|
|
|
|
|
|
## Examples
|
|
|
|
|
|
|
|
If you wish to add an additional key-value (`ttl=48h`) to the existing data at
|
|
|
|
the key "creds":
|
|
|
|
|
|
|
|
```text
|
|
|
|
$ vault kv patch secret/creds ttl=48h
|
|
|
|
Key Value
|
|
|
|
--- -----
|
|
|
|
created_time 2019-06-06T16:46:22.090654Z
|
|
|
|
deletion_time n/a
|
|
|
|
destroyed false
|
|
|
|
version 6
|
|
|
|
```
|
|
|
|
|
|
|
|
**NOTE:** The `kv put` command requires both the existing data and
|
|
|
|
the data you wish to add in order to accomplish the same result.
|
|
|
|
|
|
|
|
```text
|
|
|
|
$ vault kv put secret/creds ttl=48h passcode=my-long-passcode
|
|
|
|
```
|
|
|
|
|
|
|
|
The data can also be consumed from a file on disk by prefixing with the "@"
|
|
|
|
symbol. For example:
|
|
|
|
|
|
|
|
```text
|
|
|
|
$ vault kv patch secret/creds @data.json
|
|
|
|
```
|
|
|
|
|
|
|
|
Or it can be read from stdin using the "-" symbol:
|
|
|
|
|
|
|
|
```text
|
|
|
|
$ echo "abcd1234" | vault kv patch secret/foo bar=-
|
|
|
|
```
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
2020-01-22 20:05:41 +00:00
|
|
|
There are no flags beyond the [standard set of flags](/docs/commands)
|
2019-06-10 17:41:55 +00:00
|
|
|
included on all commands.
|
|
|
|
|
|
|
|
### Output Options
|
|
|
|
|
|
|
|
- `-field` `(string: "")` - Print only the field with the given name. Specifying
|
|
|
|
this option will take precedence over other formatting directives. The result
|
|
|
|
will not have a trailing newline making it ideal for piping to other
|
|
|
|
processes.
|
|
|
|
|
|
|
|
- `-format` `(string: "table")` - Print the output in the given format. Valid
|
|
|
|
formats are "table", "json", or "yaml". This can also be specified via the
|
|
|
|
`VAULT_FORMAT` environment variable.
|