pulumi/tests/integration/secret_outputs/python/__main__.py
Justin Van Patten 97c006b5ce
[sdk/python] Fix secret regression (#5496)
A recent change to output deserialization resulted in secrets being returned unwrapped. This change addresses the regression, ensuring any unwrapped secret values are rewrapped before being returned.
2020-10-01 14:57:51 -07:00

24 lines
995 B
Python

# Copyright 2016-2020, Pulumi Corporation. All rights reserved.
from pulumi import export, Input, Output, ResourceOptions
from pulumi.dynamic import Resource, ResourceProvider, CreateResult
class Provider(ResourceProvider):
def create(self, props):
return CreateResult("1", {"prefix": props["prefix"]})
class R(Resource):
prefix: Output[str]
def __init__(self, name, prefix: Input[str], opts: ResourceOptions = None):
super().__init__(Provider(), name, {"prefix": prefix}, opts)
without_secret = R("without_secret", prefix=Output.from_input("it's a secret to everybody"))
with_secret = R("with_secret", prefix=Output.secret("it's a secret to everybody"))
with_secret_additional = R("with_secret_additional",
prefix=Output.from_input("it's a secret to everybody"),
opts=ResourceOptions(additional_secret_outputs=["prefix"]))
export("withoutSecret", without_secret)
export("withSecret", with_secret)
export("withSecretAdditional", with_secret_additional)