The Node.js runtime accepts `Output<undefined>` values as inputs to optional parameters, but the TypeScript typing currently does not allow these. This extends the TypeScript typings to allow `Output<undefined>` values as inputs to optional input properties. I cannot think of any way in which this is breaking or would regress any aspect of the TypeScript experience, other than making the `.d.ts` files a little "noisier". Fixes #6175.
571 lines
17 KiB
JSON
571 lines
17 KiB
JSON
{
|
|
"name": "typetests",
|
|
"version": "0.0.1",
|
|
"meta": {
|
|
"moduleFormat": "(.*)"
|
|
},
|
|
"config": {},
|
|
"types": {
|
|
"types::object": {
|
|
"type": "object"
|
|
},
|
|
"typetests::plainCollections": {
|
|
"description": "Tests for singly-nested plain collections",
|
|
"properties": {
|
|
"array": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"plain": true,
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "ImmutableArray<Input<string>>",
|
|
"plain": "ImmutableArray<string>"
|
|
},
|
|
"go": {
|
|
"input": "[]pulumi.StringInput",
|
|
"plain": "[]string"
|
|
},
|
|
"nodejs": {
|
|
"input": "pulumi.Input<string>[] | undefined",
|
|
"plain": "string[] | undefined"
|
|
},
|
|
"python": {
|
|
"input": "Optional[Sequence[pulumi.Input[str]]]",
|
|
"plain": "Optional[Sequence[str]]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"map": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "InputMap<string>",
|
|
"plain": "ImmutableDictionary<string, string>?"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.StringMapInput",
|
|
"plain": "map[string]string"
|
|
},
|
|
"nodejs": {
|
|
"input": "pulumi.Input<{[key: string]: pulumi.Input<string>} | undefined> | undefined",
|
|
"plain": "{[key: string]: string} | undefined"
|
|
},
|
|
"python": {
|
|
"input": "Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]",
|
|
"plain": "Optional[Mapping[str, str]]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typetests::primitives": {
|
|
"description": "Tests name generation for the primitive schame types. See https://pkg.go.dev/github.com/pulumi/pulumi/pkg/v3/codegen/schema#Type for a complete list",
|
|
"properties": {
|
|
"any": {
|
|
"$ref": "pulumi.json#/Any",
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "Input<object>?",
|
|
"plain": "object?"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.Input",
|
|
"plain": "interface{}"
|
|
},
|
|
"nodejs": {
|
|
"input": "any | undefined",
|
|
"plain": "any | undefined"
|
|
},
|
|
"python": {
|
|
"input": "Optional[Any]",
|
|
"plain": "Optional[Any]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"archive": {
|
|
"$ref": "pulumi.json#/Archive",
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "Input<Archive>?",
|
|
"plain": "Archive?"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.ArchiveInput",
|
|
"plain": "pulumi.Archive"
|
|
},
|
|
"nodejs": {
|
|
"input": "pulumi.Input<pulumi.asset.Archive | undefined> | undefined",
|
|
"plain": "pulumi.asset.Archive | undefined"
|
|
},
|
|
"python": {
|
|
"input": "Optional[pulumi.Input[pulumi.Archive]]",
|
|
"plain": "Optional[pulumi.Archive]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"asset": {
|
|
"$ref": "pulumi.json#/Asset",
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "Input<AssetOrArchive>?",
|
|
"plain": "AssetOrArchive?"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.AssetOrArchiveInput",
|
|
"plain": "pulumi.AssetOrArchive"
|
|
},
|
|
"nodejs": {
|
|
"input": "pulumi.Input<pulumi.asset.Asset | pulumi.asset.Archive | undefined> | undefined",
|
|
"plain": "pulumi.asset.Asset | pulumi.asset.Archive | undefined"
|
|
},
|
|
"python": {
|
|
"input": "Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]]",
|
|
"plain": "Optional[Union[pulumi.Asset, pulumi.Archive]]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"boolean": {
|
|
"type": "boolean",
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "Input<bool>?",
|
|
"plain": "bool?"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.BoolPtrInput",
|
|
"plain": "*bool"
|
|
},
|
|
"nodejs": {
|
|
"input": "pulumi.Input<boolean | undefined> | undefined",
|
|
"plain": "boolean | undefined"
|
|
},
|
|
"python": {
|
|
"input": "Optional[pulumi.Input[bool]]",
|
|
"plain": "Optional[bool]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"integer": {
|
|
"type": "integer",
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "Input<int>?",
|
|
"plain": "int?"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.IntPtrInput",
|
|
"plain": "*int"
|
|
},
|
|
"nodejs": {
|
|
"input": "pulumi.Input<number | undefined> | undefined",
|
|
"plain": "number | undefined"
|
|
},
|
|
"python": {
|
|
"input": "Optional[pulumi.Input[int]]",
|
|
"plain": "Optional[int]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"json": {
|
|
"$ref": "pulumi.json#/Json",
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "InputJson?",
|
|
"plain": "System.Text.Json.JsonElement?"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.Input",
|
|
"plain": "interface{}"
|
|
},
|
|
"nodejs": {
|
|
"input": "any | undefined",
|
|
"plain": "any | undefined"
|
|
},
|
|
"python": {
|
|
"input": "Optional[Any]",
|
|
"plain": "Optional[Any]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"number": {
|
|
"type": "number",
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "Input<double>?",
|
|
"plain": "double?"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.Float64PtrInput",
|
|
"plain": "*float64"
|
|
},
|
|
"nodejs": {
|
|
"input": "pulumi.Input<number | undefined> | undefined",
|
|
"plain": "number | undefined"
|
|
},
|
|
"python": {
|
|
"input": "Optional[pulumi.Input[float]]",
|
|
"plain": "Optional[float]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"requiredAny": {
|
|
"$ref": "pulumi.json#/Any",
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "Input<object>",
|
|
"plain": "object"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.Input",
|
|
"plain": "interface{}"
|
|
},
|
|
"nodejs": {
|
|
"input": "any",
|
|
"plain": "any"
|
|
},
|
|
"python": {
|
|
"input": "Any",
|
|
"plain": "Any"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"requiredArchive": {
|
|
"$ref": "pulumi.json#/Archive",
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "Input<Archive>",
|
|
"plain": "Archive"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.ArchiveInput",
|
|
"plain": "pulumi.Archive"
|
|
},
|
|
"nodejs": {
|
|
"input": "pulumi.Input<pulumi.asset.Archive>",
|
|
"plain": "pulumi.asset.Archive"
|
|
},
|
|
"python": {
|
|
"input": "pulumi.Input[pulumi.Archive]",
|
|
"plain": "pulumi.Archive"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"requiredAsset": {
|
|
"$ref": "pulumi.json#/Asset",
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "Input<AssetOrArchive>",
|
|
"plain": "AssetOrArchive"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.AssetOrArchiveInput",
|
|
"plain": "pulumi.AssetOrArchive"
|
|
},
|
|
"nodejs": {
|
|
"input": "pulumi.Input<pulumi.asset.Asset | pulumi.asset.Archive>",
|
|
"plain": "pulumi.asset.Asset | pulumi.asset.Archive"
|
|
},
|
|
"python": {
|
|
"input": "pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]",
|
|
"plain": "Union[pulumi.Asset, pulumi.Archive]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"requiredBoolean": {
|
|
"type": "boolean",
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "Input<bool>",
|
|
"plain": "bool"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.BoolInput",
|
|
"plain": "bool"
|
|
},
|
|
"nodejs": {
|
|
"input": "pulumi.Input<boolean>",
|
|
"plain": "boolean"
|
|
},
|
|
"python": {
|
|
"input": "pulumi.Input[bool]",
|
|
"plain": "bool"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"requiredInteger": {
|
|
"type": "integer",
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "Input<int>",
|
|
"plain": "int"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.IntInput",
|
|
"plain": "int"
|
|
},
|
|
"nodejs": {
|
|
"input": "pulumi.Input<number>",
|
|
"plain": "number"
|
|
},
|
|
"python": {
|
|
"input": "pulumi.Input[int]",
|
|
"plain": "int"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"requiredJson": {
|
|
"$ref": "pulumi.json#/Json",
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "InputJson",
|
|
"plain": "System.Text.Json.JsonElement"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.Input",
|
|
"plain": "interface{}"
|
|
},
|
|
"nodejs": {
|
|
"input": "any",
|
|
"plain": "any"
|
|
},
|
|
"python": {
|
|
"input": "Any",
|
|
"plain": "Any"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"requiredNumber": {
|
|
"type": "number",
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "Input<double>",
|
|
"plain": "double"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.Float64Input",
|
|
"plain": "float64"
|
|
},
|
|
"nodejs": {
|
|
"input": "pulumi.Input<number>",
|
|
"plain": "number"
|
|
},
|
|
"python": {
|
|
"input": "pulumi.Input[float]",
|
|
"plain": "float"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"requiredString": {
|
|
"type": "string",
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "Input<string>",
|
|
"plain": "string"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.StringInput",
|
|
"plain": "string"
|
|
},
|
|
"nodejs": {
|
|
"input": "pulumi.Input<string>",
|
|
"plain": "string"
|
|
},
|
|
"python": {
|
|
"input": "pulumi.Input[str]",
|
|
"plain": "str"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"string": {
|
|
"type": "string",
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "Input<string>?",
|
|
"plain": "string?"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.StringPtrInput",
|
|
"plain": "*string"
|
|
},
|
|
"nodejs": {
|
|
"input": "pulumi.Input<string | undefined> | undefined",
|
|
"plain": "string | undefined"
|
|
},
|
|
"python": {
|
|
"input": "Optional[pulumi.Input[str]]",
|
|
"plain": "Optional[str]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"type": "object",
|
|
"required": [
|
|
"requiredAny",
|
|
"requiredArchive",
|
|
"requiredAsset",
|
|
"requiredBoolean",
|
|
"requiredInteger",
|
|
"requiredJson",
|
|
"requiredNumber",
|
|
"requiredString"
|
|
]
|
|
},
|
|
"typetests:regressions:inputObject": {
|
|
"description": "Regression test for bad input types for {\"type\": \"object\"}",
|
|
"properties": {
|
|
"object": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "InputMap<string>",
|
|
"plain": "ImmutableDictionary<string, string>?"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.StringMapInput",
|
|
"plain": "map[string]string"
|
|
},
|
|
"nodejs": {
|
|
"input": "pulumi.Input<{[key: string]: pulumi.Input<string>} | undefined> | undefined",
|
|
"plain": "{[key: string]: string} | undefined"
|
|
},
|
|
"python": {
|
|
"input": "Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]",
|
|
"plain": "Optional[Mapping[str, str]]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typetests:regressions:pulumi/pulumi/7454": {
|
|
"description": "Regression test for pulumi/pulumi#7454",
|
|
"properties": {
|
|
"inputUnion": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/types/types::object"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "pulumi.json#/Json"
|
|
}
|
|
}
|
|
],
|
|
"language": {
|
|
"test": {
|
|
"expected": {
|
|
"dotnet": {
|
|
"input": "InputUnion<Pulumi.Types.ObjectArgs, ImmutableArray<System.Text.Json.JsonElement>>?",
|
|
"plain": "Union<Pulumi.Types.Object, ImmutableArray<System.Text.Json.JsonElement>>?"
|
|
},
|
|
"go": {
|
|
"input": "pulumi.Input",
|
|
"plain": "interface{}"
|
|
},
|
|
"nodejs": {
|
|
"input": "pulumi.Input<outputs.ObjectArgs | any[] | undefined> | undefined",
|
|
"plain": "outputs.Object | any[] | undefined"
|
|
},
|
|
"python": {
|
|
"input": "Optional[Any]",
|
|
"plain": "Optional[Any]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
},
|
|
"provider": {
|
|
"type": "object"
|
|
}
|
|
}
|