pulumi/tests/testdata/codegen
Fraser Waters c7ed4024ff Support for integers on the wire and state protocol
An exploration into how we could support int64 as well as float64 as a
first class type in Pulumi.

There's some inherit trickiness with this because we use JSON in a few
places, state files most obviously but `PropertyValue` on the wire is
using the protobuf `Struct` and `Value` types which are just mappings to
JSON as well.

JSON doesn't have an int64 type, and while the Go JSON marshaller can
read/write int64s it's not a great behaviour to rely on given mixed
support for that across languages. Further the protobuf `Value` type
only supports float64s.

So we support integers similar to our other special types (like assets)
and wrap them in an object with a special signature field. The value
itself is either a number (if it can safely roundtrip to float64 and
back again) or a string.

Providers, SDKs and the engine communicate support for integers via
`AcceptsIntegers` fields in their interfaces (or similar). When
transmitting to a peer that doesn't support integers (e.g. an old SDK,
or old provider) all integer values are mapped back to standard number
values.

As this changes the serialisation of property values in the state file
it will trigger errors if old engines try to load a state file
containing integers.
2024-08-23 13:36:45 +01:00
..
array-of-enum-map Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
assets-and-archives Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
assets-and-archives-go-generics-only Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
assets-archives-pp Fix Python program generation for remote assets (#16556) 2024-07-02 13:34:10 +00:00
aws-eks-pp Use pulumi.Sprintf in program gen (#16852) 2024-08-01 09:24:25 +00:00
aws-fargate-output-versioned-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
aws-fargate-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
aws-iam-policy-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
aws-lambda-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
aws-optionals-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
aws-resource-options-4.26-pp Add explict provider test to conformance tests (#16362) 2024-06-11 14:56:08 +00:00
aws-resource-options-5.16.2-pp Add explict provider test to conformance tests (#16362) 2024-06-11 14:56:08 +00:00
aws-s3-folder-pp [programgen] Unskip some Python and .NET tests (#16988) 2024-08-16 08:14:13 +00:00
aws-s3-logging-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
aws-secret-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
aws-static-website-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
aws-webserver-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
azure-native-nested-types Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
azure-native-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
azure-native-v2-eventgrid-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
azure-sa-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
basic-unions-pp [go/program-gen] Fix union type type resolution in Go program generation (#16297) 2024-06-06 19:13:19 +00:00
components-pp Add explict provider test to conformance tests (#16362) 2024-06-11 14:56:08 +00:00
config-variables Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
config-variables-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
csharp-plain-lists-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
csharp-typed-for-expressions-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
cyclic-types Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
dash-named-schema Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
dashed-import-schema Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
depends-on-array-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
different-enum Link to Python docs about input types (#16763) 2024-07-31 08:46:04 +00:00
different-package-name-conflict Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
docs-collision Link to Python docs about input types (#16763) 2024-07-31 08:46:04 +00:00
dynamic-entries-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
embedded-crd-types [docs] Use `ComponentResourceOptions` for components (#16968) 2024-08-14 08:23:53 +00:00
empty-list-property-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
entries-function-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
enum-reference [docs] Use `ComponentResourceOptions` for components (#16968) 2024-08-14 08:23:53 +00:00
enum-reference-python Python parameterized provider test (#16491) 2024-07-16 10:55:38 +00:00
external-enum Link to Python docs about input types (#16763) 2024-07-31 08:46:04 +00:00
external-go-import-aliases Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
external-node-compatibility Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
external-python-same-module-name Python parameterized provider test (#16491) 2024-07-16 10:55:38 +00:00
external-resource-schema Link to Python docs about input types (#16763) 2024-07-31 08:46:04 +00:00
functions-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
functions-secrets Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
go-nested-collections Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
go-overridden-internal-module-name Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
go-plain-ref-repro Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
hyphen-url [docs] Use `ComponentResourceOptions` for components (#16968) 2024-08-14 08:23:53 +00:00
hyphenated-symbols Python parameterized provider test (#16491) 2024-07-16 10:55:38 +00:00
inline-invokes-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
internal-dependencies-go Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
interpolated-string-keys-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
invalid-go-sprintf-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
invoke-inside-conditional-range-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
iterating-optional-range-expressions-pp Fix apply in python (#16941) 2024-08-12 13:07:33 +00:00
kubernetes-operator-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
kubernetes-pod-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
kubernetes-template-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
kubernetes-template-quoted-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
kubernetes20 Provider docs: Show envvars for nested types (#16984) 2024-08-16 15:11:31 +00:00
legacy-names Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
logical-name-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
methods-return-plain-resource [docs] Use `ComponentResourceOptions` for components (#16968) 2024-08-14 08:23:53 +00:00
modpath-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
multiline-string-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
naming-collisions Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
nested-module Link to Python docs about input types (#16763) 2024-07-31 08:46:04 +00:00
nested-module-thirdparty Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
optional-complex-config-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
other-owned [docs] Use `ComponentResourceOptions` for components (#16968) 2024-08-14 08:23:53 +00:00
output-funcs Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
output-funcs-aws-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
output-funcs-edgeorder Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
output-funcs-go-generics-only Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
output-funcs-tfbridge20 Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
output-literals-pp Fix literal values in generated Go stack outputs (#16728) 2024-07-21 09:13:43 +00:00
output-name-conflict-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
overlay-supported-languages Link to Python docs about input types (#16763) 2024-07-31 08:46:04 +00:00
plain-and-default Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
plain-and-default-go-generics-only Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
plain-object-defaults Provider docs: Show envvars for nested types (#16984) 2024-08-16 15:11:31 +00:00
plain-object-disable-defaults Provider docs: Show envvars for nested types (#16984) 2024-08-16 15:11:31 +00:00
plain-schema-gh6957 [docs] Use `ComponentResourceOptions` for components (#16968) 2024-08-14 08:23:53 +00:00
provider-config-schema Use publisher and repository fields to default the Go import path (#16899) 2024-08-07 21:02:07 +00:00
provider-type-schema Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
pulumi-stack-reference-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
python-regress-10914-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
python-regress-14037-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
python-reserved-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
python-resource-names-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
python-typed-dict-disabled-setuppy Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
python-typed-dict-pyproject Python parameterized provider test (#16491) 2024-07-16 10:55:38 +00:00
python-typed-dict-setuppy Python parameterized provider test (#16491) 2024-07-16 10:55:38 +00:00
random-pet-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
read-file-func-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
regress-8403 Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
regress-11176-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
regress-go-8664 Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
regress-go-10527 Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
regress-go-12971 Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
regress-go-15478 Ensure package generation for Go SDKs doesn't panic when encountering overly nested arrays or maps of primitive types (#15680) 2024-03-14 14:21:15 +00:00
regress-node-8110 Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
regress-node-12507-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
regress-py-12546 Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
regress-py-12980 Python parameterized provider test (#16491) 2024-07-16 10:55:38 +00:00
regress-py-14012 Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
regress-py-14539 Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
regress-py-tfbridge-611 Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
replace-on-change Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
resource-args-python Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
resource-args-python-case-insensitive Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
resource-property-overlap Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
retain-on-delete-pp Add explict provider test to conformance tests (#16362) 2024-06-11 14:56:08 +00:00
schema Add ability to constrain supported languages of resource and function overlays (#16579) 2024-07-09 14:54:50 +00:00
secrets Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
secrets-go-generics-only Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
simple-enum-schema Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
simple-enum-schema-go-generics-only Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
simple-methods-schema [docs] Use `ComponentResourceOptions` for components (#16968) 2024-08-14 08:23:53 +00:00
simple-methods-schema-single-value-returns [docs] Use `ComponentResourceOptions` for components (#16968) 2024-08-14 08:23:53 +00:00
simple-plain-schema [docs] Use `ComponentResourceOptions` for components (#16968) 2024-08-14 08:23:53 +00:00
simple-plain-schema-go-generics-only Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
simple-plain-schema-with-root-package [docs] Use `ComponentResourceOptions` for components (#16968) 2024-08-14 08:23:53 +00:00
simple-range-pp Use pulumi.Sprintf in program gen (#16852) 2024-08-01 09:24:25 +00:00
simple-resource-schema [docs] Use `ComponentResourceOptions` for components (#16968) 2024-08-14 08:23:53 +00:00
simple-resource-schema-custom-pypackage-name [docs] Use `ComponentResourceOptions` for components (#16968) 2024-08-14 08:23:53 +00:00
simple-resource-with-aliases Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
simple-schema-pyproject Link to Python docs about input types (#16763) 2024-07-31 08:46:04 +00:00
simple-splat-pp Use publisher and repository fields to default the Go import path (#16899) 2024-08-07 21:02:07 +00:00
simple-yaml-schema [docs] Use `ComponentResourceOptions` for components (#16968) 2024-08-14 08:23:53 +00:00
simplified-invokes Add semicolon output functions (#17006) 2024-08-19 10:36:29 +00:00
simplified-invokes-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
single-or-none-pp Enable l1-output-number conformance test for Go (#16753) 2024-07-22 17:12:28 +00:00
snowflake-python-12998-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
string-enum-union-list-pp [program-gen] Fix enum resolution from types of the form Union[string, Enum] and emit fully qualified enum cases (#15696) 2024-03-15 17:49:12 +00:00
synthetic-resource-properties-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
third-party-package-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
throw-not-implemented-pp Enable l1-output-number conformance test for Go (#16753) 2024-07-22 17:12:28 +00:00
transpiled_examples Support for integers on the wire and state protocol 2024-08-23 13:36:45 +01:00
traverse-union-repro-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
typed-enum-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
typeddict-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
unions-inline Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
unions-inside-arrays Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
unknown-invoke-pp [go/program-gen] Do not emit index module for resources without a schema (#16588) 2024-07-08 14:57:23 +00:00
unknown-resource-pp [go/program-gen] Do not emit index module for resources without a schema (#16588) 2024-07-08 14:57:23 +00:00
urn-id-properties Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
using-dashes-pp Use publisher and repository fields to default the Go import path (#16899) 2024-08-07 21:02:07 +00:00
using-object-as-input-for-any-pp [program-gen/go,dotnet] Fixes emited code for object expressions assigned to properties of type Any (#15770) 2024-03-24 00:06:57 +00:00
using-shared-types-in-config Use Pulumi v3.66.1 in .NET sdk-gen (#16935) 2024-08-09 22:12:28 +00:00
.gitignore Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
auto-deploy-0.0.1.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
aws-4.15.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
aws-4.26.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
aws-4.36.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
aws-4.37.1.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
aws-5.4.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
aws-5.16.2.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
aws-native-0.99.0.json [program-gen/go,dotnet] Fixes emited code for object expressions assigned to properties of type Any (#15770) 2024-03-24 00:06:57 +00:00
aws-static-website-0.4.0.json [program-gen] Fix panic when generating programs for MLC packages using external types (#15605) 2024-03-10 17:23:15 +00:00
awsx-1.0.0-beta.5.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
azure-4.18.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
azure-native-1.28.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
azure-native-1.29.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
azure-native-1.56.0.json [program-gen] Fix enum resolution from types of the form Union[string, Enum] and emit fully qualified enum cases (#15696) 2024-03-15 17:49:12 +00:00
azure-native-2.41.0.json [go/program-gen] Implement importPathPattern in Go language options to override emitted paths in generated Go programs (#16267) 2024-05-30 19:51:12 +00:00
basic-unions-0.1.0.json [program-gen/tests] Replace discriminated unions test program with a program from a synthetic schema of basic unions (#15771) 2024-03-28 10:49:27 +00:00
docker-3.1.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
docker-4.0.0-alpha.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
eks-0.37.1.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
eks-0.40.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
enum-1.0.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
google-native-0.18.2.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
google-native-0.27.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
kubernetes-3.0.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
kubernetes-3.7.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
kubernetes-3.7.2.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
lambda-0.1.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
localref-1.0.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
other-0.1.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
plain-properties-1.0.0.json Fix marshalling of plain properties (#16812) 2024-07-26 21:36:22 +00:00
random-4.2.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
random-4.3.1.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
random-4.11.2.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
range-1.0.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
recursive-1.0.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
remoteref-1.0.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
snowflake-0.66.1.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
splat-1.0.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
std-1.0.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
synthetic-1.0.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
tls-4.10.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
typeddict-1.0.0.json Generate TypedDicts for python inputs (#15957) 2024-06-18 15:24:42 +00:00
types.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
using-dashes-1.0.0.json Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00