mirror of https://github.com/pulumi/pulumi.git
37 lines
1013 B
Python
37 lines
1013 B
Python
# Copyright 2016-2018, Pulumi Corporation. All rights reserved.
|
|
|
|
import asyncio
|
|
from pulumi import Output, export, UNKNOWN
|
|
from pulumi.dynamic import Resource, ResourceProvider, CreateResult
|
|
from pulumi.runtime import is_dry_run
|
|
|
|
class MyProvider(ResourceProvider):
|
|
def create(self, props):
|
|
return CreateResult("0", props)
|
|
|
|
class MyResource(Resource):
|
|
foo: Output
|
|
bar: Output
|
|
baz: Output
|
|
|
|
def __init__(self, name, props, opts = None):
|
|
super().__init__(MyProvider(), name, props, opts)
|
|
|
|
unknown = Output.from_input(UNKNOWN if is_dry_run() else "foo")
|
|
|
|
a = MyResource("a", {
|
|
"foo": "foo",
|
|
"bar": { "value": "foo", "unknown": unknown },
|
|
"baz": [ "foo", unknown ],
|
|
})
|
|
|
|
async def check_knowns():
|
|
assert await a.foo.is_known()
|
|
assert await a.bar["value"].is_known()
|
|
assert await a.bar["unknown"].is_known() != is_dry_run()
|
|
assert await a.baz[0].is_known()
|
|
assert await a.baz[1].is_known() != is_dry_run()
|
|
print("ok")
|
|
|
|
export("o", check_knowns())
|