pulumi/tests/testdata/codegen
Zaid Ajaj ebf838e02e
[go] Allow output-versioned invokes to resolve and maintain secrets (#17132)
Partially addressing #12710

### Description

This PR extends Go SDK-gen, specifically for output-versioned invokes
such that they no longer rely on the plain invokes for their function
body.

We do this by implementing and using a sdk function `InvokePackageRaw`
which is similar to `InvokePackage` except that it doesn't fail on
secrets and actually returns a boolean indicating whether the invoke
response contained any secrets. This way, the generated output-versioned
invokes can immediately wrap the response as a secret if necessary and
more importantly, not failing immediately if the response contained
secrets.

The sdk-gen test `output-funcs` actually do a runtime test for the newly
generated function body and it passes. ~~However, I don't think it
covers the _if secret then wrap as secret_ path~~ but maybe that's
acceptable because it's a simple one liner
```go
// <invoke function body ommited here>
if secret {
  return pulumi.ToSecret(output).(FuncResultOutput), nil
}
```
Follow-up PRs with less priority:
 - [x] A proper test for invokes with secrets in their response
 - [ ] A conformance test
- [ ] Doing the same for _generic_ output-versioned invokes to let them
maintain secretness

### EDIT
Updated the test in output-funcs such that it now returns a response for
an invoke containing secrets
2024-09-09 12:57:43 +00:00
..
array-of-enum-map Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
assets-and-archives [go] Allow output-versioned invokes to resolve and maintain secrets (#17132) 2024-09-09 12:57:43 +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 [go] Allow output-versioned invokes to resolve and maintain secrets (#17132) 2024-09-09 12:57:43 +00:00
functions-pp Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
functions-secrets [go] Allow output-versioned invokes to resolve and maintain secrets (#17132) 2024-09-09 12:57:43 +00:00
go-nested-collections Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
go-overridden-internal-module-name [go] Allow output-versioned invokes to resolve and maintain secrets (#17132) 2024-09-09 12:57:43 +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 [go] Allow output-versioned invokes to resolve and maintain secrets (#17132) 2024-09-09 12:57:43 +00:00
output-funcs-aws-pp Generate TypedDict input types by default (#16704) 2024-07-23 11:26:54 +00:00
output-funcs-edgeorder [go] Allow output-versioned invokes to resolve and maintain secrets (#17132) 2024-09-09 12:57:43 +00:00
output-funcs-go-generics-only Move codegen testdata (#15549) 2024-03-06 20:36:50 +00:00
output-funcs-tfbridge20 [go] Allow output-versioned invokes to resolve and maintain secrets (#17132) 2024-09-09 12:57:43 +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 [go] Allow output-versioned invokes to resolve and maintain secrets (#17132) 2024-09-09 12:57:43 +00:00
plain-object-disable-defaults [go] Allow output-versioned invokes to resolve and maintain secrets (#17132) 2024-09-09 12:57:43 +00:00
plain-schema-gh6957 [docs] Use `ComponentResourceOptions` for components (#16968) 2024-08-14 08:23:53 +00:00
provider-config-schema [go] Allow output-versioned invokes to resolve and maintain secrets (#17132) 2024-09-09 12:57:43 +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 [go] Allow output-versioned invokes to resolve and maintain secrets (#17132) 2024-09-09 12:57:43 +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 [go] Allow output-versioned invokes to resolve and maintain secrets (#17132) 2024-09-09 12:57:43 +00:00
simple-resource-schema-custom-pypackage-name [go] Allow output-versioned invokes to resolve and maintain secrets (#17132) 2024-09-09 12:57:43 +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 [go] Allow output-versioned invokes to resolve and maintain secrets (#17132) 2024-09-09 12:57:43 +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 Add an `organization` intrinsic to PCL (#16948) 2024-08-19 03:58:19 +00: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 [go] Allow output-versioned invokes to resolve and maintain secrets (#17132) 2024-09-09 12:57:43 +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