Add limited support for nested secrets
This commit is contained in:
parent
bffee64ccb
commit
ff58d43ff1
@ -953,7 +953,7 @@ class Stack(object):
|
|||||||
"""Set a config or secret"""
|
"""Set a config or secret"""
|
||||||
|
|
||||||
pulumi_stack = self._get_pulumi_stack(create=True)
|
pulumi_stack = self._get_pulumi_stack(create=True)
|
||||||
pulumi_stack.set_config(key, pulumi.automation.ConfigValue(value, secret))
|
pulumi_stack.set_config(key, pulumi.automation.ConfigValue(value, secret)) # Pulumi bug https://github.com/pulumi/pulumi/issues/13063 so no: , path=True)
|
||||||
|
|
||||||
# Store salt or key and encrypted value in CloudBender stack config
|
# Store salt or key and encrypted value in CloudBender stack config
|
||||||
settings = None
|
settings = None
|
||||||
@ -974,9 +974,18 @@ class Stack(object):
|
|||||||
|
|
||||||
if "parameters" not in settings:
|
if "parameters" not in settings:
|
||||||
settings["parameters"] = {}
|
settings["parameters"] = {}
|
||||||
settings["parameters"][key] = pulumi_settings["config"][
|
|
||||||
"{}:{}".format(self.parameters["Conglomerate"], key)
|
|
||||||
]
|
# hack for bug above, we support one level of nested values for now
|
||||||
|
_val = pulumi_settings["config"]["{}:{}".format(self.parameters["Conglomerate"], key)]
|
||||||
|
if '.' in key:
|
||||||
|
(root,leaf) = key.split('.')
|
||||||
|
if root not in settings["parameters"]:
|
||||||
|
settings["parameters"][root] = {}
|
||||||
|
|
||||||
|
settings["parameters"][root][leaf] = _val
|
||||||
|
else:
|
||||||
|
settings["parameters"][key] = _val
|
||||||
|
|
||||||
with open(self.path, "w") as file:
|
with open(self.path, "w") as file:
|
||||||
yaml.dump(settings, stream=file)
|
yaml.dump(settings, stream=file)
|
||||||
@ -987,7 +996,7 @@ class Stack(object):
|
|||||||
def get_config(self, key):
|
def get_config(self, key):
|
||||||
"""Get a config or secret"""
|
"""Get a config or secret"""
|
||||||
|
|
||||||
print(self._get_pulumi_stack().get_config(key).value)
|
print(self._get_pulumi_stack().get_config(key, path=True).value)
|
||||||
|
|
||||||
def create_change_set(self, change_set_name):
|
def create_change_set(self, change_set_name):
|
||||||
"""Creates a Change Set with the name ``change_set_name``."""
|
"""Creates a Change Set with the name ``change_set_name``."""
|
||||||
|
Loading…
Reference in New Issue
Block a user