---
title: pulumi config set-all | CLI commands
url: /docs/iac/cli/commands/pulumi_config_set-all/
---

Set multiple configuration values

## Synopsis

pulumi set-all allows you to set multiple configuration values in one command.

Each key-value pair must be preceded by either the `--secret` or the `--plaintext` flag to denote whether 
it should be encrypted:

  - `pulumi config set-all --secret key1=value1 --plaintext key2=value --secret key3=value3`

The `--path` flag can be used to set values inside a map or list:

  - `pulumi config set-all --path --plaintext "names[0]"=a --plaintext "names[1]"=b` 
will set the value to a list with the first item `a` and second item `b`.
  - `pulumi config set-all --path --plaintext parent.nested=value --plaintext parent.other=value2` 
will set the value of `parent` to a map `{nested: value, other: value2}`.
  - `pulumi config set-all --path --plaintext '["parent.name"].["nested.name"]'=value` will set the 
value of `parent.name` to a map `nested.name: value`.

The `--json` flag can be used to pass a JSON string from which values should be read.
The JSON string should follow the same format as that produced by `pulumi config --json`. If the
`--json` option is passed, the `--plaintext`, `--secret` and `--path` flags must not be used.

```
pulumi config set-all [flags]
```

## Options

```
  -h, --help                    help for set-all
      --json string             Read values from a JSON string in the format produced by 'pulumi config --json'
      --path                    Parse the keys as paths in a map or list rather than raw strings
      --plaintext stringArray   Marks a value as plaintext (unencrypted)
      --secret stringArray      Marks a value as secret to be encrypted
```

## Options inherited from parent commands

```
      --color string                 Colorize output. Choices are: always, never, raw, auto (default "auto")
      --config-file string           Use the configuration values in the specified file rather than detecting the file name
  -C, --cwd string                   Run pulumi as if it had been started in another directory
      --disable-integrity-checking   Disable integrity checking of checkpoint files
  -e, --emoji                        Enable emojis in the output
  -Q, --fully-qualify-stack-names    Show fully-qualified stack names
      --logflow                      Flow log settings to child processes (like plugins)
      --logtostderr                  Log to stderr instead of to files
      --memprofilerate int           Enable more precise (and expensive) memory allocation profiles by setting runtime.MemProfileRate
      --non-interactive              Disable interactive mode for all commands
      --otel-traces string           Export OpenTelemetry traces to the specified endpoint. Use file:// for local JSON files, grpc:// for remote collectors
      --profiling string             Emit CPU and memory profiles and an execution trace to '[filename].[pid].{cpu,mem,trace}', respectively
  -s, --stack string                 The name of the stack to operate on. Defaults to the current stack
      --tracing file:                Emit tracing to the specified endpoint. Use the file: scheme to write tracing data to a local file
  -v, --verbose int                  Enable verbose logging (e.g., v=3); anything >3 is very verbose
```

## SEE ALSO

* [pulumi config](/docs/iac/cli/commands/pulumi_config/)	 - Manage configuration


