calm-intern-65863
10/30/2025, 4:46 PMmodern-zebra-45309
10/30/2025, 4:50 PMcalm-intern-65863
10/30/2025, 4:51 PMcalm-intern-65863
10/30/2025, 4:52 PMcalm-intern-65863
10/30/2025, 4:53 PMmodern-zebra-45309
10/30/2025, 4:54 PMcalm-intern-65863
10/30/2025, 4:54 PMcalm-intern-65863
10/30/2025, 4:55 PMcalm-intern-65863
10/30/2025, 4:56 PMcalm-intern-65863
10/30/2025, 4:57 PMcalm-intern-65863
10/30/2025, 5:01 PMcalm-intern-65863
10/30/2025, 5:09 PMmodern-zebra-45309
10/30/2025, 5:29 PMmodern-zebra-45309
10/30/2025, 5:31 PMstack.set_config("my-config-key", auto.ConfigValue("my-value")) . This is the equivalent to running pulumi config set my-config-key my-value when using the CLImodern-zebra-45309
10/30/2025, 5:32 PMpulumi config refresh (or the equivalent Automation API call) to get back the currently deployed configurationmodern-zebra-45309
10/30/2025, 5:33 PMcalm-intern-65863
10/31/2025, 8:45 AMmodern-zebra-45309
10/31/2025, 8:47 AMcalm-intern-65863
10/31/2025, 8:47 AMcalm-intern-65863
10/31/2025, 8:48 AMcalm-intern-65863
10/31/2025, 8:49 AMpulumi config refresh
Doesn't expect there to be any files present as it will purely use the S3 store state of the stackmodern-zebra-45309
10/31/2025, 8:49 AMcalm-intern-65863
10/31/2025, 8:50 AMmodern-zebra-45309
10/31/2025, 8:50 AMmodern-zebra-45309
10/31/2025, 8:51 AMThat is true but if I have modified the Pulumi.yaml and the Stack that would be a conflictCan you elaborate what you mean by that?
calm-intern-65863
10/31/2025, 8:51 AMcalm-intern-65863
10/31/2025, 8:52 AMcalm-intern-65863
10/31/2025, 8:52 AMmodern-zebra-45309
10/31/2025, 8:52 AMcalm-intern-65863
10/31/2025, 8:53 AMcalm-intern-65863
10/31/2025, 8:53 AMmodern-zebra-45309
10/31/2025, 8:53 AMmodern-zebra-45309
10/31/2025, 8:54 AMmodern-zebra-45309
10/31/2025, 8:54 AMmodern-zebra-45309
10/31/2025, 8:56 AMcalm-intern-65863
10/31/2025, 8:57 AMmodern-zebra-45309
10/31/2025, 8:57 AMmodern-zebra-45309
10/31/2025, 8:57 AMpulumi config refresh -> loop through all default values pulumi config set default-key default-value -> pulumi upcalm-intern-65863
10/31/2025, 8:58 AMcalm-intern-65863
10/31/2025, 8:58 AMcalm-intern-65863
10/31/2025, 8:58 AMcalm-intern-65863
10/31/2025, 8:59 AMmodern-zebra-45309
10/31/2025, 8:59 AMcalm-intern-65863
10/31/2025, 8:59 AMcalm-intern-65863
10/31/2025, 8:59 AMcalm-intern-65863
10/31/2025, 8:59 AMmodern-zebra-45309
10/31/2025, 8:59 AMmodern-zebra-45309
10/31/2025, 9:00 AMpulumi config refresh -> loop through all default values that should take precedence over stack configs pulumi config set default-key default-value -> pulumi upcalm-intern-65863
10/31/2025, 9:00 AMmodern-zebra-45309
10/31/2025, 9:01 AMcalm-intern-65863
10/31/2025, 9:02 AMcalm-intern-65863
10/31/2025, 9:02 AMcalm-intern-65863
10/31/2025, 9:02 AMcalm-intern-65863
10/31/2025, 9:03 AMmodern-zebra-45309
10/31/2025, 9:03 AMcalm-intern-65863
10/31/2025, 9:03 AMcalm-intern-65863
10/31/2025, 9:04 AMcalm-intern-65863
10/31/2025, 9:04 AMcalm-intern-65863
10/31/2025, 9:05 AMcalm-intern-65863
10/31/2025, 9:06 AMcalm-intern-65863
10/31/2025, 9:07 AMmodern-zebra-45309
10/31/2025, 9:07 AM# Pulumi.yaml version 1:
config:
valueA: default1
valueB: default2
pulumi stack init my-stack
pulumi set config valueC custom-value
pulumi up
pulumi config refresh
# Pulumi.my-stack.yaml version 1:
config:
my-stack:valueA: default1
my-stack:valueB: default2
my-stack:valueC: custom-value
# Pulumi.yaml version 2
config:
valueA: default1
valueB: new-default # <-- you make an update
# Loop and update
pulumi config set valueA default1 # <-- no change, doesn't matter
pulumi config set valueB new-default # <-- default takes precedence
Pulumi.my-stack.yaml version 2
config:
my-stack:valueA: default1
my-stack:valueB: new-value
my-stack:valueC: custom-valuemodern-zebra-45309
10/31/2025, 9:09 AMcalm-intern-65863
10/31/2025, 9:09 AMmodern-zebra-45309
10/31/2025, 9:10 AMpulumi config reset-to-defaults but for "only fall back to defaults when its still set to default" you would need to keep track of all previous default valuescalm-intern-65863
10/31/2025, 9:10 AMcalm-intern-65863
10/31/2025, 9:10 AMcalm-intern-65863
10/31/2025, 9:10 AMcalm-intern-65863
10/31/2025, 9:10 AMcalm-intern-65863
10/31/2025, 9:10 AMcalm-intern-65863
10/31/2025, 9:11 AMmodern-zebra-45309
10/31/2025, 9:11 AMcalm-intern-65863
10/31/2025, 9:11 AMcalm-intern-65863
10/31/2025, 9:11 AMcalm-intern-65863
10/31/2025, 9:12 AMmodern-zebra-45309
10/31/2025, 9:12 AMcalm-intern-65863
10/31/2025, 9:12 AMmodern-zebra-45309
10/31/2025, 9:13 AMcalm-intern-65863
10/31/2025, 9:13 AMcalm-intern-65863
10/31/2025, 9:14 AMcalm-intern-65863
10/31/2025, 9:14 AMcalm-intern-65863
10/31/2025, 9:14 AMcalm-intern-65863
10/31/2025, 9:14 AMmodern-zebra-45309
10/31/2025, 9:16 AMmyResource('foo', {parameter: config.get('my-config-key') || DEFAULTS['my-config-key']})modern-zebra-45309
10/31/2025, 9:17 AMcalm-intern-65863
10/31/2025, 9:17 AMmodern-zebra-45309
10/31/2025, 9:18 AMcalm-intern-65863
10/31/2025, 9:18 AMcalm-intern-65863
10/31/2025, 9:18 AMmodern-zebra-45309
10/31/2025, 9:18 AMmodern-zebra-45309
10/31/2025, 9:18 AMcalm-intern-65863
10/31/2025, 9:19 AMcalm-intern-65863
10/31/2025, 9:19 AMmodern-zebra-45309
10/31/2025, 9:20 AMdefault.yaml that has the same schema that the `Pulumi.yaml`'s config block uses that you read all defaults from and 2) export the default values as stack outputs so you can inspect themmodern-zebra-45309
10/31/2025, 9:21 AMBecause the Refresh of Config will just mix it.The config refresh will only affect 1) values that do not have a default and 2) values that you have overridden the default for
calm-intern-65863
10/31/2025, 9:21 AMmodern-zebra-45309
10/31/2025, 9:21 AMcalm-intern-65863
10/31/2025, 9:21 AMcalm-intern-65863
10/31/2025, 9:22 AMmodern-zebra-45309
10/31/2025, 9:23 AMconfig.get('my-key') will never not be setcalm-intern-65863
10/31/2025, 9:23 AMmodern-zebra-45309
10/31/2025, 9:23 AMmodern-zebra-45309
10/31/2025, 9:24 AMmodern-zebra-45309
10/31/2025, 9:24 AMmodern-zebra-45309
10/31/2025, 9:26 AMcalm-intern-65863
10/31/2025, 9:28 AMmodern-zebra-45309
10/31/2025, 9:29 AMmyResource('foo', {parameter: config.get('my-config-key') || DEFAULTS['my-config-key']}) gives you:
⢠'my-config-key' is not set in the stack configuration -> use whichever is the current default value
⢠'my-config-key' is set in the stack configuration -> always use this value, no matter the current default