Compare commits

...

8 commits

Author SHA1 Message Date
Ian Wahbe bd7a89af9f Satisfy linter 2021-11-19 16:23:02 -08:00
Ian Wahbe 3a80b48874 Merge branch 'master' into iwahbe/8308/forbid-nonsensical-schema-flag-combinations 2021-11-19 16:19:24 -08:00
Ian Wahbe a9b899df5d Update codegen output 2021-11-19 16:17:46 -08:00
Ian Wahbe c4784a518a Merge branch 'master' into iwahbe/8308/forbid-nonsensical-schema-flag-combinations 2021-11-19 16:10:41 -08:00
Ian Wahbe b30ce26d8c Update tests 2021-11-08 15:43:36 -08:00
Ian Wahbe 5ad57d543b Add to changelog 2021-11-08 09:45:27 -08:00
Ian Wahbe 9208ea2aef Merge branch 'master' into iwahbe/8308/forbid-nonsensical-schema-flag-combinations 2021-11-08 09:43:58 -08:00
Ian Wahbe 420f9546f0 Forbid bad interactions 2021-11-06 20:25:54 -07:00
41 changed files with 698 additions and 699 deletions

View file

@ -21,6 +21,9 @@
- [codegen/typescript] - Respect default values in Pulumi object types. - [codegen/typescript] - Respect default values in Pulumi object types.
[#8400](https://github.com/pulumi/pulumi/pull/8400) [#8400](https://github.com/pulumi/pulumi/pull/8400)
- [codegen] - Forbid nonsensical combinations of schema property flags.
[#8373](https://github.com/pulumi/pulumi/pull/8373)
- [sdk/python] - Correctly handle version checking python virtual environments. - [sdk/python] - Correctly handle version checking python virtual environments.
[#8465](https://github.com/pulumi/pulumi/pull/8465) [#8465](https://github.com/pulumi/pulumi/pull/8465)

View file

@ -60,7 +60,8 @@ var sdkTests = []sdkTest{
Directory: "external-resource-schema", Directory: "external-resource-schema",
Description: "External resource schema", Description: "External resource schema",
SkipCompileCheck: codegen.NewStringSet(nodejs, golang), SkipCompileCheck: codegen.NewStringSet(nodejs, golang),
Skip: codegen.NewStringSet("python/test", "nodejs/test"), Skip: codegen.NewStringSet("python/test", "nodejs/test",
/* TODO[pulumi/pulumi#8308] */ "all"),
}, },
{ {
Directory: "nested-module", Directory: "nested-module",
@ -77,7 +78,8 @@ var sdkTests = []sdkTest{
{ {
Directory: "plain-schema-gh6957", Directory: "plain-schema-gh6957",
Description: "Repro for #6957", Description: "Repro for #6957",
Skip: codegen.NewStringSet("python/test", "nodejs/test"), Skip: codegen.NewStringSet("python/test", "nodejs/test",
/* TODO[pulumi/pulumi#8308] */ "all"),
}, },
{ {
Directory: "resource-args-python-case-insensitive", Directory: "resource-args-python-case-insensitive",
@ -153,7 +155,8 @@ var sdkTests = []sdkTest{
Description: "A resource url with a hyphen in its path", Description: "A resource url with a hyphen in its path",
// TODO[pulumi/pulumi#8370]: Re-enable compiling for Go. // TODO[pulumi/pulumi#8370]: Re-enable compiling for Go.
SkipCompileCheck: codegen.NewStringSet(golang), SkipCompileCheck: codegen.NewStringSet(golang),
Skip: codegen.NewStringSet("python/test", "nodejs/test"), Skip: codegen.NewStringSet("python/test", "nodejs/test",
/* TODO[pulumi/pulumi#8308] */ "all"),
}, },
{ {
Directory: "output-funcs", Directory: "output-funcs",
@ -291,6 +294,11 @@ func TestSDKCodegen(t *testing.T, opts *SDKCodegenOptions) { // revive:disable-l
} }
t.Log(tt.Description) t.Log(tt.Description)
// Skip all check. This needs to be here because it needs to skip
// the codegen.
if tt.Skip.Has("all") {
t.SkipNow()
}
dirPath := filepath.Join(testDir, filepath.FromSlash(tt.Directory)) dirPath := filepath.Join(testDir, filepath.FromSlash(tt.Directory))

View file

@ -167,14 +167,6 @@ The RubberTree resource accepts the following [input]({{< relref "/docs/intro/co
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#diameter">Pulumi.<wbr>Plant.<wbr>Tree.<wbr>V1.<wbr>Diameter</a></span> <span class="property-type"><a href="#diameter">Pulumi.<wbr>Plant.<wbr>Tree.<wbr>V1.<wbr>Diameter</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required"
title="Required">
<span id="type_csharp">
<a href="#type_csharp" style="color: inherit; text-decoration: inherit;">Type</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#rubbertreevariety">Pulumi.<wbr>Plant.<wbr>Tree.<wbr>V1.<wbr>Rubber<wbr>Tree<wbr>Variety</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="container_csharp"> <span id="container_csharp">
@ -199,6 +191,14 @@ The RubberTree resource accepts the following [input]({{< relref "/docs/intro/co
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#treesize">Pulumi.<wbr>Plant.<wbr>Tree.<wbr>V1.<wbr>Tree<wbr>Size</a></span> <span class="property-type"><a href="#treesize">Pulumi.<wbr>Plant.<wbr>Tree.<wbr>V1.<wbr>Tree<wbr>Size</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="type_csharp">
<a href="#type_csharp" style="color: inherit; text-decoration: inherit;">Type</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#rubbertreevariety">Pulumi.<wbr>Plant.<wbr>Tree.<wbr>V1.<wbr>Rubber<wbr>Tree<wbr>Variety</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd></dl> <dd>{{% md %}}{{% /md %}}</dd></dl>
{{% /choosable %}} {{% /choosable %}}
@ -211,14 +211,6 @@ The RubberTree resource accepts the following [input]({{< relref "/docs/intro/co
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#diameter">Diameter</a></span> <span class="property-type"><a href="#diameter">Diameter</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required"
title="Required">
<span id="type_go">
<a href="#type_go" style="color: inherit; text-decoration: inherit;">Type</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#rubbertreevariety">Rubber<wbr>Tree<wbr>Variety</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="container_go"> <span id="container_go">
@ -243,6 +235,14 @@ The RubberTree resource accepts the following [input]({{< relref "/docs/intro/co
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#treesize">Tree<wbr>Size</a></span> <span class="property-type"><a href="#treesize">Tree<wbr>Size</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="type_go">
<a href="#type_go" style="color: inherit; text-decoration: inherit;">Type</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#rubbertreevariety">Rubber<wbr>Tree<wbr>Variety</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd></dl> <dd>{{% md %}}{{% /md %}}</dd></dl>
{{% /choosable %}} {{% /choosable %}}
@ -255,14 +255,6 @@ The RubberTree resource accepts the following [input]({{< relref "/docs/intro/co
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#diameter">Diameter</a></span> <span class="property-type"><a href="#diameter">Diameter</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required"
title="Required">
<span id="type_nodejs">
<a href="#type_nodejs" style="color: inherit; text-decoration: inherit;">type</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#rubbertreevariety">Rubber<wbr>Tree<wbr>Variety</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="container_nodejs"> <span id="container_nodejs">
@ -287,6 +279,14 @@ The RubberTree resource accepts the following [input]({{< relref "/docs/intro/co
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#treesize">Tree<wbr>Size</a></span> <span class="property-type"><a href="#treesize">Tree<wbr>Size</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="type_nodejs">
<a href="#type_nodejs" style="color: inherit; text-decoration: inherit;">type</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#rubbertreevariety">Rubber<wbr>Tree<wbr>Variety</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd></dl> <dd>{{% md %}}{{% /md %}}</dd></dl>
{{% /choosable %}} {{% /choosable %}}
@ -299,14 +299,6 @@ The RubberTree resource accepts the following [input]({{< relref "/docs/intro/co
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#diameter">Diameter</a></span> <span class="property-type"><a href="#diameter">Diameter</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required"
title="Required">
<span id="type_python">
<a href="#type_python" style="color: inherit; text-decoration: inherit;">type</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#rubbertreevariety">Rubber<wbr>Tree<wbr>Variety</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="container_python"> <span id="container_python">
@ -331,6 +323,14 @@ The RubberTree resource accepts the following [input]({{< relref "/docs/intro/co
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#treesize">Tree<wbr>Size</a></span> <span class="property-type"><a href="#treesize">Tree<wbr>Size</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="type_python">
<a href="#type_python" style="color: inherit; text-decoration: inherit;">type</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#rubbertreevariety">Rubber<wbr>Tree<wbr>Variety</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd></dl> <dd>{{% md %}}{{% /md %}}</dd></dl>
{{% /choosable %}} {{% /choosable %}}

View file

@ -25,7 +25,7 @@ namespace Pulumi.Plant.Tree.V1
public Output<Pulumi.Plant.Tree.V1.TreeSize?> Size { get; private set; } = null!; public Output<Pulumi.Plant.Tree.V1.TreeSize?> Size { get; private set; } = null!;
[Output("type")] [Output("type")]
public Output<Pulumi.Plant.Tree.V1.RubberTreeVariety> Type { get; private set; } = null!; public Output<Pulumi.Plant.Tree.V1.RubberTreeVariety?> Type { get; private set; } = null!;
/// <summary> /// <summary>
@ -85,12 +85,11 @@ namespace Pulumi.Plant.Tree.V1
[Input("size")] [Input("size")]
public Input<Pulumi.Plant.Tree.V1.TreeSize>? Size { get; set; } public Input<Pulumi.Plant.Tree.V1.TreeSize>? Size { get; set; }
[Input("type", required: true)] [Input("type")]
public Input<Pulumi.Plant.Tree.V1.RubberTreeVariety> Type { get; set; } = null!; public Input<Pulumi.Plant.Tree.V1.RubberTreeVariety>? Type { get; set; }
public RubberTreeArgs() public RubberTreeArgs()
{ {
Diameter = Pulumi.Plant.Tree.V1.Diameter.Sixinch;
Farm = "(unknown)"; Farm = "(unknown)";
Size = Pulumi.Plant.Tree.V1.TreeSize.Medium; Size = Pulumi.Plant.Tree.V1.TreeSize.Medium;
Type = Pulumi.Plant.Tree.V1.RubberTreeVariety.Burgundy; Type = Pulumi.Plant.Tree.V1.RubberTreeVariety.Burgundy;

View file

@ -19,7 +19,7 @@ type RubberTree struct {
Diameter DiameterOutput `pulumi:"diameter"` Diameter DiameterOutput `pulumi:"diameter"`
Farm pulumi.StringPtrOutput `pulumi:"farm"` Farm pulumi.StringPtrOutput `pulumi:"farm"`
Size TreeSizePtrOutput `pulumi:"size"` Size TreeSizePtrOutput `pulumi:"size"`
Type RubberTreeVarietyOutput `pulumi:"type"` Type RubberTreeVarietyPtrOutput `pulumi:"type"`
} }
// NewRubberTree registers a new resource with the given unique name, arguments, and options. // NewRubberTree registers a new resource with the given unique name, arguments, and options.
@ -30,7 +30,7 @@ func NewRubberTree(ctx *pulumi.Context,
} }
if args.Diameter == nil { if args.Diameter == nil {
args.Diameter = Diameter(6.0) return nil, errors.New("invalid value for required argument 'Diameter'")
} }
if args.Farm == nil { if args.Farm == nil {
args.Farm = pulumi.StringPtr("(unknown)") args.Farm = pulumi.StringPtr("(unknown)")
@ -79,7 +79,7 @@ type rubberTreeArgs struct {
Diameter Diameter `pulumi:"diameter"` Diameter Diameter `pulumi:"diameter"`
Farm *string `pulumi:"farm"` Farm *string `pulumi:"farm"`
Size *TreeSize `pulumi:"size"` Size *TreeSize `pulumi:"size"`
Type RubberTreeVariety `pulumi:"type"` Type *RubberTreeVariety `pulumi:"type"`
} }
// The set of arguments for constructing a RubberTree resource. // The set of arguments for constructing a RubberTree resource.
@ -88,7 +88,7 @@ type RubberTreeArgs struct {
Diameter DiameterInput Diameter DiameterInput
Farm pulumi.StringPtrInput Farm pulumi.StringPtrInput
Size TreeSizePtrInput Size TreeSizePtrInput
Type RubberTreeVarietyInput Type RubberTreeVarietyPtrInput
} }
func (RubberTreeArgs) ElementType() reflect.Type { func (RubberTreeArgs) ElementType() reflect.Type {

View file

@ -37,7 +37,7 @@ export class RubberTree extends pulumi.CustomResource {
public readonly diameter!: pulumi.Output<enums.tree.v1.Diameter>; public readonly diameter!: pulumi.Output<enums.tree.v1.Diameter>;
public readonly farm!: pulumi.Output<enums.tree.v1.Farm | string | undefined>; public readonly farm!: pulumi.Output<enums.tree.v1.Farm | string | undefined>;
public readonly size!: pulumi.Output<enums.tree.v1.TreeSize | undefined>; public readonly size!: pulumi.Output<enums.tree.v1.TreeSize | undefined>;
public readonly type!: pulumi.Output<enums.tree.v1.RubberTreeVariety>; public readonly type!: pulumi.Output<enums.tree.v1.RubberTreeVariety | undefined>;
/** /**
* Create a RubberTree resource with the given unique name, arguments, and options. * Create a RubberTree resource with the given unique name, arguments, and options.
@ -58,11 +58,8 @@ export class RubberTree extends pulumi.CustomResource {
if ((!args || args.diameter === undefined) && !opts.urn) { if ((!args || args.diameter === undefined) && !opts.urn) {
throw new Error("Missing required property 'diameter'"); throw new Error("Missing required property 'diameter'");
} }
if ((!args || args.type === undefined) && !opts.urn) {
throw new Error("Missing required property 'type'");
}
resourceInputs["container"] = args ? (args.container ? pulumi.output(args.container).apply(inputs.containerArgsProvideDefaults) : undefined) : undefined; resourceInputs["container"] = args ? (args.container ? pulumi.output(args.container).apply(inputs.containerArgsProvideDefaults) : undefined) : undefined;
resourceInputs["diameter"] = (args ? args.diameter : undefined) ?? 6; resourceInputs["diameter"] = args ? args.diameter : undefined;
resourceInputs["farm"] = (args ? args.farm : undefined) ?? "(unknown)"; resourceInputs["farm"] = (args ? args.farm : undefined) ?? "(unknown)";
resourceInputs["size"] = (args ? args.size : undefined) ?? "medium"; resourceInputs["size"] = (args ? args.size : undefined) ?? "medium";
resourceInputs["type"] = (args ? args.type : undefined) ?? "Burgundy"; resourceInputs["type"] = (args ? args.type : undefined) ?? "Burgundy";
@ -86,5 +83,5 @@ export interface RubberTreeArgs {
diameter: pulumi.Input<enums.tree.v1.Diameter>; diameter: pulumi.Input<enums.tree.v1.Diameter>;
farm?: pulumi.Input<enums.tree.v1.Farm | string>; farm?: pulumi.Input<enums.tree.v1.Farm | string>;
size?: pulumi.Input<enums.tree.v1.TreeSize>; size?: pulumi.Input<enums.tree.v1.TreeSize>;
type: pulumi.Input<enums.tree.v1.RubberTreeVariety>; type?: pulumi.Input<enums.tree.v1.RubberTreeVariety>;
} }

View file

@ -18,19 +18,14 @@ __all__ = ['RubberTreeArgs', 'RubberTree']
class RubberTreeArgs: class RubberTreeArgs:
def __init__(__self__, *, def __init__(__self__, *,
diameter: pulumi.Input['Diameter'], diameter: pulumi.Input['Diameter'],
type: pulumi.Input['RubberTreeVariety'],
container: Optional[pulumi.Input['_root_inputs.ContainerArgs']] = None, container: Optional[pulumi.Input['_root_inputs.ContainerArgs']] = None,
farm: Optional[pulumi.Input[Union['Farm', str]]] = None, farm: Optional[pulumi.Input[Union['Farm', str]]] = None,
size: Optional[pulumi.Input['TreeSize']] = None): size: Optional[pulumi.Input['TreeSize']] = None,
type: Optional[pulumi.Input['RubberTreeVariety']] = None):
""" """
The set of arguments for constructing a RubberTree resource. The set of arguments for constructing a RubberTree resource.
""" """
if diameter is None:
diameter = 6
pulumi.set(__self__, "diameter", diameter) pulumi.set(__self__, "diameter", diameter)
if type is None:
type = 'Burgundy'
pulumi.set(__self__, "type", type)
if container is not None: if container is not None:
pulumi.set(__self__, "container", container) pulumi.set(__self__, "container", container)
if farm is None: if farm is None:
@ -41,6 +36,10 @@ class RubberTreeArgs:
size = 'medium' size = 'medium'
if size is not None: if size is not None:
pulumi.set(__self__, "size", size) pulumi.set(__self__, "size", size)
if type is None:
type = 'Burgundy'
if type is not None:
pulumi.set(__self__, "type", type)
@property @property
@pulumi.getter @pulumi.getter
@ -51,15 +50,6 @@ class RubberTreeArgs:
def diameter(self, value: pulumi.Input['Diameter']): def diameter(self, value: pulumi.Input['Diameter']):
pulumi.set(self, "diameter", value) pulumi.set(self, "diameter", value)
@property
@pulumi.getter
def type(self) -> pulumi.Input['RubberTreeVariety']:
return pulumi.get(self, "type")
@type.setter
def type(self, value: pulumi.Input['RubberTreeVariety']):
pulumi.set(self, "type", value)
@property @property
@pulumi.getter @pulumi.getter
def container(self) -> Optional[pulumi.Input['_root_inputs.ContainerArgs']]: def container(self) -> Optional[pulumi.Input['_root_inputs.ContainerArgs']]:
@ -87,6 +77,15 @@ class RubberTreeArgs:
def size(self, value: Optional[pulumi.Input['TreeSize']]): def size(self, value: Optional[pulumi.Input['TreeSize']]):
pulumi.set(self, "size", value) pulumi.set(self, "size", value)
@property
@pulumi.getter
def type(self) -> Optional[pulumi.Input['RubberTreeVariety']]:
return pulumi.get(self, "type")
@type.setter
def type(self, value: Optional[pulumi.Input['RubberTreeVariety']]):
pulumi.set(self, "type", value)
@pulumi.input_type @pulumi.input_type
class _RubberTreeState: class _RubberTreeState:
@ -167,8 +166,6 @@ class RubberTree(pulumi.CustomResource):
__props__ = RubberTreeArgs.__new__(RubberTreeArgs) __props__ = RubberTreeArgs.__new__(RubberTreeArgs)
__props__.__dict__["container"] = container __props__.__dict__["container"] = container
if diameter is None:
diameter = 6
if diameter is None and not opts.urn: if diameter is None and not opts.urn:
raise TypeError("Missing required property 'diameter'") raise TypeError("Missing required property 'diameter'")
__props__.__dict__["diameter"] = diameter __props__.__dict__["diameter"] = diameter
@ -180,8 +177,6 @@ class RubberTree(pulumi.CustomResource):
__props__.__dict__["size"] = size __props__.__dict__["size"] = size
if type is None: if type is None:
type = 'Burgundy' type = 'Burgundy'
if type is None and not opts.urn:
raise TypeError("Missing required property 'type'")
__props__.__dict__["type"] = type __props__.__dict__["type"] = type
super(RubberTree, __self__).__init__( super(RubberTree, __self__).__init__(
'plant:tree/v1:RubberTree', 'plant:tree/v1:RubberTree',
@ -235,6 +230,6 @@ class RubberTree(pulumi.CustomResource):
@property @property
@pulumi.getter @pulumi.getter
def type(self) -> pulumi.Output['RubberTreeVariety']: def type(self) -> pulumi.Output[Optional['RubberTreeVariety']]:
return pulumi.get(self, "type") return pulumi.get(self, "type")

View file

@ -42,8 +42,7 @@
"default": "medium" "default": "medium"
}, },
"diameter": { "diameter": {
"$ref": "#/types/plant:tree/v1:Diameter", "$ref": "#/types/plant:tree/v1:Diameter"
"default": 6
} }
}, },
"stateInputs": { "stateInputs": {
@ -75,12 +74,11 @@
"default": "medium" "default": "medium"
}, },
"diameter": { "diameter": {
"$ref": "#/types/plant:tree/v1:Diameter", "$ref": "#/types/plant:tree/v1:Diameter"
"default": 6
} }
}, },
"required": ["type", "diameter"], "required": ["diameter"],
"requiredInputs": ["type", "diameter"] "requiredInputs": ["diameter"]
} }
}, },
"types": { "types": {

View file

@ -639,15 +639,7 @@ All [input](#inputs) properties are implicitly available as output properties. A
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#helmreleasesettings">Helm<wbr>Release<wbr>Settings</a></span> <span class="property-type"><a href="#helmreleasesettings">Helm<wbr>Release<wbr>Settings</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Required">
<span id="thinker_csharp">
<a href="#thinker_csharp" style="color: inherit; text-decoration: inherit;">Thinker</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">string</span>
</dt>
<dd>{{% md %}}To ask and answer{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="answer_csharp"> <span id="answer_csharp">
<a href="#answer_csharp" style="color: inherit; text-decoration: inherit;">Answer</a> <a href="#answer_csharp" style="color: inherit; text-decoration: inherit;">Answer</a>
@ -679,7 +671,15 @@ All [input](#inputs) properties are implicitly available as output properties. A
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#layeredtype">Layered<wbr>Type</a></span> <span class="property-type"><a href="#layeredtype">Layered<wbr>Type</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd></dl> <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="thinker_csharp">
<a href="#thinker_csharp" style="color: inherit; text-decoration: inherit;">Thinker</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">string</span>
</dt>
<dd>{{% md %}}To ask and answer{{% /md %}}</dd></dl>
{{% /choosable %}} {{% /choosable %}}
{{% choosable language go %}} {{% choosable language go %}}
@ -691,15 +691,7 @@ All [input](#inputs) properties are implicitly available as output properties. A
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#helmreleasesettings">Helm<wbr>Release<wbr>Settings</a></span> <span class="property-type"><a href="#helmreleasesettings">Helm<wbr>Release<wbr>Settings</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Required">
<span id="thinker_go">
<a href="#thinker_go" style="color: inherit; text-decoration: inherit;">Thinker</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">string</span>
</dt>
<dd>{{% md %}}To ask and answer{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="answer_go"> <span id="answer_go">
<a href="#answer_go" style="color: inherit; text-decoration: inherit;">Answer</a> <a href="#answer_go" style="color: inherit; text-decoration: inherit;">Answer</a>
@ -731,7 +723,15 @@ All [input](#inputs) properties are implicitly available as output properties. A
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#layeredtype">Layered<wbr>Type</a></span> <span class="property-type"><a href="#layeredtype">Layered<wbr>Type</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd></dl> <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="thinker_go">
<a href="#thinker_go" style="color: inherit; text-decoration: inherit;">Thinker</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">string</span>
</dt>
<dd>{{% md %}}To ask and answer{{% /md %}}</dd></dl>
{{% /choosable %}} {{% /choosable %}}
{{% choosable language nodejs %}} {{% choosable language nodejs %}}
@ -743,15 +743,7 @@ All [input](#inputs) properties are implicitly available as output properties. A
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#helmreleasesettings">Helm<wbr>Release<wbr>Settings</a></span> <span class="property-type"><a href="#helmreleasesettings">Helm<wbr>Release<wbr>Settings</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Required">
<span id="thinker_nodejs">
<a href="#thinker_nodejs" style="color: inherit; text-decoration: inherit;">thinker</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">string</span>
</dt>
<dd>{{% md %}}To ask and answer{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="answer_nodejs"> <span id="answer_nodejs">
<a href="#answer_nodejs" style="color: inherit; text-decoration: inherit;">answer</a> <a href="#answer_nodejs" style="color: inherit; text-decoration: inherit;">answer</a>
@ -783,7 +775,15 @@ All [input](#inputs) properties are implicitly available as output properties. A
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#layeredtype">Layered<wbr>Type</a></span> <span class="property-type"><a href="#layeredtype">Layered<wbr>Type</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd></dl> <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="thinker_nodejs">
<a href="#thinker_nodejs" style="color: inherit; text-decoration: inherit;">thinker</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">string</span>
</dt>
<dd>{{% md %}}To ask and answer{{% /md %}}</dd></dl>
{{% /choosable %}} {{% /choosable %}}
{{% choosable language python %}} {{% choosable language python %}}
@ -795,15 +795,7 @@ All [input](#inputs) properties are implicitly available as output properties. A
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#helmreleasesettings">Helm<wbr>Release<wbr>Settings</a></span> <span class="property-type"><a href="#helmreleasesettings">Helm<wbr>Release<wbr>Settings</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Required">
<span id="thinker_python">
<a href="#thinker_python" style="color: inherit; text-decoration: inherit;">thinker</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">str</span>
</dt>
<dd>{{% md %}}To ask and answer{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="answer_python"> <span id="answer_python">
<a href="#answer_python" style="color: inherit; text-decoration: inherit;">answer</a> <a href="#answer_python" style="color: inherit; text-decoration: inherit;">answer</a>
@ -835,7 +827,15 @@ All [input](#inputs) properties are implicitly available as output properties. A
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#layeredtype">Layered<wbr>Type</a></span> <span class="property-type"><a href="#layeredtype">Layered<wbr>Type</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd></dl> <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="thinker_python">
<a href="#thinker_python" style="color: inherit; text-decoration: inherit;">thinker</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">str</span>
</dt>
<dd>{{% md %}}To ask and answer{{% /md %}}</dd></dl>
{{% /choosable %}} {{% /choosable %}}

View file

@ -42,8 +42,8 @@ namespace Pulumi.Example.Inputs
/// <summary> /// <summary>
/// To ask and answer /// To ask and answer
/// </summary> /// </summary>
[Input("thinker", required: true)] [Input("thinker")]
public Input<string> Thinker { get; set; } = null!; public Input<string>? Thinker { get; set; }
public LayeredTypeArgs() public LayeredTypeArgs()
{ {

View file

@ -375,7 +375,7 @@ type LayeredType struct {
Question *string `pulumi:"question"` Question *string `pulumi:"question"`
Recursive *LayeredType `pulumi:"recursive"` Recursive *LayeredType `pulumi:"recursive"`
// To ask and answer // To ask and answer
Thinker string `pulumi:"thinker"` Thinker *string `pulumi:"thinker"`
} }
// LayeredTypeInput is an input type that accepts LayeredTypeArgs and LayeredTypeOutput values. // LayeredTypeInput is an input type that accepts LayeredTypeArgs and LayeredTypeOutput values.
@ -400,7 +400,7 @@ type LayeredTypeArgs struct {
Question pulumi.StringPtrInput `pulumi:"question"` Question pulumi.StringPtrInput `pulumi:"question"`
Recursive LayeredTypePtrInput `pulumi:"recursive"` Recursive LayeredTypePtrInput `pulumi:"recursive"`
// To ask and answer // To ask and answer
Thinker pulumi.StringInput `pulumi:"thinker"` Thinker pulumi.StringPtrInput `pulumi:"thinker"`
} }
func (LayeredTypeArgs) ElementType() reflect.Type { func (LayeredTypeArgs) ElementType() reflect.Type {
@ -505,8 +505,8 @@ func (o LayeredTypeOutput) Recursive() LayeredTypePtrOutput {
} }
// To ask and answer // To ask and answer
func (o LayeredTypeOutput) Thinker() pulumi.StringOutput { func (o LayeredTypeOutput) Thinker() pulumi.StringPtrOutput {
return o.ApplyT(func(v LayeredType) string { return v.Thinker }).(pulumi.StringOutput) return o.ApplyT(func(v LayeredType) *string { return v.Thinker }).(pulumi.StringPtrOutput)
} }
type LayeredTypePtrOutput struct{ *pulumi.OutputState } type LayeredTypePtrOutput struct{ *pulumi.OutputState }
@ -587,7 +587,7 @@ func (o LayeredTypePtrOutput) Thinker() pulumi.StringPtrOutput {
if v == nil { if v == nil {
return nil return nil
} }
return &v.Thinker return v.Thinker
}).(pulumi.StringPtrOutput) }).(pulumi.StringPtrOutput)
} }

View file

@ -109,7 +109,7 @@ export interface LayeredTypeArgs {
/** /**
* To ask and answer * To ask and answer
*/ */
thinker: pulumi.Input<string>; thinker?: pulumi.Input<string>;
} }
/** /**
* layeredTypeArgsProvideDefaults sets the appropriate defaults for LayeredTypeArgs * layeredTypeArgsProvideDefaults sets the appropriate defaults for LayeredTypeArgs

View file

@ -196,22 +196,19 @@ class KubeClientSettingsArgs:
class LayeredTypeArgs: class LayeredTypeArgs:
def __init__(__self__, *, def __init__(__self__, *,
other: pulumi.Input['HelmReleaseSettingsArgs'], other: pulumi.Input['HelmReleaseSettingsArgs'],
thinker: pulumi.Input[str],
answer: Optional[pulumi.Input[float]] = None, answer: Optional[pulumi.Input[float]] = None,
plain_other: Optional['HelmReleaseSettingsArgs'] = None, plain_other: Optional['HelmReleaseSettingsArgs'] = None,
question: Optional[pulumi.Input[str]] = None, question: Optional[pulumi.Input[str]] = None,
recursive: Optional[pulumi.Input['LayeredTypeArgs']] = None): recursive: Optional[pulumi.Input['LayeredTypeArgs']] = None,
thinker: Optional[pulumi.Input[str]] = None):
""" """
Make sure that defaults propagate through types Make sure that defaults propagate through types
:param pulumi.Input[str] thinker: To ask and answer
:param pulumi.Input[float] answer: The answer to the question :param pulumi.Input[float] answer: The answer to the question
:param 'HelmReleaseSettingsArgs' plain_other: Test how plain types interact :param 'HelmReleaseSettingsArgs' plain_other: Test how plain types interact
:param pulumi.Input[str] question: The question already answered :param pulumi.Input[str] question: The question already answered
:param pulumi.Input[str] thinker: To ask and answer
""" """
pulumi.set(__self__, "other", other) pulumi.set(__self__, "other", other)
if thinker is None:
thinker = 'not a good interaction'
pulumi.set(__self__, "thinker", thinker)
if answer is None: if answer is None:
answer = 42 answer = 42
if answer is not None: if answer is not None:
@ -224,6 +221,10 @@ class LayeredTypeArgs:
pulumi.set(__self__, "question", question) pulumi.set(__self__, "question", question)
if recursive is not None: if recursive is not None:
pulumi.set(__self__, "recursive", recursive) pulumi.set(__self__, "recursive", recursive)
if thinker is None:
thinker = 'not a good interaction'
if thinker is not None:
pulumi.set(__self__, "thinker", thinker)
@property @property
@pulumi.getter @pulumi.getter
@ -234,18 +235,6 @@ class LayeredTypeArgs:
def other(self, value: pulumi.Input['HelmReleaseSettingsArgs']): def other(self, value: pulumi.Input['HelmReleaseSettingsArgs']):
pulumi.set(self, "other", value) pulumi.set(self, "other", value)
@property
@pulumi.getter
def thinker(self) -> pulumi.Input[str]:
"""
To ask and answer
"""
return pulumi.get(self, "thinker")
@thinker.setter
def thinker(self, value: pulumi.Input[str]):
pulumi.set(self, "thinker", value)
@property @property
@pulumi.getter @pulumi.getter
def answer(self) -> Optional[pulumi.Input[float]]: def answer(self) -> Optional[pulumi.Input[float]]:
@ -291,6 +280,18 @@ class LayeredTypeArgs:
def recursive(self, value: Optional[pulumi.Input['LayeredTypeArgs']]): def recursive(self, value: Optional[pulumi.Input['LayeredTypeArgs']]):
pulumi.set(self, "recursive", value) pulumi.set(self, "recursive", value)
@property
@pulumi.getter
def thinker(self) -> Optional[pulumi.Input[str]]:
"""
To ask and answer
"""
return pulumi.get(self, "thinker")
@thinker.setter
def thinker(self, value: Optional[pulumi.Input[str]]):
pulumi.set(self, "thinker", value)
@pulumi.input_type @pulumi.input_type
class TypArgs: class TypArgs:

View file

@ -156,7 +156,7 @@
"$ref": "#/types/example:index:LayeredType" "$ref": "#/types/example:index:LayeredType"
} }
}, },
"required": ["other", "thinker"] "required": ["other"]
}, },
"example:index:KubeClientSettings": { "example:index:KubeClientSettings": {
"description": "Options for tuning the Kubernetes client used by a Provider.", "description": "Options for tuning the Kubernetes client used by a Provider.",

View file

@ -20,7 +20,7 @@ namespace Pulumi.Myedgeorder.Outputs
/// Represents billing type. /// Represents billing type.
/// Expected value is 'Pav2'. /// Expected value is 'Pav2'.
/// </summary> /// </summary>
public readonly string BillingType; public readonly string? BillingType;
/// <summary> /// <summary>
/// Charging type. /// Charging type.
/// </summary> /// </summary>
@ -36,7 +36,7 @@ namespace Pulumi.Myedgeorder.Outputs
[OutputConstructor] [OutputConstructor]
private Pav2MeterDetailsResponse( private Pav2MeterDetailsResponse(
string billingType, string? billingType,
string chargingType, string chargingType,

View file

@ -20,7 +20,7 @@ namespace Pulumi.Myedgeorder.Outputs
/// Represents billing type. /// Represents billing type.
/// Expected value is 'Purchase'. /// Expected value is 'Purchase'.
/// </summary> /// </summary>
public readonly string BillingType; public readonly string? BillingType;
/// <summary> /// <summary>
/// Charging type. /// Charging type.
/// </summary> /// </summary>
@ -44,7 +44,7 @@ namespace Pulumi.Myedgeorder.Outputs
[OutputConstructor] [OutputConstructor]
private PurchaseMeterDetailsResponse( private PurchaseMeterDetailsResponse(
string billingType, string? billingType,
string chargingType, string chargingType,

View file

@ -1657,7 +1657,7 @@ func (o LinkResponseArrayOutput) Index(i pulumi.IntInput) LinkResponseOutput {
type Pav2MeterDetailsResponse struct { type Pav2MeterDetailsResponse struct {
// Represents billing type. // Represents billing type.
// Expected value is 'Pav2'. // Expected value is 'Pav2'.
BillingType string `pulumi:"billingType"` BillingType *string `pulumi:"billingType"`
// Charging type. // Charging type.
ChargingType string `pulumi:"chargingType"` ChargingType string `pulumi:"chargingType"`
// Validation status of requested data center and transport. // Validation status of requested data center and transport.
@ -1681,7 +1681,7 @@ type Pav2MeterDetailsResponseInput interface {
type Pav2MeterDetailsResponseArgs struct { type Pav2MeterDetailsResponseArgs struct {
// Represents billing type. // Represents billing type.
// Expected value is 'Pav2'. // Expected value is 'Pav2'.
BillingType pulumi.StringInput `pulumi:"billingType"` BillingType pulumi.StringPtrInput `pulumi:"billingType"`
// Charging type. // Charging type.
ChargingType pulumi.StringInput `pulumi:"chargingType"` ChargingType pulumi.StringInput `pulumi:"chargingType"`
// Validation status of requested data center and transport. // Validation status of requested data center and transport.
@ -1719,8 +1719,8 @@ func (o Pav2MeterDetailsResponseOutput) ToPav2MeterDetailsResponseOutputWithCont
// Represents billing type. // Represents billing type.
// Expected value is 'Pav2'. // Expected value is 'Pav2'.
func (o Pav2MeterDetailsResponseOutput) BillingType() pulumi.StringOutput { func (o Pav2MeterDetailsResponseOutput) BillingType() pulumi.StringPtrOutput {
return o.ApplyT(func(v Pav2MeterDetailsResponse) string { return v.BillingType }).(pulumi.StringOutput) return o.ApplyT(func(v Pav2MeterDetailsResponse) *string { return v.BillingType }).(pulumi.StringPtrOutput)
} }
// Charging type. // Charging type.
@ -2231,7 +2231,7 @@ func (o ProductResponseArrayOutput) Index(i pulumi.IntInput) ProductResponseOutp
type PurchaseMeterDetailsResponse struct { type PurchaseMeterDetailsResponse struct {
// Represents billing type. // Represents billing type.
// Expected value is 'Purchase'. // Expected value is 'Purchase'.
BillingType string `pulumi:"billingType"` BillingType *string `pulumi:"billingType"`
// Charging type. // Charging type.
ChargingType string `pulumi:"chargingType"` ChargingType string `pulumi:"chargingType"`
// Billing unit applicable for Pav2 billing // Billing unit applicable for Pav2 billing
@ -2259,7 +2259,7 @@ type PurchaseMeterDetailsResponseInput interface {
type PurchaseMeterDetailsResponseArgs struct { type PurchaseMeterDetailsResponseArgs struct {
// Represents billing type. // Represents billing type.
// Expected value is 'Purchase'. // Expected value is 'Purchase'.
BillingType pulumi.StringInput `pulumi:"billingType"` BillingType pulumi.StringPtrInput `pulumi:"billingType"`
// Charging type. // Charging type.
ChargingType pulumi.StringInput `pulumi:"chargingType"` ChargingType pulumi.StringInput `pulumi:"chargingType"`
// Billing unit applicable for Pav2 billing // Billing unit applicable for Pav2 billing
@ -2301,8 +2301,8 @@ func (o PurchaseMeterDetailsResponseOutput) ToPurchaseMeterDetailsResponseOutput
// Represents billing type. // Represents billing type.
// Expected value is 'Purchase'. // Expected value is 'Purchase'.
func (o PurchaseMeterDetailsResponseOutput) BillingType() pulumi.StringOutput { func (o PurchaseMeterDetailsResponseOutput) BillingType() pulumi.StringPtrOutput {
return o.ApplyT(func(v PurchaseMeterDetailsResponse) string { return v.BillingType }).(pulumi.StringOutput) return o.ApplyT(func(v PurchaseMeterDetailsResponse) *string { return v.BillingType }).(pulumi.StringPtrOutput)
} }
// Charging type. // Charging type.

View file

@ -236,7 +236,7 @@ export interface Pav2MeterDetailsResponse {
* Represents billing type. * Represents billing type.
* Expected value is 'Pav2'. * Expected value is 'Pav2'.
*/ */
billingType: "Pav2"; billingType?: "Pav2";
/** /**
* Charging type. * Charging type.
*/ */
@ -373,7 +373,7 @@ export interface PurchaseMeterDetailsResponse {
* Represents billing type. * Represents billing type.
* Expected value is 'Purchase'. * Expected value is 'Purchase'.
*/ */
billingType: "Purchase"; billingType?: "Purchase";
/** /**
* Charging type. * Charging type.
*/ */

View file

@ -600,31 +600,23 @@ class Pav2MeterDetailsResponse(dict):
Billing type PAV2 meter details Billing type PAV2 meter details
""" """
def __init__(__self__, *, def __init__(__self__, *,
billing_type: str,
charging_type: str, charging_type: str,
meter_guid: str, meter_guid: str,
multiplier: float): multiplier: float,
billing_type: Optional[str] = None):
""" """
Billing type PAV2 meter details Billing type PAV2 meter details
:param str billing_type: Represents billing type.
Expected value is 'Pav2'.
:param str charging_type: Charging type. :param str charging_type: Charging type.
:param str meter_guid: Validation status of requested data center and transport. :param str meter_guid: Validation status of requested data center and transport.
:param float multiplier: Billing unit applicable for Pav2 billing :param float multiplier: Billing unit applicable for Pav2 billing
:param str billing_type: Represents billing type.
Expected value is 'Pav2'.
""" """
pulumi.set(__self__, "billing_type", 'Pav2')
pulumi.set(__self__, "charging_type", charging_type) pulumi.set(__self__, "charging_type", charging_type)
pulumi.set(__self__, "meter_guid", meter_guid) pulumi.set(__self__, "meter_guid", meter_guid)
pulumi.set(__self__, "multiplier", multiplier) pulumi.set(__self__, "multiplier", multiplier)
if billing_type is not None:
@property pulumi.set(__self__, "billing_type", 'Pav2')
@pulumi.getter(name="billingType")
def billing_type(self) -> str:
"""
Represents billing type.
Expected value is 'Pav2'.
"""
return pulumi.get(self, "billing_type")
@property @property
@pulumi.getter(name="chargingType") @pulumi.getter(name="chargingType")
@ -650,6 +642,15 @@ class Pav2MeterDetailsResponse(dict):
""" """
return pulumi.get(self, "multiplier") return pulumi.get(self, "multiplier")
@property
@pulumi.getter(name="billingType")
def billing_type(self) -> Optional[str]:
"""
Represents billing type.
Expected value is 'Pav2'.
"""
return pulumi.get(self, "billing_type")
@pulumi.output_type @pulumi.output_type
class ProductFamilyResponse(dict): class ProductFamilyResponse(dict):
@ -954,37 +955,29 @@ class PurchaseMeterDetailsResponse(dict):
Billing type Purchase meter details Billing type Purchase meter details
""" """
def __init__(__self__, *, def __init__(__self__, *,
billing_type: str,
charging_type: str, charging_type: str,
multiplier: float, multiplier: float,
product_id: str, product_id: str,
sku_id: str, sku_id: str,
term_id: str): term_id: str,
billing_type: Optional[str] = None):
""" """
Billing type Purchase meter details Billing type Purchase meter details
:param str billing_type: Represents billing type.
Expected value is 'Purchase'.
:param str charging_type: Charging type. :param str charging_type: Charging type.
:param float multiplier: Billing unit applicable for Pav2 billing :param float multiplier: Billing unit applicable for Pav2 billing
:param str product_id: Product Id :param str product_id: Product Id
:param str sku_id: Sku Id :param str sku_id: Sku Id
:param str term_id: Term Id :param str term_id: Term Id
:param str billing_type: Represents billing type.
Expected value is 'Purchase'.
""" """
pulumi.set(__self__, "billing_type", 'Purchase')
pulumi.set(__self__, "charging_type", charging_type) pulumi.set(__self__, "charging_type", charging_type)
pulumi.set(__self__, "multiplier", multiplier) pulumi.set(__self__, "multiplier", multiplier)
pulumi.set(__self__, "product_id", product_id) pulumi.set(__self__, "product_id", product_id)
pulumi.set(__self__, "sku_id", sku_id) pulumi.set(__self__, "sku_id", sku_id)
pulumi.set(__self__, "term_id", term_id) pulumi.set(__self__, "term_id", term_id)
if billing_type is not None:
@property pulumi.set(__self__, "billing_type", 'Purchase')
@pulumi.getter(name="billingType")
def billing_type(self) -> str:
"""
Represents billing type.
Expected value is 'Purchase'.
"""
return pulumi.get(self, "billing_type")
@property @property
@pulumi.getter(name="chargingType") @pulumi.getter(name="chargingType")
@ -1026,6 +1019,15 @@ class PurchaseMeterDetailsResponse(dict):
""" """
return pulumi.get(self, "term_id") return pulumi.get(self, "term_id")
@property
@pulumi.getter(name="billingType")
def billing_type(self) -> Optional[str]:
"""
Represents billing type.
Expected value is 'Purchase'.
"""
return pulumi.get(self, "billing_type")
@pulumi.output_type @pulumi.output_type
class SpecificationResponse(dict): class SpecificationResponse(dict):

View file

@ -814,7 +814,6 @@
}, },
"type": "object", "type": "object",
"required": [ "required": [
"billingType",
"chargingType", "chargingType",
"multiplier", "multiplier",
"productId", "productId",
@ -845,7 +844,6 @@
}, },
"type": "object", "type": "object",
"required": [ "required": [
"billingType",
"chargingType", "chargingType",
"meterGuid", "meterGuid",
"multiplier" "multiplier"

View file

@ -36,7 +36,7 @@ namespace Pulumi.Mypkg.Outputs
/// The type of SSIS object metadata. /// The type of SSIS object metadata.
/// Expected value is 'Environment'. /// Expected value is 'Environment'.
/// </summary> /// </summary>
public readonly string Type; public readonly string? Type;
/// <summary> /// <summary>
/// Variable in environment /// Variable in environment
/// </summary> /// </summary>
@ -52,7 +52,7 @@ namespace Pulumi.Mypkg.Outputs
string? name, string? name,
string type, string? type,
ImmutableArray<Outputs.SsisVariableResponse> variables) ImmutableArray<Outputs.SsisVariableResponse> variables)
{ {

View file

@ -32,7 +32,7 @@ namespace Pulumi.Mypkg.Outputs
/// The type of SSIS object metadata. /// The type of SSIS object metadata.
/// Expected value is 'Folder'. /// Expected value is 'Folder'.
/// </summary> /// </summary>
public readonly string Type; public readonly string? Type;
[OutputConstructor] [OutputConstructor]
private SsisFolderResponse( private SsisFolderResponse(
@ -42,7 +42,7 @@ namespace Pulumi.Mypkg.Outputs
string? name, string? name,
string type) string? type)
{ {
Description = description; Description = description;
Id = id; Id = id;

View file

@ -48,7 +48,7 @@ namespace Pulumi.Mypkg.Outputs
/// The type of SSIS object metadata. /// The type of SSIS object metadata.
/// Expected value is 'Package'. /// Expected value is 'Package'.
/// </summary> /// </summary>
public readonly string Type; public readonly string? Type;
[OutputConstructor] [OutputConstructor]
private SsisPackageResponse( private SsisPackageResponse(
@ -66,7 +66,7 @@ namespace Pulumi.Mypkg.Outputs
double? projectVersion, double? projectVersion,
string type) string? type)
{ {
Description = description; Description = description;
FolderId = folderId; FolderId = folderId;

View file

@ -44,7 +44,7 @@ namespace Pulumi.Mypkg.Outputs
/// The type of SSIS object metadata. /// The type of SSIS object metadata.
/// Expected value is 'Project'. /// Expected value is 'Project'.
/// </summary> /// </summary>
public readonly string Type; public readonly string? Type;
/// <summary> /// <summary>
/// Project version. /// Project version.
/// </summary> /// </summary>
@ -64,7 +64,7 @@ namespace Pulumi.Mypkg.Outputs
ImmutableArray<Outputs.SsisParameterResponse> parameters, ImmutableArray<Outputs.SsisParameterResponse> parameters,
string type, string? type,
double? version) double? version)
{ {

View file

@ -249,7 +249,7 @@ type SsisEnvironmentResponse struct {
Name *string `pulumi:"name"` Name *string `pulumi:"name"`
// The type of SSIS object metadata. // The type of SSIS object metadata.
// Expected value is 'Environment'. // Expected value is 'Environment'.
Type string `pulumi:"type"` Type *string `pulumi:"type"`
// Variable in environment // Variable in environment
Variables []SsisVariableResponse `pulumi:"variables"` Variables []SsisVariableResponse `pulumi:"variables"`
} }
@ -277,7 +277,7 @@ type SsisEnvironmentResponseArgs struct {
Name pulumi.StringPtrInput `pulumi:"name"` Name pulumi.StringPtrInput `pulumi:"name"`
// The type of SSIS object metadata. // The type of SSIS object metadata.
// Expected value is 'Environment'. // Expected value is 'Environment'.
Type pulumi.StringInput `pulumi:"type"` Type pulumi.StringPtrInput `pulumi:"type"`
// Variable in environment // Variable in environment
Variables SsisVariableResponseArrayInput `pulumi:"variables"` Variables SsisVariableResponseArrayInput `pulumi:"variables"`
} }
@ -331,8 +331,8 @@ func (o SsisEnvironmentResponseOutput) Name() pulumi.StringPtrOutput {
// The type of SSIS object metadata. // The type of SSIS object metadata.
// Expected value is 'Environment'. // Expected value is 'Environment'.
func (o SsisEnvironmentResponseOutput) Type() pulumi.StringOutput { func (o SsisEnvironmentResponseOutput) Type() pulumi.StringPtrOutput {
return o.ApplyT(func(v SsisEnvironmentResponse) string { return v.Type }).(pulumi.StringOutput) return o.ApplyT(func(v SsisEnvironmentResponse) *string { return v.Type }).(pulumi.StringPtrOutput)
} }
// Variable in environment // Variable in environment
@ -350,7 +350,7 @@ type SsisFolderResponse struct {
Name *string `pulumi:"name"` Name *string `pulumi:"name"`
// The type of SSIS object metadata. // The type of SSIS object metadata.
// Expected value is 'Folder'. // Expected value is 'Folder'.
Type string `pulumi:"type"` Type *string `pulumi:"type"`
} }
// SsisFolderResponseInput is an input type that accepts SsisFolderResponseArgs and SsisFolderResponseOutput values. // SsisFolderResponseInput is an input type that accepts SsisFolderResponseArgs and SsisFolderResponseOutput values.
@ -374,7 +374,7 @@ type SsisFolderResponseArgs struct {
Name pulumi.StringPtrInput `pulumi:"name"` Name pulumi.StringPtrInput `pulumi:"name"`
// The type of SSIS object metadata. // The type of SSIS object metadata.
// Expected value is 'Folder'. // Expected value is 'Folder'.
Type pulumi.StringInput `pulumi:"type"` Type pulumi.StringPtrInput `pulumi:"type"`
} }
func (SsisFolderResponseArgs) ElementType() reflect.Type { func (SsisFolderResponseArgs) ElementType() reflect.Type {
@ -421,8 +421,8 @@ func (o SsisFolderResponseOutput) Name() pulumi.StringPtrOutput {
// The type of SSIS object metadata. // The type of SSIS object metadata.
// Expected value is 'Folder'. // Expected value is 'Folder'.
func (o SsisFolderResponseOutput) Type() pulumi.StringOutput { func (o SsisFolderResponseOutput) Type() pulumi.StringPtrOutput {
return o.ApplyT(func(v SsisFolderResponse) string { return v.Type }).(pulumi.StringOutput) return o.ApplyT(func(v SsisFolderResponse) *string { return v.Type }).(pulumi.StringPtrOutput)
} }
// Ssis Package. // Ssis Package.
@ -443,7 +443,7 @@ type SsisPackageResponse struct {
ProjectVersion *float64 `pulumi:"projectVersion"` ProjectVersion *float64 `pulumi:"projectVersion"`
// The type of SSIS object metadata. // The type of SSIS object metadata.
// Expected value is 'Package'. // Expected value is 'Package'.
Type string `pulumi:"type"` Type *string `pulumi:"type"`
} }
// SsisPackageResponseInput is an input type that accepts SsisPackageResponseArgs and SsisPackageResponseOutput values. // SsisPackageResponseInput is an input type that accepts SsisPackageResponseArgs and SsisPackageResponseOutput values.
@ -475,7 +475,7 @@ type SsisPackageResponseArgs struct {
ProjectVersion pulumi.Float64PtrInput `pulumi:"projectVersion"` ProjectVersion pulumi.Float64PtrInput `pulumi:"projectVersion"`
// The type of SSIS object metadata. // The type of SSIS object metadata.
// Expected value is 'Package'. // Expected value is 'Package'.
Type pulumi.StringInput `pulumi:"type"` Type pulumi.StringPtrInput `pulumi:"type"`
} }
func (SsisPackageResponseArgs) ElementType() reflect.Type { func (SsisPackageResponseArgs) ElementType() reflect.Type {
@ -542,8 +542,8 @@ func (o SsisPackageResponseOutput) ProjectVersion() pulumi.Float64PtrOutput {
// The type of SSIS object metadata. // The type of SSIS object metadata.
// Expected value is 'Package'. // Expected value is 'Package'.
func (o SsisPackageResponseOutput) Type() pulumi.StringOutput { func (o SsisPackageResponseOutput) Type() pulumi.StringPtrOutput {
return o.ApplyT(func(v SsisPackageResponse) string { return v.Type }).(pulumi.StringOutput) return o.ApplyT(func(v SsisPackageResponse) *string { return v.Type }).(pulumi.StringPtrOutput)
} }
// Ssis parameter. // Ssis parameter.
@ -761,7 +761,7 @@ type SsisProjectResponse struct {
Parameters []SsisParameterResponse `pulumi:"parameters"` Parameters []SsisParameterResponse `pulumi:"parameters"`
// The type of SSIS object metadata. // The type of SSIS object metadata.
// Expected value is 'Project'. // Expected value is 'Project'.
Type string `pulumi:"type"` Type *string `pulumi:"type"`
// Project version. // Project version.
Version *float64 `pulumi:"version"` Version *float64 `pulumi:"version"`
} }
@ -793,7 +793,7 @@ type SsisProjectResponseArgs struct {
Parameters SsisParameterResponseArrayInput `pulumi:"parameters"` Parameters SsisParameterResponseArrayInput `pulumi:"parameters"`
// The type of SSIS object metadata. // The type of SSIS object metadata.
// Expected value is 'Project'. // Expected value is 'Project'.
Type pulumi.StringInput `pulumi:"type"` Type pulumi.StringPtrInput `pulumi:"type"`
// Project version. // Project version.
Version pulumi.Float64PtrInput `pulumi:"version"` Version pulumi.Float64PtrInput `pulumi:"version"`
} }
@ -857,8 +857,8 @@ func (o SsisProjectResponseOutput) Parameters() SsisParameterResponseArrayOutput
// The type of SSIS object metadata. // The type of SSIS object metadata.
// Expected value is 'Project'. // Expected value is 'Project'.
func (o SsisProjectResponseOutput) Type() pulumi.StringOutput { func (o SsisProjectResponseOutput) Type() pulumi.StringPtrOutput {
return o.ApplyT(func(v SsisProjectResponse) string { return v.Type }).(pulumi.StringOutput) return o.ApplyT(func(v SsisProjectResponse) *string { return v.Type }).(pulumi.StringPtrOutput)
} }
// Project version. // Project version.

View file

@ -50,7 +50,7 @@ export interface SsisEnvironmentResponse {
* The type of SSIS object metadata. * The type of SSIS object metadata.
* Expected value is 'Environment'. * Expected value is 'Environment'.
*/ */
type: "Environment"; type?: "Environment";
/** /**
* Variable in environment * Variable in environment
*/ */
@ -77,7 +77,7 @@ export interface SsisFolderResponse {
* The type of SSIS object metadata. * The type of SSIS object metadata.
* Expected value is 'Folder'. * Expected value is 'Folder'.
*/ */
type: "Folder"; type?: "Folder";
} }
/** /**
@ -116,7 +116,7 @@ export interface SsisPackageResponse {
* The type of SSIS object metadata. * The type of SSIS object metadata.
* Expected value is 'Package'. * Expected value is 'Package'.
*/ */
type: "Package"; type?: "Package";
} }
/** /**
@ -205,7 +205,7 @@ export interface SsisProjectResponse {
* The type of SSIS object metadata. * The type of SSIS object metadata.
* Expected value is 'Project'. * Expected value is 'Project'.
*/ */
type: "Project"; type?: "Project";
/** /**
* Project version. * Project version.
*/ */

View file

@ -85,23 +85,22 @@ class SsisEnvironmentResponse(dict):
Ssis environment. Ssis environment.
""" """
def __init__(__self__, *, def __init__(__self__, *,
type: str,
description: Optional[str] = None, description: Optional[str] = None,
folder_id: Optional[float] = None, folder_id: Optional[float] = None,
id: Optional[float] = None, id: Optional[float] = None,
name: Optional[str] = None, name: Optional[str] = None,
type: Optional[str] = None,
variables: Optional[Sequence['outputs.SsisVariableResponse']] = None): variables: Optional[Sequence['outputs.SsisVariableResponse']] = None):
""" """
Ssis environment. Ssis environment.
:param str type: The type of SSIS object metadata.
Expected value is 'Environment'.
:param str description: Metadata description. :param str description: Metadata description.
:param float folder_id: Folder id which contains environment. :param float folder_id: Folder id which contains environment.
:param float id: Metadata id. :param float id: Metadata id.
:param str name: Metadata name. :param str name: Metadata name.
:param str type: The type of SSIS object metadata.
Expected value is 'Environment'.
:param Sequence['SsisVariableResponse'] variables: Variable in environment :param Sequence['SsisVariableResponse'] variables: Variable in environment
""" """
pulumi.set(__self__, "type", 'Environment')
if description is not None: if description is not None:
pulumi.set(__self__, "description", description) pulumi.set(__self__, "description", description)
if folder_id is not None: if folder_id is not None:
@ -110,18 +109,11 @@ class SsisEnvironmentResponse(dict):
pulumi.set(__self__, "id", id) pulumi.set(__self__, "id", id)
if name is not None: if name is not None:
pulumi.set(__self__, "name", name) pulumi.set(__self__, "name", name)
if type is not None:
pulumi.set(__self__, "type", 'Environment')
if variables is not None: if variables is not None:
pulumi.set(__self__, "variables", variables) pulumi.set(__self__, "variables", variables)
@property
@pulumi.getter
def type(self) -> str:
"""
The type of SSIS object metadata.
Expected value is 'Environment'.
"""
return pulumi.get(self, "type")
@property @property
@pulumi.getter @pulumi.getter
def description(self) -> Optional[str]: def description(self) -> Optional[str]:
@ -154,6 +146,15 @@ class SsisEnvironmentResponse(dict):
""" """
return pulumi.get(self, "name") return pulumi.get(self, "name")
@property
@pulumi.getter
def type(self) -> Optional[str]:
"""
The type of SSIS object metadata.
Expected value is 'Environment'.
"""
return pulumi.get(self, "type")
@property @property
@pulumi.getter @pulumi.getter
def variables(self) -> Optional[Sequence['outputs.SsisVariableResponse']]: def variables(self) -> Optional[Sequence['outputs.SsisVariableResponse']]:
@ -169,34 +170,26 @@ class SsisFolderResponse(dict):
Ssis folder. Ssis folder.
""" """
def __init__(__self__, *, def __init__(__self__, *,
type: str,
description: Optional[str] = None, description: Optional[str] = None,
id: Optional[float] = None, id: Optional[float] = None,
name: Optional[str] = None): name: Optional[str] = None,
type: Optional[str] = None):
""" """
Ssis folder. Ssis folder.
:param str type: The type of SSIS object metadata.
Expected value is 'Folder'.
:param str description: Metadata description. :param str description: Metadata description.
:param float id: Metadata id. :param float id: Metadata id.
:param str name: Metadata name. :param str name: Metadata name.
:param str type: The type of SSIS object metadata.
Expected value is 'Folder'.
""" """
pulumi.set(__self__, "type", 'Folder')
if description is not None: if description is not None:
pulumi.set(__self__, "description", description) pulumi.set(__self__, "description", description)
if id is not None: if id is not None:
pulumi.set(__self__, "id", id) pulumi.set(__self__, "id", id)
if name is not None: if name is not None:
pulumi.set(__self__, "name", name) pulumi.set(__self__, "name", name)
if type is not None:
@property pulumi.set(__self__, "type", 'Folder')
@pulumi.getter
def type(self) -> str:
"""
The type of SSIS object metadata.
Expected value is 'Folder'.
"""
return pulumi.get(self, "type")
@property @property
@pulumi.getter @pulumi.getter
@ -222,6 +215,15 @@ class SsisFolderResponse(dict):
""" """
return pulumi.get(self, "name") return pulumi.get(self, "name")
@property
@pulumi.getter
def type(self) -> Optional[str]:
"""
The type of SSIS object metadata.
Expected value is 'Folder'.
"""
return pulumi.get(self, "type")
@pulumi.output_type @pulumi.output_type
class SsisPackageResponse(dict): class SsisPackageResponse(dict):
@ -229,18 +231,16 @@ class SsisPackageResponse(dict):
Ssis Package. Ssis Package.
""" """
def __init__(__self__, *, def __init__(__self__, *,
type: str,
description: Optional[str] = None, description: Optional[str] = None,
folder_id: Optional[float] = None, folder_id: Optional[float] = None,
id: Optional[float] = None, id: Optional[float] = None,
name: Optional[str] = None, name: Optional[str] = None,
parameters: Optional[Sequence['outputs.SsisParameterResponse']] = None, parameters: Optional[Sequence['outputs.SsisParameterResponse']] = None,
project_id: Optional[float] = None, project_id: Optional[float] = None,
project_version: Optional[float] = None): project_version: Optional[float] = None,
type: Optional[str] = None):
""" """
Ssis Package. Ssis Package.
:param str type: The type of SSIS object metadata.
Expected value is 'Package'.
:param str description: Metadata description. :param str description: Metadata description.
:param float folder_id: Folder id which contains package. :param float folder_id: Folder id which contains package.
:param float id: Metadata id. :param float id: Metadata id.
@ -248,8 +248,9 @@ class SsisPackageResponse(dict):
:param Sequence['SsisParameterResponse'] parameters: Parameters in package :param Sequence['SsisParameterResponse'] parameters: Parameters in package
:param float project_id: Project id which contains package. :param float project_id: Project id which contains package.
:param float project_version: Project version which contains package. :param float project_version: Project version which contains package.
:param str type: The type of SSIS object metadata.
Expected value is 'Package'.
""" """
pulumi.set(__self__, "type", 'Package')
if description is not None: if description is not None:
pulumi.set(__self__, "description", description) pulumi.set(__self__, "description", description)
if folder_id is not None: if folder_id is not None:
@ -264,15 +265,8 @@ class SsisPackageResponse(dict):
pulumi.set(__self__, "project_id", project_id) pulumi.set(__self__, "project_id", project_id)
if project_version is not None: if project_version is not None:
pulumi.set(__self__, "project_version", project_version) pulumi.set(__self__, "project_version", project_version)
if type is not None:
@property pulumi.set(__self__, "type", 'Package')
@pulumi.getter
def type(self) -> str:
"""
The type of SSIS object metadata.
Expected value is 'Package'.
"""
return pulumi.get(self, "type")
@property @property
@pulumi.getter @pulumi.getter
@ -330,6 +324,15 @@ class SsisPackageResponse(dict):
""" """
return pulumi.get(self, "project_version") return pulumi.get(self, "project_version")
@property
@pulumi.getter
def type(self) -> Optional[str]:
"""
The type of SSIS object metadata.
Expected value is 'Package'.
"""
return pulumi.get(self, "type")
@pulumi.output_type @pulumi.output_type
class SsisParameterResponse(dict): class SsisParameterResponse(dict):
@ -492,27 +495,26 @@ class SsisProjectResponse(dict):
Ssis project. Ssis project.
""" """
def __init__(__self__, *, def __init__(__self__, *,
type: str,
description: Optional[str] = None, description: Optional[str] = None,
environment_refs: Optional[Sequence['outputs.SsisEnvironmentReferenceResponse']] = None, environment_refs: Optional[Sequence['outputs.SsisEnvironmentReferenceResponse']] = None,
folder_id: Optional[float] = None, folder_id: Optional[float] = None,
id: Optional[float] = None, id: Optional[float] = None,
name: Optional[str] = None, name: Optional[str] = None,
parameters: Optional[Sequence['outputs.SsisParameterResponse']] = None, parameters: Optional[Sequence['outputs.SsisParameterResponse']] = None,
type: Optional[str] = None,
version: Optional[float] = None): version: Optional[float] = None):
""" """
Ssis project. Ssis project.
:param str type: The type of SSIS object metadata.
Expected value is 'Project'.
:param str description: Metadata description. :param str description: Metadata description.
:param Sequence['SsisEnvironmentReferenceResponse'] environment_refs: Environment reference in project :param Sequence['SsisEnvironmentReferenceResponse'] environment_refs: Environment reference in project
:param float folder_id: Folder id which contains project. :param float folder_id: Folder id which contains project.
:param float id: Metadata id. :param float id: Metadata id.
:param str name: Metadata name. :param str name: Metadata name.
:param Sequence['SsisParameterResponse'] parameters: Parameters in project :param Sequence['SsisParameterResponse'] parameters: Parameters in project
:param str type: The type of SSIS object metadata.
Expected value is 'Project'.
:param float version: Project version. :param float version: Project version.
""" """
pulumi.set(__self__, "type", 'Project')
if description is not None: if description is not None:
pulumi.set(__self__, "description", description) pulumi.set(__self__, "description", description)
if environment_refs is not None: if environment_refs is not None:
@ -525,18 +527,11 @@ class SsisProjectResponse(dict):
pulumi.set(__self__, "name", name) pulumi.set(__self__, "name", name)
if parameters is not None: if parameters is not None:
pulumi.set(__self__, "parameters", parameters) pulumi.set(__self__, "parameters", parameters)
if type is not None:
pulumi.set(__self__, "type", 'Project')
if version is not None: if version is not None:
pulumi.set(__self__, "version", version) pulumi.set(__self__, "version", version)
@property
@pulumi.getter
def type(self) -> str:
"""
The type of SSIS object metadata.
Expected value is 'Project'.
"""
return pulumi.get(self, "type")
@property @property
@pulumi.getter @pulumi.getter
def description(self) -> Optional[str]: def description(self) -> Optional[str]:
@ -585,6 +580,15 @@ class SsisProjectResponse(dict):
""" """
return pulumi.get(self, "parameters") return pulumi.get(self, "parameters")
@property
@pulumi.getter
def type(self) -> Optional[str]:
"""
The type of SSIS object metadata.
Expected value is 'Project'.
"""
return pulumi.get(self, "type")
@property @property
@pulumi.getter @pulumi.getter
def version(self) -> Optional[float]: def version(self) -> Optional[float]:

View file

@ -356,10 +356,7 @@
"description": "Variable in environment" "description": "Variable in environment"
} }
}, },
"type": "object", "type": "object"
"required": [
"type"
]
}, },
"mypkg::SsisFolderResponse": { "mypkg::SsisFolderResponse": {
"description": "Ssis folder.", "description": "Ssis folder.",
@ -382,10 +379,7 @@
"const": "Folder" "const": "Folder"
} }
}, },
"type": "object", "type": "object"
"required": [
"type"
]
}, },
"mypkg::SsisPackageResponse": { "mypkg::SsisPackageResponse": {
"description": "Ssis Package.", "description": "Ssis Package.",
@ -428,10 +422,7 @@
"const": "Package" "const": "Package"
} }
}, },
"type": "object", "type": "object"
"required": [
"type"
]
}, },
"mypkg::SsisProjectResponse": { "mypkg::SsisProjectResponse": {
"description": "Ssis project.", "description": "Ssis project.",
@ -478,10 +469,7 @@
"description": "Project version." "description": "Project version."
} }
}, },
"type": "object", "type": "object"
"required": [
"type"
]
}, },
"mypkg::SsisEnvironmentReferenceResponse": { "mypkg::SsisEnvironmentReferenceResponse": {
"description": "Ssis environment reference.", "description": "Ssis environment reference.",

View file

@ -27,14 +27,16 @@ no_edit_this_page: true
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class=nd>@overload</span> <div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class=nd>@overload</span>
<span class="k">def </span><span class="nx">ModuleResource</span><span class="p">(</span><span class="nx">resource_name</span><span class="p">:</span> <span class="nx">str</span><span class="p">,</span> <span class="k">def </span><span class="nx">ModuleResource</span><span class="p">(</span><span class="nx">resource_name</span><span class="p">:</span> <span class="nx">str</span><span class="p">,</span>
<span class="nx">opts</span><span class="p">:</span> <span class="nx"><a href="/docs/reference/pkg/python/pulumi/#pulumi.ResourceOptions">Optional[ResourceOptions]</a></span> = None<span class="p">,</span> <span class="nx">opts</span><span class="p">:</span> <span class="nx"><a href="/docs/reference/pkg/python/pulumi/#pulumi.ResourceOptions">Optional[ResourceOptions]</a></span> = None<span class="p">,</span>
<span class="nx">optional_bool</span><span class="p">:</span> <span class="nx">Optional[bool]</span> = None<span class="p">,</span> <span class="nx">default_bool</span><span class="p">:</span> <span class="nx">Optional[bool]</span> = None<span class="p">,</span>
<span class="nx">default_enum</span><span class="p">:</span> <span class="nx">Optional[EnumThing]</span> = None<span class="p">,</span>
<span class="nx">default_number</span><span class="p">:</span> <span class="nx">Optional[float]</span> = None<span class="p">,</span>
<span class="nx">default_string</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
<span class="nx">optional_enum</span><span class="p">:</span> <span class="nx">Optional[EnumThing]</span> = None<span class="p">,</span> <span class="nx">optional_enum</span><span class="p">:</span> <span class="nx">Optional[EnumThing]</span> = None<span class="p">,</span>
<span class="nx">optional_number</span><span class="p">:</span> <span class="nx">Optional[float]</span> = None<span class="p">,</span>
<span class="nx">optional_string</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
<span class="nx">plain_optional_bool</span><span class="p">:</span> <span class="nx">Optional[bool]</span> = None<span class="p">,</span> <span class="nx">plain_optional_bool</span><span class="p">:</span> <span class="nx">Optional[bool]</span> = None<span class="p">,</span>
<span class="nx">plain_optional_number</span><span class="p">:</span> <span class="nx">Optional[float]</span> = None<span class="p">,</span> <span class="nx">plain_optional_number</span><span class="p">:</span> <span class="nx">Optional[float]</span> = None<span class="p">,</span>
<span class="nx">plain_optional_string</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span> <span class="nx">plain_optional_string</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
<span class="nx">plain_required_bool</span><span class="p">:</span> <span class="nx">Optional[bool]</span> = None<span class="p">,</span> <span class="nx">plain_required_bool</span><span class="p">:</span> <span class="nx">Optional[bool]</span> = None<span class="p">,</span>
<span class="nx">plain_required_enum</span><span class="p">:</span> <span class="nx">Optional[EnumThing]</span> = None<span class="p">,</span>
<span class="nx">plain_required_number</span><span class="p">:</span> <span class="nx">Optional[float]</span> = None<span class="p">,</span> <span class="nx">plain_required_number</span><span class="p">:</span> <span class="nx">Optional[float]</span> = None<span class="p">,</span>
<span class="nx">plain_required_string</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span> <span class="nx">plain_required_string</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
<span class="nx">required_bool</span><span class="p">:</span> <span class="nx">Optional[bool]</span> = None<span class="p">,</span> <span class="nx">required_bool</span><span class="p">:</span> <span class="nx">Optional[bool]</span> = None<span class="p">,</span>
@ -176,6 +178,14 @@ The ModuleResource resource accepts the following [input]({{< relref "/docs/intr
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type">bool</span> <span class="property-type">bool</span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required"
title="Required">
<span id="plain_required_enum_csharp">
<a href="#plain_required_enum_csharp" style="color: inherit; text-decoration: inherit;">Plain_<wbr>required_<wbr>enum</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#enumthing">Pulumi.<wbr>Foo<wbr>Bar.<wbr>Enum<wbr>Thing</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-required"
title="Required"> title="Required">
<span id="plain_required_number_csharp"> <span id="plain_required_number_csharp">
@ -226,12 +236,36 @@ The ModuleResource resource accepts the following [input]({{< relref "/docs/intr
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="optional_bool_csharp"> <span id="default_bool_csharp">
<a href="#optional_bool_csharp" style="color: inherit; text-decoration: inherit;">Optional_<wbr>bool</a> <a href="#default_bool_csharp" style="color: inherit; text-decoration: inherit;">Default_<wbr>bool</a>
</span> </span>
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type">bool</span> <span class="property-type">bool</span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="default_enum_csharp">
<a href="#default_enum_csharp" style="color: inherit; text-decoration: inherit;">Default_<wbr>enum</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#enumthing">Pulumi.<wbr>Foo<wbr>Bar.<wbr>Enum<wbr>Thing</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="default_number_csharp">
<a href="#default_number_csharp" style="color: inherit; text-decoration: inherit;">Default_<wbr>number</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">double</span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="default_string_csharp">
<a href="#default_string_csharp" style="color: inherit; text-decoration: inherit;">Default_<wbr>string</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">string</span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="optional_enum_csharp"> <span id="optional_enum_csharp">
@ -240,22 +274,6 @@ The ModuleResource resource accepts the following [input]({{< relref "/docs/intr
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#enumthing">Pulumi.<wbr>Foo<wbr>Bar.<wbr>Enum<wbr>Thing</a></span> <span class="property-type"><a href="#enumthing">Pulumi.<wbr>Foo<wbr>Bar.<wbr>Enum<wbr>Thing</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="optional_number_csharp">
<a href="#optional_number_csharp" style="color: inherit; text-decoration: inherit;">Optional_<wbr>number</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">double</span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="optional_string_csharp">
<a href="#optional_string_csharp" style="color: inherit; text-decoration: inherit;">Optional_<wbr>string</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">string</span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="plain_optional_bool_csharp"> <span id="plain_optional_bool_csharp">
@ -292,6 +310,14 @@ The ModuleResource resource accepts the following [input]({{< relref "/docs/intr
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type">bool</span> <span class="property-type">bool</span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required"
title="Required">
<span id="plain_required_enum_go">
<a href="#plain_required_enum_go" style="color: inherit; text-decoration: inherit;">Plain_<wbr>required_<wbr>enum</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#enumthing">Enum<wbr>Thing</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-required"
title="Required"> title="Required">
<span id="plain_required_number_go"> <span id="plain_required_number_go">
@ -342,12 +368,36 @@ The ModuleResource resource accepts the following [input]({{< relref "/docs/intr
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="optional_bool_go"> <span id="default_bool_go">
<a href="#optional_bool_go" style="color: inherit; text-decoration: inherit;">Optional_<wbr>bool</a> <a href="#default_bool_go" style="color: inherit; text-decoration: inherit;">Default_<wbr>bool</a>
</span> </span>
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type">bool</span> <span class="property-type">bool</span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="default_enum_go">
<a href="#default_enum_go" style="color: inherit; text-decoration: inherit;">Default_<wbr>enum</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#enumthing">Enum<wbr>Thing</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="default_number_go">
<a href="#default_number_go" style="color: inherit; text-decoration: inherit;">Default_<wbr>number</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">float64</span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="default_string_go">
<a href="#default_string_go" style="color: inherit; text-decoration: inherit;">Default_<wbr>string</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">string</span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="optional_enum_go"> <span id="optional_enum_go">
@ -356,22 +406,6 @@ The ModuleResource resource accepts the following [input]({{< relref "/docs/intr
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#enumthing">Enum<wbr>Thing</a></span> <span class="property-type"><a href="#enumthing">Enum<wbr>Thing</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="optional_number_go">
<a href="#optional_number_go" style="color: inherit; text-decoration: inherit;">Optional_<wbr>number</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">float64</span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="optional_string_go">
<a href="#optional_string_go" style="color: inherit; text-decoration: inherit;">Optional_<wbr>string</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">string</span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="plain_optional_bool_go"> <span id="plain_optional_bool_go">
@ -408,6 +442,14 @@ The ModuleResource resource accepts the following [input]({{< relref "/docs/intr
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type">boolean</span> <span class="property-type">boolean</span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required"
title="Required">
<span id="plain_required_enum_nodejs">
<a href="#plain_required_enum_nodejs" style="color: inherit; text-decoration: inherit;">plain_<wbr>required_<wbr>enum</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#enumthing">Enum<wbr>Thing</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-required"
title="Required"> title="Required">
<span id="plain_required_number_nodejs"> <span id="plain_required_number_nodejs">
@ -458,12 +500,36 @@ The ModuleResource resource accepts the following [input]({{< relref "/docs/intr
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="optional_bool_nodejs"> <span id="default_bool_nodejs">
<a href="#optional_bool_nodejs" style="color: inherit; text-decoration: inherit;">optional_<wbr>bool</a> <a href="#default_bool_nodejs" style="color: inherit; text-decoration: inherit;">default_<wbr>bool</a>
</span> </span>
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type">boolean</span> <span class="property-type">boolean</span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="default_enum_nodejs">
<a href="#default_enum_nodejs" style="color: inherit; text-decoration: inherit;">default_<wbr>enum</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#enumthing">Enum<wbr>Thing</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="default_number_nodejs">
<a href="#default_number_nodejs" style="color: inherit; text-decoration: inherit;">default_<wbr>number</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">number</span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="default_string_nodejs">
<a href="#default_string_nodejs" style="color: inherit; text-decoration: inherit;">default_<wbr>string</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">string</span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="optional_enum_nodejs"> <span id="optional_enum_nodejs">
@ -472,22 +538,6 @@ The ModuleResource resource accepts the following [input]({{< relref "/docs/intr
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#enumthing">Enum<wbr>Thing</a></span> <span class="property-type"><a href="#enumthing">Enum<wbr>Thing</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="optional_number_nodejs">
<a href="#optional_number_nodejs" style="color: inherit; text-decoration: inherit;">optional_<wbr>number</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">number</span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="optional_string_nodejs">
<a href="#optional_string_nodejs" style="color: inherit; text-decoration: inherit;">optional_<wbr>string</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">string</span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="plain_optional_bool_nodejs"> <span id="plain_optional_bool_nodejs">
@ -524,6 +574,14 @@ The ModuleResource resource accepts the following [input]({{< relref "/docs/intr
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type">bool</span> <span class="property-type">bool</span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required"
title="Required">
<span id="plain_required_enum_python">
<a href="#plain_required_enum_python" style="color: inherit; text-decoration: inherit;">plain_<wbr>required_<wbr>enum</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#enumthing">Enum<wbr>Thing</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-required"
title="Required"> title="Required">
<span id="plain_required_number_python"> <span id="plain_required_number_python">
@ -574,12 +632,36 @@ The ModuleResource resource accepts the following [input]({{< relref "/docs/intr
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="optional_bool_python"> <span id="default_bool_python">
<a href="#optional_bool_python" style="color: inherit; text-decoration: inherit;">optional_<wbr>bool</a> <a href="#default_bool_python" style="color: inherit; text-decoration: inherit;">default_<wbr>bool</a>
</span> </span>
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type">bool</span> <span class="property-type">bool</span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="default_enum_python">
<a href="#default_enum_python" style="color: inherit; text-decoration: inherit;">default_<wbr>enum</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#enumthing">Enum<wbr>Thing</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="default_number_python">
<a href="#default_number_python" style="color: inherit; text-decoration: inherit;">default_<wbr>number</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">float</span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="default_string_python">
<a href="#default_string_python" style="color: inherit; text-decoration: inherit;">default_<wbr>string</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">str</span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="optional_enum_python"> <span id="optional_enum_python">
@ -588,22 +670,6 @@ The ModuleResource resource accepts the following [input]({{< relref "/docs/intr
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#enumthing">Enum<wbr>Thing</a></span> <span class="property-type"><a href="#enumthing">Enum<wbr>Thing</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="optional_number_python">
<a href="#optional_number_python" style="color: inherit; text-decoration: inherit;">optional_<wbr>number</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">float</span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="optional_string_python">
<a href="#optional_string_python" style="color: inherit; text-decoration: inherit;">optional_<wbr>string</a>
</span>
<span class="property-indicator"></span>
<span class="property-type">str</span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="plain_optional_bool_python"> <span id="plain_optional_bool_python">

View file

@ -32,9 +32,7 @@ namespace Pulumi.FooBar
private static ModuleResourceArgs MakeArgs(ModuleResourceArgs args) private static ModuleResourceArgs MakeArgs(ModuleResourceArgs args)
{ {
args ??= new ModuleResourceArgs(); args ??= new ModuleResourceArgs();
args.Optional_const = "val"; args.String_const = "val";
args.Plain_optional_const = "val";
args.Plain_required_const = "val";
return args; return args;
} }
@ -65,27 +63,24 @@ namespace Pulumi.FooBar
public sealed class ModuleResourceArgs : Pulumi.ResourceArgs public sealed class ModuleResourceArgs : Pulumi.ResourceArgs
{ {
[Input("optional_bool")] [Input("default_bool")]
public Input<bool>? Optional_bool { get; set; } public Input<bool>? Default_bool { get; set; }
[Input("optional_const")] [Input("default_enum")]
public Input<string>? Optional_const { get; set; } public Input<Pulumi.FooBar.EnumThing>? Default_enum { get; set; }
[Input("default_number")]
public Input<double>? Default_number { get; set; }
[Input("default_string")]
public Input<string>? Default_string { get; set; }
[Input("optional_enum")] [Input("optional_enum")]
public Input<Pulumi.FooBar.EnumThing>? Optional_enum { get; set; } public Input<Pulumi.FooBar.EnumThing>? Optional_enum { get; set; }
[Input("optional_number")]
public Input<double>? Optional_number { get; set; }
[Input("optional_string")]
public Input<string>? Optional_string { get; set; }
[Input("plain_optional_bool")] [Input("plain_optional_bool")]
public bool? Plain_optional_bool { get; set; } public bool? Plain_optional_bool { get; set; }
[Input("plain_optional_const")]
public string? Plain_optional_const { get; set; }
[Input("plain_optional_number")] [Input("plain_optional_number")]
public double? Plain_optional_number { get; set; } public double? Plain_optional_number { get; set; }
@ -95,8 +90,8 @@ namespace Pulumi.FooBar
[Input("plain_required_bool", required: true)] [Input("plain_required_bool", required: true)]
public bool Plain_required_bool { get; set; } public bool Plain_required_bool { get; set; }
[Input("plain_required_const", required: true)] [Input("plain_required_enum", required: true)]
public string Plain_required_const { get; set; } = null!; public Pulumi.FooBar.EnumThing Plain_required_enum { get; set; }
[Input("plain_required_number", required: true)] [Input("plain_required_number", required: true)]
public double Plain_required_number { get; set; } public double Plain_required_number { get; set; }
@ -116,25 +111,19 @@ namespace Pulumi.FooBar
[Input("required_string", required: true)] [Input("required_string", required: true)]
public Input<string> Required_string { get; set; } = null!; public Input<string> Required_string { get; set; } = null!;
[Input("string_const")]
public Input<string>? String_const { get; set; }
public ModuleResourceArgs() public ModuleResourceArgs()
{ {
Optional_bool = true; Default_bool = true;
Optional_const = "another"; Default_enum = Pulumi.FooBar.EnumThing.Four;
Default_number = 42;
Default_string = "buzzer";
Optional_enum = Pulumi.FooBar.EnumThing.Eight; Optional_enum = Pulumi.FooBar.EnumThing.Eight;
Optional_number = 42;
Optional_string = "buzzer";
Plain_optional_bool = true; Plain_optional_bool = true;
Plain_optional_const = "another";
Plain_optional_number = 42; Plain_optional_number = 42;
Plain_optional_string = "buzzer"; Plain_optional_string = "buzzer";
Plain_required_bool = true;
Plain_required_const = "another";
Plain_required_number = 42;
Plain_required_string = "buzzer";
Required_bool = true;
Required_enum = Pulumi.FooBar.EnumThing.Four;
Required_number = 42;
Required_string = "buzzer";
} }
} }
} }

View file

@ -22,25 +22,37 @@ func NewModuleResource(ctx *pulumi.Context,
return nil, errors.New("missing one or more required arguments") return nil, errors.New("missing one or more required arguments")
} }
if args.Optional_bool == nil { if args.Required_bool == nil {
args.Optional_bool = pulumi.BoolPtr(true) return nil, errors.New("invalid value for required argument 'Required_bool'")
}
if args.Required_enum == nil {
return nil, errors.New("invalid value for required argument 'Required_enum'")
}
if args.Required_number == nil {
return nil, errors.New("invalid value for required argument 'Required_number'")
}
if args.Required_string == nil {
return nil, errors.New("invalid value for required argument 'Required_string'")
}
if args.Default_bool == nil {
args.Default_bool = pulumi.BoolPtr(true)
}
if args.Default_enum == nil {
args.Default_enum = EnumThing(4)
}
if args.Default_number == nil {
args.Default_number = pulumi.Float64Ptr(42.0)
}
if args.Default_string == nil {
args.Default_string = pulumi.StringPtr("buzzer")
} }
args.Optional_const = pulumi.StringPtr("val")
if args.Optional_enum == nil { if args.Optional_enum == nil {
args.Optional_enum = EnumThing(8) args.Optional_enum = EnumThing(8)
} }
if args.Optional_number == nil {
args.Optional_number = pulumi.Float64Ptr(42.0)
}
if args.Optional_string == nil {
args.Optional_string = pulumi.StringPtr("buzzer")
}
if args.Plain_optional_bool == nil { if args.Plain_optional_bool == nil {
plain_optional_bool_ := true plain_optional_bool_ := true
args.Plain_optional_bool = &plain_optional_bool_ args.Plain_optional_bool = &plain_optional_bool_
} }
plain_optional_const_ := "val"
args.Plain_optional_const = &plain_optional_const_
if args.Plain_optional_number == nil { if args.Plain_optional_number == nil {
plain_optional_number_ := 42.0 plain_optional_number_ := 42.0
args.Plain_optional_number = &plain_optional_number_ args.Plain_optional_number = &plain_optional_number_
@ -49,28 +61,7 @@ func NewModuleResource(ctx *pulumi.Context,
plain_optional_string_ := "buzzer" plain_optional_string_ := "buzzer"
args.Plain_optional_string = &plain_optional_string_ args.Plain_optional_string = &plain_optional_string_
} }
if args.Plain_required_bool == false { args.String_const = pulumi.StringPtr("val")
args.Plain_required_bool = true
}
args.Plain_required_const = "val"
if args.Plain_required_number == 0.0 {
args.Plain_required_number = 42.0
}
if args.Plain_required_string == "" {
args.Plain_required_string = "buzzer"
}
if args.Required_bool == nil {
args.Required_bool = pulumi.Bool(true)
}
if args.Required_enum == nil {
args.Required_enum = EnumThing(4)
}
if args.Required_number == nil {
args.Required_number = pulumi.Float64(42.0)
}
if args.Required_string == nil {
args.Required_string = pulumi.String("buzzer")
}
var resource ModuleResource var resource ModuleResource
err := ctx.RegisterResource("foobar::ModuleResource", name, args, &resource, opts...) err := ctx.RegisterResource("foobar::ModuleResource", name, args, &resource, opts...)
if err != nil { if err != nil {
@ -103,44 +94,44 @@ func (ModuleResourceState) ElementType() reflect.Type {
} }
type moduleResourceArgs struct { type moduleResourceArgs struct {
Optional_bool *bool `pulumi:"optional_bool"` Default_bool *bool `pulumi:"default_bool"`
Optional_const *string `pulumi:"optional_const"` Default_enum *EnumThing `pulumi:"default_enum"`
Default_number *float64 `pulumi:"default_number"`
Default_string *string `pulumi:"default_string"`
Optional_enum *EnumThing `pulumi:"optional_enum"` Optional_enum *EnumThing `pulumi:"optional_enum"`
Optional_number *float64 `pulumi:"optional_number"`
Optional_string *string `pulumi:"optional_string"`
Plain_optional_bool *bool `pulumi:"plain_optional_bool"` Plain_optional_bool *bool `pulumi:"plain_optional_bool"`
Plain_optional_const *string `pulumi:"plain_optional_const"`
Plain_optional_number *float64 `pulumi:"plain_optional_number"` Plain_optional_number *float64 `pulumi:"plain_optional_number"`
Plain_optional_string *string `pulumi:"plain_optional_string"` Plain_optional_string *string `pulumi:"plain_optional_string"`
Plain_required_bool bool `pulumi:"plain_required_bool"` Plain_required_bool bool `pulumi:"plain_required_bool"`
Plain_required_const string `pulumi:"plain_required_const"` Plain_required_enum EnumThing `pulumi:"plain_required_enum"`
Plain_required_number float64 `pulumi:"plain_required_number"` Plain_required_number float64 `pulumi:"plain_required_number"`
Plain_required_string string `pulumi:"plain_required_string"` Plain_required_string string `pulumi:"plain_required_string"`
Required_bool bool `pulumi:"required_bool"` Required_bool bool `pulumi:"required_bool"`
Required_enum EnumThing `pulumi:"required_enum"` Required_enum EnumThing `pulumi:"required_enum"`
Required_number float64 `pulumi:"required_number"` Required_number float64 `pulumi:"required_number"`
Required_string string `pulumi:"required_string"` Required_string string `pulumi:"required_string"`
String_const *string `pulumi:"string_const"`
} }
// The set of arguments for constructing a ModuleResource resource. // The set of arguments for constructing a ModuleResource resource.
type ModuleResourceArgs struct { type ModuleResourceArgs struct {
Optional_bool pulumi.BoolPtrInput Default_bool pulumi.BoolPtrInput
Optional_const pulumi.StringPtrInput Default_enum EnumThingPtrInput
Default_number pulumi.Float64PtrInput
Default_string pulumi.StringPtrInput
Optional_enum EnumThingPtrInput Optional_enum EnumThingPtrInput
Optional_number pulumi.Float64PtrInput
Optional_string pulumi.StringPtrInput
Plain_optional_bool *bool Plain_optional_bool *bool
Plain_optional_const *string
Plain_optional_number *float64 Plain_optional_number *float64
Plain_optional_string *string Plain_optional_string *string
Plain_required_bool bool Plain_required_bool bool
Plain_required_const string Plain_required_enum EnumThing
Plain_required_number float64 Plain_required_number float64
Plain_required_string string Plain_required_string string
Required_bool pulumi.BoolInput Required_bool pulumi.BoolInput
Required_enum EnumThingInput Required_enum EnumThingInput
Required_number pulumi.Float64Input Required_number pulumi.Float64Input
Required_string pulumi.StringInput Required_string pulumi.StringInput
String_const pulumi.StringPtrInput
} }
func (ModuleResourceArgs) ElementType() reflect.Type { func (ModuleResourceArgs) ElementType() reflect.Type {

View file

@ -47,8 +47,8 @@ export class ModuleResource extends pulumi.CustomResource {
if ((!args || args.plain_required_bool === undefined) && !opts.urn) { if ((!args || args.plain_required_bool === undefined) && !opts.urn) {
throw new Error("Missing required property 'plain_required_bool'"); throw new Error("Missing required property 'plain_required_bool'");
} }
if ((!args || args.plain_required_const === undefined) && !opts.urn) { if ((!args || args.plain_required_enum === undefined) && !opts.urn) {
throw new Error("Missing required property 'plain_required_const'"); throw new Error("Missing required property 'plain_required_enum'");
} }
if ((!args || args.plain_required_number === undefined) && !opts.urn) { if ((!args || args.plain_required_number === undefined) && !opts.urn) {
throw new Error("Missing required property 'plain_required_number'"); throw new Error("Missing required property 'plain_required_number'");
@ -68,23 +68,23 @@ export class ModuleResource extends pulumi.CustomResource {
if ((!args || args.required_string === undefined) && !opts.urn) { if ((!args || args.required_string === undefined) && !opts.urn) {
throw new Error("Missing required property 'required_string'"); throw new Error("Missing required property 'required_string'");
} }
resourceInputs["optional_bool"] = (args ? args.optional_bool : undefined) ?? true; resourceInputs["default_bool"] = (args ? args.default_bool : undefined) ?? true;
resourceInputs["optional_const"] = "val"; resourceInputs["default_enum"] = (args ? args.default_enum : undefined) ?? 4;
resourceInputs["default_number"] = (args ? args.default_number : undefined) ?? 42;
resourceInputs["default_string"] = (args ? args.default_string : undefined) ?? "buzzer";
resourceInputs["optional_enum"] = (args ? args.optional_enum : undefined) ?? 8; resourceInputs["optional_enum"] = (args ? args.optional_enum : undefined) ?? 8;
resourceInputs["optional_number"] = (args ? args.optional_number : undefined) ?? 42;
resourceInputs["optional_string"] = (args ? args.optional_string : undefined) ?? "buzzer";
resourceInputs["plain_optional_bool"] = (args ? args.plain_optional_bool : undefined) ?? true; resourceInputs["plain_optional_bool"] = (args ? args.plain_optional_bool : undefined) ?? true;
resourceInputs["plain_optional_const"] = "val";
resourceInputs["plain_optional_number"] = (args ? args.plain_optional_number : undefined) ?? 42; resourceInputs["plain_optional_number"] = (args ? args.plain_optional_number : undefined) ?? 42;
resourceInputs["plain_optional_string"] = (args ? args.plain_optional_string : undefined) ?? "buzzer"; resourceInputs["plain_optional_string"] = (args ? args.plain_optional_string : undefined) ?? "buzzer";
resourceInputs["plain_required_bool"] = (args ? args.plain_required_bool : undefined) ?? true; resourceInputs["plain_required_bool"] = args ? args.plain_required_bool : undefined;
resourceInputs["plain_required_const"] = "val"; resourceInputs["plain_required_enum"] = args ? args.plain_required_enum : undefined;
resourceInputs["plain_required_number"] = (args ? args.plain_required_number : undefined) ?? 42; resourceInputs["plain_required_number"] = args ? args.plain_required_number : undefined;
resourceInputs["plain_required_string"] = (args ? args.plain_required_string : undefined) ?? "buzzer"; resourceInputs["plain_required_string"] = args ? args.plain_required_string : undefined;
resourceInputs["required_bool"] = (args ? args.required_bool : undefined) ?? true; resourceInputs["required_bool"] = args ? args.required_bool : undefined;
resourceInputs["required_enum"] = (args ? args.required_enum : undefined) ?? 4; resourceInputs["required_enum"] = args ? args.required_enum : undefined;
resourceInputs["required_number"] = (args ? args.required_number : undefined) ?? 42; resourceInputs["required_number"] = args ? args.required_number : undefined;
resourceInputs["required_string"] = (args ? args.required_string : undefined) ?? "buzzer"; resourceInputs["required_string"] = args ? args.required_string : undefined;
resourceInputs["string_const"] = "val";
} else { } else {
} }
if (!opts.version) { if (!opts.version) {
@ -98,21 +98,21 @@ export class ModuleResource extends pulumi.CustomResource {
* The set of arguments for constructing a ModuleResource resource. * The set of arguments for constructing a ModuleResource resource.
*/ */
export interface ModuleResourceArgs { export interface ModuleResourceArgs {
optional_bool?: pulumi.Input<boolean>; default_bool?: pulumi.Input<boolean>;
optional_const?: pulumi.Input<"val">; default_enum?: pulumi.Input<enums.EnumThing>;
default_number?: pulumi.Input<number>;
default_string?: pulumi.Input<string>;
optional_enum?: pulumi.Input<enums.EnumThing>; optional_enum?: pulumi.Input<enums.EnumThing>;
optional_number?: pulumi.Input<number>;
optional_string?: pulumi.Input<string>;
plain_optional_bool?: boolean; plain_optional_bool?: boolean;
plain_optional_const?: "val";
plain_optional_number?: number; plain_optional_number?: number;
plain_optional_string?: string; plain_optional_string?: string;
plain_required_bool: boolean; plain_required_bool: boolean;
plain_required_const: "val"; plain_required_enum: enums.EnumThing;
plain_required_number: number; plain_required_number: number;
plain_required_string: string; plain_required_string: string;
required_bool: pulumi.Input<boolean>; required_bool: pulumi.Input<boolean>;
required_enum: pulumi.Input<enums.EnumThing>; required_enum: pulumi.Input<enums.EnumThing>;
required_number: pulumi.Input<number>; required_number: pulumi.Input<number>;
required_string: pulumi.Input<string>; required_string: pulumi.Input<string>;
string_const?: pulumi.Input<"val">;
} }

View file

@ -15,77 +15,57 @@ __all__ = ['ModuleResourceArgs', 'ModuleResource']
class ModuleResourceArgs: class ModuleResourceArgs:
def __init__(__self__, *, def __init__(__self__, *,
plain_required_bool: bool, plain_required_bool: bool,
plain_required_const: str, plain_required_enum: 'EnumThing',
plain_required_number: float, plain_required_number: float,
plain_required_string: str, plain_required_string: str,
required_bool: pulumi.Input[bool], required_bool: pulumi.Input[bool],
required_enum: pulumi.Input['EnumThing'], required_enum: pulumi.Input['EnumThing'],
required_number: pulumi.Input[float], required_number: pulumi.Input[float],
required_string: pulumi.Input[str], required_string: pulumi.Input[str],
optional_bool: Optional[pulumi.Input[bool]] = None, default_bool: Optional[pulumi.Input[bool]] = None,
optional_const: Optional[pulumi.Input[str]] = None, default_enum: Optional[pulumi.Input['EnumThing']] = None,
default_number: Optional[pulumi.Input[float]] = None,
default_string: Optional[pulumi.Input[str]] = None,
optional_enum: Optional[pulumi.Input['EnumThing']] = None, optional_enum: Optional[pulumi.Input['EnumThing']] = None,
optional_number: Optional[pulumi.Input[float]] = None,
optional_string: Optional[pulumi.Input[str]] = None,
plain_optional_bool: Optional[bool] = None, plain_optional_bool: Optional[bool] = None,
plain_optional_const: Optional[str] = None,
plain_optional_number: Optional[float] = None, plain_optional_number: Optional[float] = None,
plain_optional_string: Optional[str] = None): plain_optional_string: Optional[str] = None,
string_const: Optional[pulumi.Input[str]] = None):
""" """
The set of arguments for constructing a ModuleResource resource. The set of arguments for constructing a ModuleResource resource.
""" """
if plain_required_bool is None:
plain_required_bool = True
pulumi.set(__self__, "plain_required_bool", plain_required_bool) pulumi.set(__self__, "plain_required_bool", plain_required_bool)
if plain_required_const is None: pulumi.set(__self__, "plain_required_enum", plain_required_enum)
plain_required_const = 'another'
pulumi.set(__self__, "plain_required_const", 'val')
if plain_required_number is None:
plain_required_number = 42
pulumi.set(__self__, "plain_required_number", plain_required_number) pulumi.set(__self__, "plain_required_number", plain_required_number)
if plain_required_string is None:
plain_required_string = 'buzzer'
pulumi.set(__self__, "plain_required_string", plain_required_string) pulumi.set(__self__, "plain_required_string", plain_required_string)
if required_bool is None:
required_bool = True
pulumi.set(__self__, "required_bool", required_bool) pulumi.set(__self__, "required_bool", required_bool)
if required_enum is None:
required_enum = 4
pulumi.set(__self__, "required_enum", required_enum) pulumi.set(__self__, "required_enum", required_enum)
if required_number is None:
required_number = 42
pulumi.set(__self__, "required_number", required_number) pulumi.set(__self__, "required_number", required_number)
if required_string is None:
required_string = 'buzzer'
pulumi.set(__self__, "required_string", required_string) pulumi.set(__self__, "required_string", required_string)
if optional_bool is None: if default_bool is None:
optional_bool = True default_bool = True
if optional_bool is not None: if default_bool is not None:
pulumi.set(__self__, "optional_bool", optional_bool) pulumi.set(__self__, "default_bool", default_bool)
if optional_const is None: if default_enum is None:
optional_const = 'another' default_enum = 4
if optional_const is not None: if default_enum is not None:
pulumi.set(__self__, "optional_const", 'val') pulumi.set(__self__, "default_enum", default_enum)
if default_number is None:
default_number = 42
if default_number is not None:
pulumi.set(__self__, "default_number", default_number)
if default_string is None:
default_string = 'buzzer'
if default_string is not None:
pulumi.set(__self__, "default_string", default_string)
if optional_enum is None: if optional_enum is None:
optional_enum = 8 optional_enum = 8
if optional_enum is not None: if optional_enum is not None:
pulumi.set(__self__, "optional_enum", optional_enum) pulumi.set(__self__, "optional_enum", optional_enum)
if optional_number is None:
optional_number = 42
if optional_number is not None:
pulumi.set(__self__, "optional_number", optional_number)
if optional_string is None:
optional_string = 'buzzer'
if optional_string is not None:
pulumi.set(__self__, "optional_string", optional_string)
if plain_optional_bool is None: if plain_optional_bool is None:
plain_optional_bool = True plain_optional_bool = True
if plain_optional_bool is not None: if plain_optional_bool is not None:
pulumi.set(__self__, "plain_optional_bool", plain_optional_bool) pulumi.set(__self__, "plain_optional_bool", plain_optional_bool)
if plain_optional_const is None:
plain_optional_const = 'another'
if plain_optional_const is not None:
pulumi.set(__self__, "plain_optional_const", 'val')
if plain_optional_number is None: if plain_optional_number is None:
plain_optional_number = 42 plain_optional_number = 42
if plain_optional_number is not None: if plain_optional_number is not None:
@ -94,6 +74,8 @@ class ModuleResourceArgs:
plain_optional_string = 'buzzer' plain_optional_string = 'buzzer'
if plain_optional_string is not None: if plain_optional_string is not None:
pulumi.set(__self__, "plain_optional_string", plain_optional_string) pulumi.set(__self__, "plain_optional_string", plain_optional_string)
if string_const is not None:
pulumi.set(__self__, "string_const", 'val')
@property @property
@pulumi.getter @pulumi.getter
@ -106,12 +88,12 @@ class ModuleResourceArgs:
@property @property
@pulumi.getter @pulumi.getter
def plain_required_const(self) -> str: def plain_required_enum(self) -> 'EnumThing':
return pulumi.get(self, "plain_required_const") return pulumi.get(self, "plain_required_enum")
@plain_required_const.setter @plain_required_enum.setter
def plain_required_const(self, value: str): def plain_required_enum(self, value: 'EnumThing'):
pulumi.set(self, "plain_required_const", value) pulumi.set(self, "plain_required_enum", value)
@property @property
@pulumi.getter @pulumi.getter
@ -169,21 +151,39 @@ class ModuleResourceArgs:
@property @property
@pulumi.getter @pulumi.getter
def optional_bool(self) -> Optional[pulumi.Input[bool]]: def default_bool(self) -> Optional[pulumi.Input[bool]]:
return pulumi.get(self, "optional_bool") return pulumi.get(self, "default_bool")
@optional_bool.setter @default_bool.setter
def optional_bool(self, value: Optional[pulumi.Input[bool]]): def default_bool(self, value: Optional[pulumi.Input[bool]]):
pulumi.set(self, "optional_bool", value) pulumi.set(self, "default_bool", value)
@property @property
@pulumi.getter @pulumi.getter
def optional_const(self) -> Optional[pulumi.Input[str]]: def default_enum(self) -> Optional[pulumi.Input['EnumThing']]:
return pulumi.get(self, "optional_const") return pulumi.get(self, "default_enum")
@optional_const.setter @default_enum.setter
def optional_const(self, value: Optional[pulumi.Input[str]]): def default_enum(self, value: Optional[pulumi.Input['EnumThing']]):
pulumi.set(self, "optional_const", value) pulumi.set(self, "default_enum", value)
@property
@pulumi.getter
def default_number(self) -> Optional[pulumi.Input[float]]:
return pulumi.get(self, "default_number")
@default_number.setter
def default_number(self, value: Optional[pulumi.Input[float]]):
pulumi.set(self, "default_number", value)
@property
@pulumi.getter
def default_string(self) -> Optional[pulumi.Input[str]]:
return pulumi.get(self, "default_string")
@default_string.setter
def default_string(self, value: Optional[pulumi.Input[str]]):
pulumi.set(self, "default_string", value)
@property @property
@pulumi.getter @pulumi.getter
@ -194,24 +194,6 @@ class ModuleResourceArgs:
def optional_enum(self, value: Optional[pulumi.Input['EnumThing']]): def optional_enum(self, value: Optional[pulumi.Input['EnumThing']]):
pulumi.set(self, "optional_enum", value) pulumi.set(self, "optional_enum", value)
@property
@pulumi.getter
def optional_number(self) -> Optional[pulumi.Input[float]]:
return pulumi.get(self, "optional_number")
@optional_number.setter
def optional_number(self, value: Optional[pulumi.Input[float]]):
pulumi.set(self, "optional_number", value)
@property
@pulumi.getter
def optional_string(self) -> Optional[pulumi.Input[str]]:
return pulumi.get(self, "optional_string")
@optional_string.setter
def optional_string(self, value: Optional[pulumi.Input[str]]):
pulumi.set(self, "optional_string", value)
@property @property
@pulumi.getter @pulumi.getter
def plain_optional_bool(self) -> Optional[bool]: def plain_optional_bool(self) -> Optional[bool]:
@ -221,15 +203,6 @@ class ModuleResourceArgs:
def plain_optional_bool(self, value: Optional[bool]): def plain_optional_bool(self, value: Optional[bool]):
pulumi.set(self, "plain_optional_bool", value) pulumi.set(self, "plain_optional_bool", value)
@property
@pulumi.getter
def plain_optional_const(self) -> Optional[str]:
return pulumi.get(self, "plain_optional_const")
@plain_optional_const.setter
def plain_optional_const(self, value: Optional[str]):
pulumi.set(self, "plain_optional_const", value)
@property @property
@pulumi.getter @pulumi.getter
def plain_optional_number(self) -> Optional[float]: def plain_optional_number(self) -> Optional[float]:
@ -248,29 +221,38 @@ class ModuleResourceArgs:
def plain_optional_string(self, value: Optional[str]): def plain_optional_string(self, value: Optional[str]):
pulumi.set(self, "plain_optional_string", value) pulumi.set(self, "plain_optional_string", value)
@property
@pulumi.getter
def string_const(self) -> Optional[pulumi.Input[str]]:
return pulumi.get(self, "string_const")
@string_const.setter
def string_const(self, value: Optional[pulumi.Input[str]]):
pulumi.set(self, "string_const", value)
class ModuleResource(pulumi.CustomResource): class ModuleResource(pulumi.CustomResource):
@overload @overload
def __init__(__self__, def __init__(__self__,
resource_name: str, resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None, opts: Optional[pulumi.ResourceOptions] = None,
optional_bool: Optional[pulumi.Input[bool]] = None, default_bool: Optional[pulumi.Input[bool]] = None,
optional_const: Optional[pulumi.Input[str]] = None, default_enum: Optional[pulumi.Input['EnumThing']] = None,
default_number: Optional[pulumi.Input[float]] = None,
default_string: Optional[pulumi.Input[str]] = None,
optional_enum: Optional[pulumi.Input['EnumThing']] = None, optional_enum: Optional[pulumi.Input['EnumThing']] = None,
optional_number: Optional[pulumi.Input[float]] = None,
optional_string: Optional[pulumi.Input[str]] = None,
plain_optional_bool: Optional[bool] = None, plain_optional_bool: Optional[bool] = None,
plain_optional_const: Optional[str] = None,
plain_optional_number: Optional[float] = None, plain_optional_number: Optional[float] = None,
plain_optional_string: Optional[str] = None, plain_optional_string: Optional[str] = None,
plain_required_bool: Optional[bool] = None, plain_required_bool: Optional[bool] = None,
plain_required_const: Optional[str] = None, plain_required_enum: Optional['EnumThing'] = None,
plain_required_number: Optional[float] = None, plain_required_number: Optional[float] = None,
plain_required_string: Optional[str] = None, plain_required_string: Optional[str] = None,
required_bool: Optional[pulumi.Input[bool]] = None, required_bool: Optional[pulumi.Input[bool]] = None,
required_enum: Optional[pulumi.Input['EnumThing']] = None, required_enum: Optional[pulumi.Input['EnumThing']] = None,
required_number: Optional[pulumi.Input[float]] = None, required_number: Optional[pulumi.Input[float]] = None,
required_string: Optional[pulumi.Input[str]] = None, required_string: Optional[pulumi.Input[str]] = None,
string_const: Optional[pulumi.Input[str]] = None,
__props__=None): __props__=None):
""" """
Create a ModuleResource resource with the given unique name, props, and options. Create a ModuleResource resource with the given unique name, props, and options.
@ -300,23 +282,23 @@ class ModuleResource(pulumi.CustomResource):
def _internal_init(__self__, def _internal_init(__self__,
resource_name: str, resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None, opts: Optional[pulumi.ResourceOptions] = None,
optional_bool: Optional[pulumi.Input[bool]] = None, default_bool: Optional[pulumi.Input[bool]] = None,
optional_const: Optional[pulumi.Input[str]] = None, default_enum: Optional[pulumi.Input['EnumThing']] = None,
default_number: Optional[pulumi.Input[float]] = None,
default_string: Optional[pulumi.Input[str]] = None,
optional_enum: Optional[pulumi.Input['EnumThing']] = None, optional_enum: Optional[pulumi.Input['EnumThing']] = None,
optional_number: Optional[pulumi.Input[float]] = None,
optional_string: Optional[pulumi.Input[str]] = None,
plain_optional_bool: Optional[bool] = None, plain_optional_bool: Optional[bool] = None,
plain_optional_const: Optional[str] = None,
plain_optional_number: Optional[float] = None, plain_optional_number: Optional[float] = None,
plain_optional_string: Optional[str] = None, plain_optional_string: Optional[str] = None,
plain_required_bool: Optional[bool] = None, plain_required_bool: Optional[bool] = None,
plain_required_const: Optional[str] = None, plain_required_enum: Optional['EnumThing'] = None,
plain_required_number: Optional[float] = None, plain_required_number: Optional[float] = None,
plain_required_string: Optional[str] = None, plain_required_string: Optional[str] = None,
required_bool: Optional[pulumi.Input[bool]] = None, required_bool: Optional[pulumi.Input[bool]] = None,
required_enum: Optional[pulumi.Input['EnumThing']] = None, required_enum: Optional[pulumi.Input['EnumThing']] = None,
required_number: Optional[pulumi.Input[float]] = None, required_number: Optional[pulumi.Input[float]] = None,
required_string: Optional[pulumi.Input[str]] = None, required_string: Optional[pulumi.Input[str]] = None,
string_const: Optional[pulumi.Input[str]] = None,
__props__=None): __props__=None):
if opts is None: if opts is None:
opts = pulumi.ResourceOptions() opts = pulumi.ResourceOptions()
@ -329,73 +311,55 @@ class ModuleResource(pulumi.CustomResource):
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
__props__ = ModuleResourceArgs.__new__(ModuleResourceArgs) __props__ = ModuleResourceArgs.__new__(ModuleResourceArgs)
if optional_bool is None: if default_bool is None:
optional_bool = True default_bool = True
__props__.__dict__["optional_bool"] = optional_bool __props__.__dict__["default_bool"] = default_bool
if optional_const is None: if default_enum is None:
optional_const = 'another' default_enum = 4
__props__.__dict__["optional_const"] = 'val' __props__.__dict__["default_enum"] = default_enum
if default_number is None:
default_number = 42
__props__.__dict__["default_number"] = default_number
if default_string is None:
default_string = 'buzzer'
__props__.__dict__["default_string"] = default_string
if optional_enum is None: if optional_enum is None:
optional_enum = 8 optional_enum = 8
__props__.__dict__["optional_enum"] = optional_enum __props__.__dict__["optional_enum"] = optional_enum
if optional_number is None:
optional_number = 42
__props__.__dict__["optional_number"] = optional_number
if optional_string is None:
optional_string = 'buzzer'
__props__.__dict__["optional_string"] = optional_string
if plain_optional_bool is None: if plain_optional_bool is None:
plain_optional_bool = True plain_optional_bool = True
__props__.__dict__["plain_optional_bool"] = plain_optional_bool __props__.__dict__["plain_optional_bool"] = plain_optional_bool
if plain_optional_const is None:
plain_optional_const = 'another'
__props__.__dict__["plain_optional_const"] = 'val'
if plain_optional_number is None: if plain_optional_number is None:
plain_optional_number = 42 plain_optional_number = 42
__props__.__dict__["plain_optional_number"] = plain_optional_number __props__.__dict__["plain_optional_number"] = plain_optional_number
if plain_optional_string is None: if plain_optional_string is None:
plain_optional_string = 'buzzer' plain_optional_string = 'buzzer'
__props__.__dict__["plain_optional_string"] = plain_optional_string __props__.__dict__["plain_optional_string"] = plain_optional_string
if plain_required_bool is None:
plain_required_bool = True
if plain_required_bool is None and not opts.urn: if plain_required_bool is None and not opts.urn:
raise TypeError("Missing required property 'plain_required_bool'") raise TypeError("Missing required property 'plain_required_bool'")
__props__.__dict__["plain_required_bool"] = plain_required_bool __props__.__dict__["plain_required_bool"] = plain_required_bool
if plain_required_const is None: if plain_required_enum is None and not opts.urn:
plain_required_const = 'another' raise TypeError("Missing required property 'plain_required_enum'")
if plain_required_const is None and not opts.urn: __props__.__dict__["plain_required_enum"] = plain_required_enum
raise TypeError("Missing required property 'plain_required_const'")
__props__.__dict__["plain_required_const"] = 'val'
if plain_required_number is None:
plain_required_number = 42
if plain_required_number is None and not opts.urn: if plain_required_number is None and not opts.urn:
raise TypeError("Missing required property 'plain_required_number'") raise TypeError("Missing required property 'plain_required_number'")
__props__.__dict__["plain_required_number"] = plain_required_number __props__.__dict__["plain_required_number"] = plain_required_number
if plain_required_string is None:
plain_required_string = 'buzzer'
if plain_required_string is None and not opts.urn: if plain_required_string is None and not opts.urn:
raise TypeError("Missing required property 'plain_required_string'") raise TypeError("Missing required property 'plain_required_string'")
__props__.__dict__["plain_required_string"] = plain_required_string __props__.__dict__["plain_required_string"] = plain_required_string
if required_bool is None:
required_bool = True
if required_bool is None and not opts.urn: if required_bool is None and not opts.urn:
raise TypeError("Missing required property 'required_bool'") raise TypeError("Missing required property 'required_bool'")
__props__.__dict__["required_bool"] = required_bool __props__.__dict__["required_bool"] = required_bool
if required_enum is None:
required_enum = 4
if required_enum is None and not opts.urn: if required_enum is None and not opts.urn:
raise TypeError("Missing required property 'required_enum'") raise TypeError("Missing required property 'required_enum'")
__props__.__dict__["required_enum"] = required_enum __props__.__dict__["required_enum"] = required_enum
if required_number is None:
required_number = 42
if required_number is None and not opts.urn: if required_number is None and not opts.urn:
raise TypeError("Missing required property 'required_number'") raise TypeError("Missing required property 'required_number'")
__props__.__dict__["required_number"] = required_number __props__.__dict__["required_number"] = required_number
if required_string is None:
required_string = 'buzzer'
if required_string is None and not opts.urn: if required_string is None and not opts.urn:
raise TypeError("Missing required property 'required_string'") raise TypeError("Missing required property 'required_string'")
__props__.__dict__["required_string"] = required_string __props__.__dict__["required_string"] = required_string
__props__.__dict__["string_const"] = 'val'
super(ModuleResource, __self__).__init__( super(ModuleResource, __self__).__init__(
'foobar::ModuleResource', 'foobar::ModuleResource',
resource_name, resource_name,

View file

@ -4,12 +4,6 @@
"resources": { "resources": {
"foobar::ModuleResource": { "foobar::ModuleResource": {
"inputProperties": { "inputProperties": {
"plain_optional_const": {
"type": "string",
"const": "val",
"default": "another",
"plain": true
},
"plain_optional_string": { "plain_optional_string": {
"type": "string", "type": "string",
"default": "buzzer", "default": "buzzer",
@ -27,59 +21,53 @@
}, },
"plain_required_string": { "plain_required_string": {
"type": "string", "type": "string",
"default": "buzzer",
"plain": true "plain": true
}, },
"plain_required_bool": { "plain_required_bool": {
"type": "boolean", "type": "boolean",
"default": true,
"plain": true "plain": true
}, },
"plain_required_number": { "plain_required_number": {
"type": "number", "type": "number",
"default": 42,
"plain": true "plain": true
}, },
"optional_const": { "string_const": {
"type": "string", "type": "string",
"const": "val", "const": "val"
"default": "another"
},
"optional_string": {
"type": "string",
"default": "buzzer"
},
"optional_bool": {
"type": "boolean",
"default": true
},
"optional_number": {
"type": "number",
"default": 42
}, },
"optional_enum": { "optional_enum": {
"$ref": "#/types/foobar::EnumThing", "$ref": "#/types/foobar::EnumThing",
"default": 8 "default": 8
}, },
"plain_required_const": { "required_string": {
"type": "string", "type": "string"
"const": "val", },
"default": "another", "required_bool": {
"type": "boolean"
},
"required_number": {
"type": "number"
},
"plain_required_enum": {
"$ref": "#/types/foobar::EnumThing",
"plain": true "plain": true
}, },
"required_string": { "required_enum": {
"$ref": "#/types/foobar::EnumThing"
},
"default_string": {
"type": "string", "type": "string",
"default": "buzzer" "default": "buzzer"
}, },
"required_bool": { "default_bool": {
"type": "boolean", "type": "boolean",
"default": true "default": true
}, },
"required_number": { "default_number": {
"type": "number", "type": "number",
"default": 42 "default": 42
}, },
"required_enum": { "default_enum": {
"$ref": "#/types/foobar::EnumThing", "$ref": "#/types/foobar::EnumThing",
"default": 4 "default": 4
} }
@ -88,7 +76,7 @@
"plain_required_string", "plain_required_string",
"plain_required_bool", "plain_required_bool",
"plain_required_number", "plain_required_number",
"plain_required_const", "plain_required_enum",
"required_string", "required_string",
"required_bool", "required_bool",
"required_number", "required_number",

View file

@ -161,14 +161,6 @@ The RubberTree resource accepts the following [input]({{< relref "/docs/intro/co
{{% choosable language csharp %}} {{% choosable language csharp %}}
<dl class="resources-properties"><dt class="property-required" <dl class="resources-properties"><dt class="property-required"
title="Required"> title="Required">
<span id="diameter_csharp">
<a href="#diameter_csharp" style="color: inherit; text-decoration: inherit;">Diameter</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#diameter">Pulumi.<wbr>Plant.<wbr>Tree.<wbr>V1.<wbr>Diameter</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required"
title="Required">
<span id="type_csharp"> <span id="type_csharp">
<a href="#type_csharp" style="color: inherit; text-decoration: inherit;">Type</a> <a href="#type_csharp" style="color: inherit; text-decoration: inherit;">Type</a>
</span> </span>
@ -183,6 +175,14 @@ The RubberTree resource accepts the following [input]({{< relref "/docs/intro/co
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#container">Pulumi.<wbr>Plant.<wbr>Inputs.<wbr>Container<wbr>Args</a></span> <span class="property-type"><a href="#container">Pulumi.<wbr>Plant.<wbr>Inputs.<wbr>Container<wbr>Args</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="diameter_csharp">
<a href="#diameter_csharp" style="color: inherit; text-decoration: inherit;">Diameter</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#diameter">Pulumi.<wbr>Plant.<wbr>Tree.<wbr>V1.<wbr>Diameter</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="farm_csharp"> <span id="farm_csharp">
@ -205,14 +205,6 @@ The RubberTree resource accepts the following [input]({{< relref "/docs/intro/co
{{% choosable language go %}} {{% choosable language go %}}
<dl class="resources-properties"><dt class="property-required" <dl class="resources-properties"><dt class="property-required"
title="Required"> title="Required">
<span id="diameter_go">
<a href="#diameter_go" style="color: inherit; text-decoration: inherit;">Diameter</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#diameter">Diameter</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required"
title="Required">
<span id="type_go"> <span id="type_go">
<a href="#type_go" style="color: inherit; text-decoration: inherit;">Type</a> <a href="#type_go" style="color: inherit; text-decoration: inherit;">Type</a>
</span> </span>
@ -227,6 +219,14 @@ The RubberTree resource accepts the following [input]({{< relref "/docs/intro/co
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#container">Container<wbr>Args</a></span> <span class="property-type"><a href="#container">Container<wbr>Args</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="diameter_go">
<a href="#diameter_go" style="color: inherit; text-decoration: inherit;">Diameter</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#diameter">Diameter</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="farm_go"> <span id="farm_go">
@ -249,14 +249,6 @@ The RubberTree resource accepts the following [input]({{< relref "/docs/intro/co
{{% choosable language nodejs %}} {{% choosable language nodejs %}}
<dl class="resources-properties"><dt class="property-required" <dl class="resources-properties"><dt class="property-required"
title="Required"> title="Required">
<span id="diameter_nodejs">
<a href="#diameter_nodejs" style="color: inherit; text-decoration: inherit;">diameter</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#diameter">Diameter</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required"
title="Required">
<span id="type_nodejs"> <span id="type_nodejs">
<a href="#type_nodejs" style="color: inherit; text-decoration: inherit;">type</a> <a href="#type_nodejs" style="color: inherit; text-decoration: inherit;">type</a>
</span> </span>
@ -271,6 +263,14 @@ The RubberTree resource accepts the following [input]({{< relref "/docs/intro/co
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#container">Container<wbr>Args</a></span> <span class="property-type"><a href="#container">Container<wbr>Args</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="diameter_nodejs">
<a href="#diameter_nodejs" style="color: inherit; text-decoration: inherit;">diameter</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#diameter">Diameter</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="farm_nodejs"> <span id="farm_nodejs">
@ -293,14 +293,6 @@ The RubberTree resource accepts the following [input]({{< relref "/docs/intro/co
{{% choosable language python %}} {{% choosable language python %}}
<dl class="resources-properties"><dt class="property-required" <dl class="resources-properties"><dt class="property-required"
title="Required"> title="Required">
<span id="diameter_python">
<a href="#diameter_python" style="color: inherit; text-decoration: inherit;">diameter</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#diameter">Diameter</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-required"
title="Required">
<span id="type_python"> <span id="type_python">
<a href="#type_python" style="color: inherit; text-decoration: inherit;">type</a> <a href="#type_python" style="color: inherit; text-decoration: inherit;">type</a>
</span> </span>
@ -315,6 +307,14 @@ The RubberTree resource accepts the following [input]({{< relref "/docs/intro/co
<span class="property-indicator"></span> <span class="property-indicator"></span>
<span class="property-type"><a href="#container">Container<wbr>Args</a></span> <span class="property-type"><a href="#container">Container<wbr>Args</a></span>
</dt> </dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional">
<span id="diameter_python">
<a href="#diameter_python" style="color: inherit; text-decoration: inherit;">diameter</a>
</span>
<span class="property-indicator"></span>
<span class="property-type"><a href="#diameter">Diameter</a></span>
</dt>
<dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional" <dd>{{% md %}}{{% /md %}}</dd><dt class="property-optional"
title="Optional"> title="Optional">
<span id="farm_python"> <span id="farm_python">

View file

@ -16,7 +16,7 @@ namespace Pulumi.Plant.Tree.V1
public Output<Pulumi.Plant.Outputs.Container?> Container { get; private set; } = null!; public Output<Pulumi.Plant.Outputs.Container?> Container { get; private set; } = null!;
[Output("diameter")] [Output("diameter")]
public Output<Pulumi.Plant.Tree.V1.Diameter> Diameter { get; private set; } = null!; public Output<Pulumi.Plant.Tree.V1.Diameter?> Diameter { get; private set; } = null!;
[Output("farm")] [Output("farm")]
public Output<string?> Farm { get; private set; } = null!; public Output<string?> Farm { get; private set; } = null!;
@ -76,8 +76,8 @@ namespace Pulumi.Plant.Tree.V1
[Input("container")] [Input("container")]
public Input<Pulumi.Plant.Inputs.ContainerArgs>? Container { get; set; } public Input<Pulumi.Plant.Inputs.ContainerArgs>? Container { get; set; }
[Input("diameter", required: true)] [Input("diameter")]
public Input<Pulumi.Plant.Tree.V1.Diameter> Diameter { get; set; } = null!; public Input<Pulumi.Plant.Tree.V1.Diameter>? Diameter { get; set; }
[Input("farm")] [Input("farm")]
public InputUnion<Pulumi.Plant.Tree.V1.Farm, string>? Farm { get; set; } public InputUnion<Pulumi.Plant.Tree.V1.Farm, string>? Farm { get; set; }
@ -93,7 +93,6 @@ namespace Pulumi.Plant.Tree.V1
Diameter = Pulumi.Plant.Tree.V1.Diameter.Sixinch; Diameter = Pulumi.Plant.Tree.V1.Diameter.Sixinch;
Farm = "(unknown)"; Farm = "(unknown)";
Size = Pulumi.Plant.Tree.V1.TreeSize.Medium; Size = Pulumi.Plant.Tree.V1.TreeSize.Medium;
Type = Pulumi.Plant.Tree.V1.RubberTreeVariety.Burgundy;
} }
} }

View file

@ -16,7 +16,7 @@ type RubberTree struct {
pulumi.CustomResourceState pulumi.CustomResourceState
Container plant.ContainerPtrOutput `pulumi:"container"` Container plant.ContainerPtrOutput `pulumi:"container"`
Diameter DiameterOutput `pulumi:"diameter"` Diameter DiameterPtrOutput `pulumi:"diameter"`
Farm pulumi.StringPtrOutput `pulumi:"farm"` Farm pulumi.StringPtrOutput `pulumi:"farm"`
Size TreeSizePtrOutput `pulumi:"size"` Size TreeSizePtrOutput `pulumi:"size"`
Type RubberTreeVarietyOutput `pulumi:"type"` Type RubberTreeVarietyOutput `pulumi:"type"`
@ -29,6 +29,9 @@ func NewRubberTree(ctx *pulumi.Context,
return nil, errors.New("missing one or more required arguments") return nil, errors.New("missing one or more required arguments")
} }
if args.Type == nil {
return nil, errors.New("invalid value for required argument 'Type'")
}
if args.Diameter == nil { if args.Diameter == nil {
args.Diameter = Diameter(6.0) args.Diameter = Diameter(6.0)
} }
@ -38,9 +41,6 @@ func NewRubberTree(ctx *pulumi.Context,
if args.Size == nil { if args.Size == nil {
args.Size = TreeSize("medium") args.Size = TreeSize("medium")
} }
if args.Type == nil {
args.Type = RubberTreeVariety("Burgundy")
}
var resource RubberTree var resource RubberTree
err := ctx.RegisterResource("plant:tree/v1:RubberTree", name, args, &resource, opts...) err := ctx.RegisterResource("plant:tree/v1:RubberTree", name, args, &resource, opts...)
if err != nil { if err != nil {
@ -76,7 +76,7 @@ func (RubberTreeState) ElementType() reflect.Type {
type rubberTreeArgs struct { type rubberTreeArgs struct {
Container *plant.Container `pulumi:"container"` Container *plant.Container `pulumi:"container"`
Diameter Diameter `pulumi:"diameter"` Diameter *Diameter `pulumi:"diameter"`
Farm *string `pulumi:"farm"` Farm *string `pulumi:"farm"`
Size *TreeSize `pulumi:"size"` Size *TreeSize `pulumi:"size"`
Type RubberTreeVariety `pulumi:"type"` Type RubberTreeVariety `pulumi:"type"`
@ -85,7 +85,7 @@ type rubberTreeArgs struct {
// The set of arguments for constructing a RubberTree resource. // The set of arguments for constructing a RubberTree resource.
type RubberTreeArgs struct { type RubberTreeArgs struct {
Container plant.ContainerPtrInput Container plant.ContainerPtrInput
Diameter DiameterInput Diameter DiameterPtrInput
Farm pulumi.StringPtrInput Farm pulumi.StringPtrInput
Size TreeSizePtrInput Size TreeSizePtrInput
Type RubberTreeVarietyInput Type RubberTreeVarietyInput

View file

@ -34,7 +34,7 @@ export class RubberTree extends pulumi.CustomResource {
} }
public readonly container!: pulumi.Output<outputs.Container | undefined>; public readonly container!: pulumi.Output<outputs.Container | undefined>;
public readonly diameter!: pulumi.Output<enums.tree.v1.Diameter>; public readonly diameter!: pulumi.Output<enums.tree.v1.Diameter | undefined>;
public readonly farm!: pulumi.Output<enums.tree.v1.Farm | string | undefined>; public readonly farm!: pulumi.Output<enums.tree.v1.Farm | string | undefined>;
public readonly size!: pulumi.Output<enums.tree.v1.TreeSize | undefined>; public readonly size!: pulumi.Output<enums.tree.v1.TreeSize | undefined>;
public readonly type!: pulumi.Output<enums.tree.v1.RubberTreeVariety>; public readonly type!: pulumi.Output<enums.tree.v1.RubberTreeVariety>;
@ -55,9 +55,6 @@ export class RubberTree extends pulumi.CustomResource {
resourceInputs["farm"] = state ? state.farm : undefined; resourceInputs["farm"] = state ? state.farm : undefined;
} else { } else {
const args = argsOrState as RubberTreeArgs | undefined; const args = argsOrState as RubberTreeArgs | undefined;
if ((!args || args.diameter === undefined) && !opts.urn) {
throw new Error("Missing required property 'diameter'");
}
if ((!args || args.type === undefined) && !opts.urn) { if ((!args || args.type === undefined) && !opts.urn) {
throw new Error("Missing required property 'type'"); throw new Error("Missing required property 'type'");
} }
@ -65,7 +62,7 @@ export class RubberTree extends pulumi.CustomResource {
resourceInputs["diameter"] = (args ? args.diameter : undefined) ?? 6; resourceInputs["diameter"] = (args ? args.diameter : undefined) ?? 6;
resourceInputs["farm"] = (args ? args.farm : undefined) ?? "(unknown)"; resourceInputs["farm"] = (args ? args.farm : undefined) ?? "(unknown)";
resourceInputs["size"] = (args ? args.size : undefined) ?? "medium"; resourceInputs["size"] = (args ? args.size : undefined) ?? "medium";
resourceInputs["type"] = (args ? args.type : undefined) ?? "Burgundy"; resourceInputs["type"] = args ? args.type : undefined;
} }
if (!opts.version) { if (!opts.version) {
opts = pulumi.mergeOptions(opts, { version: utilities.getVersion()}); opts = pulumi.mergeOptions(opts, { version: utilities.getVersion()});
@ -83,7 +80,7 @@ export interface RubberTreeState {
*/ */
export interface RubberTreeArgs { export interface RubberTreeArgs {
container?: pulumi.Input<inputs.ContainerArgs>; container?: pulumi.Input<inputs.ContainerArgs>;
diameter: pulumi.Input<enums.tree.v1.Diameter>; diameter?: pulumi.Input<enums.tree.v1.Diameter>;
farm?: pulumi.Input<enums.tree.v1.Farm | string>; farm?: pulumi.Input<enums.tree.v1.Farm | string>;
size?: pulumi.Input<enums.tree.v1.TreeSize>; size?: pulumi.Input<enums.tree.v1.TreeSize>;
type: pulumi.Input<enums.tree.v1.RubberTreeVariety>; type: pulumi.Input<enums.tree.v1.RubberTreeVariety>;

View file

@ -17,22 +17,21 @@ __all__ = ['RubberTreeArgs', 'RubberTree']
@pulumi.input_type @pulumi.input_type
class RubberTreeArgs: class RubberTreeArgs:
def __init__(__self__, *, def __init__(__self__, *,
diameter: pulumi.Input['Diameter'],
type: pulumi.Input['RubberTreeVariety'], type: pulumi.Input['RubberTreeVariety'],
container: Optional[pulumi.Input['_root_inputs.ContainerArgs']] = None, container: Optional[pulumi.Input['_root_inputs.ContainerArgs']] = None,
diameter: Optional[pulumi.Input['Diameter']] = None,
farm: Optional[pulumi.Input[Union['Farm', str]]] = None, farm: Optional[pulumi.Input[Union['Farm', str]]] = None,
size: Optional[pulumi.Input['TreeSize']] = None): size: Optional[pulumi.Input['TreeSize']] = None):
""" """
The set of arguments for constructing a RubberTree resource. The set of arguments for constructing a RubberTree resource.
""" """
if diameter is None:
diameter = 6
pulumi.set(__self__, "diameter", diameter)
if type is None:
type = 'Burgundy'
pulumi.set(__self__, "type", type) pulumi.set(__self__, "type", type)
if container is not None: if container is not None:
pulumi.set(__self__, "container", container) pulumi.set(__self__, "container", container)
if diameter is None:
diameter = 6
if diameter is not None:
pulumi.set(__self__, "diameter", diameter)
if farm is None: if farm is None:
farm = '(unknown)' farm = '(unknown)'
if farm is not None: if farm is not None:
@ -42,15 +41,6 @@ class RubberTreeArgs:
if size is not None: if size is not None:
pulumi.set(__self__, "size", size) pulumi.set(__self__, "size", size)
@property
@pulumi.getter
def diameter(self) -> pulumi.Input['Diameter']:
return pulumi.get(self, "diameter")
@diameter.setter
def diameter(self, value: pulumi.Input['Diameter']):
pulumi.set(self, "diameter", value)
@property @property
@pulumi.getter @pulumi.getter
def type(self) -> pulumi.Input['RubberTreeVariety']: def type(self) -> pulumi.Input['RubberTreeVariety']:
@ -69,6 +59,15 @@ class RubberTreeArgs:
def container(self, value: Optional[pulumi.Input['_root_inputs.ContainerArgs']]): def container(self, value: Optional[pulumi.Input['_root_inputs.ContainerArgs']]):
pulumi.set(self, "container", value) pulumi.set(self, "container", value)
@property
@pulumi.getter
def diameter(self) -> Optional[pulumi.Input['Diameter']]:
return pulumi.get(self, "diameter")
@diameter.setter
def diameter(self, value: Optional[pulumi.Input['Diameter']]):
pulumi.set(self, "diameter", value)
@property @property
@pulumi.getter @pulumi.getter
def farm(self) -> Optional[pulumi.Input[Union['Farm', str]]]: def farm(self) -> Optional[pulumi.Input[Union['Farm', str]]]:
@ -169,8 +168,6 @@ class RubberTree(pulumi.CustomResource):
__props__.__dict__["container"] = container __props__.__dict__["container"] = container
if diameter is None: if diameter is None:
diameter = 6 diameter = 6
if diameter is None and not opts.urn:
raise TypeError("Missing required property 'diameter'")
__props__.__dict__["diameter"] = diameter __props__.__dict__["diameter"] = diameter
if farm is None: if farm is None:
farm = '(unknown)' farm = '(unknown)'
@ -178,8 +175,6 @@ class RubberTree(pulumi.CustomResource):
if size is None: if size is None:
size = 'medium' size = 'medium'
__props__.__dict__["size"] = size __props__.__dict__["size"] = size
if type is None:
type = 'Burgundy'
if type is None and not opts.urn: if type is None and not opts.urn:
raise TypeError("Missing required property 'type'") raise TypeError("Missing required property 'type'")
__props__.__dict__["type"] = type __props__.__dict__["type"] = type
@ -220,7 +215,7 @@ class RubberTree(pulumi.CustomResource):
@property @property
@pulumi.getter @pulumi.getter
def diameter(self) -> pulumi.Output['Diameter']: def diameter(self) -> pulumi.Output[Optional['Diameter']]:
return pulumi.get(self, "diameter") return pulumi.get(self, "diameter")
@property @property

View file

@ -27,8 +27,7 @@
"$ref": "#/types/plant::Container" "$ref": "#/types/plant::Container"
}, },
"type": { "type": {
"$ref": "#/types/plant:tree/v1:RubberTreeVariety", "$ref": "#/types/plant:tree/v1:RubberTreeVariety"
"default": "Burgundy"
}, },
"farm": { "farm": {
"oneOf": [ "oneOf": [
@ -79,8 +78,8 @@
"default": 6 "default": 6
} }
}, },
"required": ["type", "diameter"], "required": ["type"],
"requiredInputs": ["type", "diameter"] "requiredInputs": ["type"]
} }
}, },
"types": { "types": {

View file

@ -2253,10 +2253,11 @@ func bindDefaultValue(path string, value interface{}, spec *DefaultSpec, typ Typ
return dv, diags return dv, diags
} }
// bindProperties binds the map of property specs and list of required properties into a sorted list of properties and // bindProperties binds the map of property specs and list of required properties into a sorted list
// a lookup table. // of properties and a lookup table.
func (t *types) bindProperties(path string, properties map[string]PropertySpec, requiredPath string, required []string, func (t *types) bindProperties(rootPath string, properties map[string]PropertySpec,
inputShape bool) ([]*Property, map[string]*Property, hcl.Diagnostics, error) { requiredPath string, required []string, inputShape bool) (
[]*Property, map[string]*Property, hcl.Diagnostics, error) {
var diags hcl.Diagnostics var diags hcl.Diagnostics
@ -2264,7 +2265,7 @@ func (t *types) bindProperties(path string, properties map[string]PropertySpec,
propertyMap := map[string]*Property{} propertyMap := map[string]*Property{}
var result []*Property var result []*Property
for name, spec := range properties { for name, spec := range properties {
propertyPath := path + "/" + name propertyPath := rootPath + "/" + name
typ, typDiags, err := t.bindType(propertyPath, spec.TypeSpec, inputShape) typ, typDiags, err := t.bindType(propertyPath, spec.TypeSpec, inputShape)
diags = diags.Extend(typDiags) diags = diags.Extend(typDiags)
@ -2310,6 +2311,23 @@ func (t *types) bindProperties(path string, properties map[string]PropertySpec,
} }
} }
for name, prop := range propertyMap {
_, optional := prop.Type.(*OptionalType)
error := func(message string) {
diags = diags.Append(errorf(path.Join(rootPath, name), "Cannot combine flags "+message+
" for the same property. Only one of these flags may be set at a time"))
}
if !optional && prop.ConstValue != nil && prop.DefaultValue != nil {
error("'required', 'const' and 'default'")
} else if !optional && prop.ConstValue != nil {
error("'required' and 'const'")
} else if !optional && prop.DefaultValue != nil {
error("'required' and 'default'")
} else if prop.DefaultValue != nil && prop.ConstValue != nil {
error("'default' and 'const'")
}
}
sort.Slice(result, func(i, j int) bool { sort.Slice(result, func(i, j int) bool {
return result[i].Name < result[j].Name return result[i].Name < result[j].Name
}) })