open-vault/website/pages/docs/commands/kv/patch.mdx

71 lines
2 KiB
Plaintext
Raw Normal View History

---
layout: docs
page_title: kv patch - Command
sidebar_title: <code>patch</code>
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
~> **NOTE:** This is a [K/V Version 2](/docs/secrets/kv/kv-v2) secrets
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
There are no flags beyond the [standard set of flags](/docs/commands)
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.