Merge remote-tracking branch 'origin/master' into ctpp
This commit is contained in:
commit
e2c5f12d65
|
@ -22,16 +22,6 @@
|
|||
"postCreateCommand": "find -name \"*.??proj\" | xargs -L1 dotnet restore",
|
||||
|
||||
"settings": {
|
||||
"gopls": {
|
||||
// A couple of modules get copied as part of builds and this confuse gopls as it sees the module name twice, just ignore the copy in the build folders.
|
||||
"build.directoryFilters": [
|
||||
"-sdk/dotnet/Pulumi.Automation.Tests/bin",
|
||||
"-sdk/nodejs/bin",
|
||||
"-sdk/python/env"
|
||||
],
|
||||
// Experimental but seems to work and means we don't need a vscode instance per go.mod file.
|
||||
"experimentalWorkspaceModule": true,
|
||||
},
|
||||
"extensions.ignoreRecommendations": true
|
||||
}
|
||||
}
|
||||
|
|
6
.github/workflows/run-docs-generation.yml
vendored
6
.github/workflows/run-docs-generation.yml
vendored
|
@ -93,6 +93,12 @@ jobs:
|
|||
# If generating docs for more providers here, be sure to update
|
||||
# the description of the draft PR that is opened in the next step.
|
||||
pushd docs
|
||||
|
||||
pushd tools/resourcedocsgen
|
||||
go mod edit -replace github.com/pulumi/pulumi/pkg/v3=../../../pulumi/pkg
|
||||
go mod edit -replace github.com/pulumi/pulumi/sdk/v3=../../../pulumi/sdk
|
||||
popd
|
||||
|
||||
./scripts/gen_resource_docs.sh aws true
|
||||
./scripts/gen_resource_docs.sh kubernetes true
|
||||
popd
|
||||
|
|
13
.vscode/settings.json
vendored
13
.vscode/settings.json
vendored
|
@ -1,3 +1,14 @@
|
|||
{
|
||||
"go.buildTags": "all"
|
||||
"go.buildTags": "all",
|
||||
"go.testTimeout": "1h",
|
||||
"gopls": {
|
||||
// A couple of modules get copied as part of builds and this confuse gopls as it sees the module name twice, just ignore the copy in the build folders.
|
||||
"build.directoryFilters": [
|
||||
"-sdk/dotnet/Pulumi.Automation.Tests/bin",
|
||||
"-sdk/nodejs/bin",
|
||||
"-sdk/python/env"
|
||||
],
|
||||
// Experimental but seems to work and means we don't need a vscode instance per go.mod file.
|
||||
"experimentalWorkspaceModule": true,
|
||||
},
|
||||
}
|
21
CHANGELOG.md
21
CHANGELOG.md
|
@ -1,6 +1,27 @@
|
|||
CHANGELOG
|
||||
=========
|
||||
|
||||
## 3.17.1 (2021-11-09)
|
||||
|
||||
### Improvements
|
||||
|
||||
- [codegen/docs] Edit docs codegen to document `$fnOutput` function
|
||||
invoke forms in API documentation.
|
||||
[#8287](https://github.com/pulumi/pulumi/pull/8287)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- [automation/python] - Fix deserialization of events.
|
||||
[#8375](https://github.com/pulumi/pulumi/pull/8375)
|
||||
|
||||
- [sdk/dotnet] - Fixes failing preview for programs that call data
|
||||
sources (`F.Invoke`) with unknown outputs.
|
||||
[#8339](https://github.com/pulumi/pulumi/pull/8339)
|
||||
|
||||
- [programgen/go] - Don't change imported resource names.
|
||||
[#8353](https://github.com/pulumi/pulumi/pull/8353)
|
||||
|
||||
|
||||
## 3.17.0 (2021-11-03)
|
||||
|
||||
### Improvements
|
||||
|
|
|
@ -1,7 +1,18 @@
|
|||
### Improvements
|
||||
|
||||
- [codegen/docs] Edit docs codegen to document `$fnOutput` function
|
||||
invoke forms in API documentation.
|
||||
[#8287](https://github.com/pulumi/pulumi/pull/8287)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- [automation/python] - Fix deserialization of events.
|
||||
[#8375](https://github.com/pulumi/pulumi/pull/8375)
|
||||
|
||||
- [sdk/dotnet] - Fixes failing preview for programs that call data
|
||||
sources (`F.Invoke`) with unknown outputs
|
||||
[#8339](https://github.com/pulumi/pulumi/pull/8339)
|
||||
|
||||
- [programgen/go] - Don't change imported resource names.
|
||||
[#8353](https://github.com/pulumi/pulumi/pull/8353)
|
||||
|
|
9
Makefile
9
Makefile
|
@ -29,19 +29,18 @@ build-proto::
|
|||
.PHONY: generate
|
||||
generate::
|
||||
$(call STEP_MESSAGE)
|
||||
echo "Generate static assets bundle for docs generator"
|
||||
cd pkg && go generate ./codegen/docs/gen.go
|
||||
echo "This command does not do anything anymore. It will be removed in a future version."
|
||||
|
||||
build:: generate
|
||||
build::
|
||||
cd pkg && go install -ldflags "-X github.com/pulumi/pulumi/pkg/v3/version.Version=${VERSION}" ${PROJECT}
|
||||
|
||||
build_debug:: generate
|
||||
build_debug::
|
||||
cd pkg && go install -gcflags="all=-N -l" -ldflags "-X github.com/pulumi/pulumi/pkg/v3/version.Version=${VERSION}" ${PROJECT}
|
||||
|
||||
developer_docs::
|
||||
cd developer-docs && make html
|
||||
|
||||
install:: generate
|
||||
install::
|
||||
cd pkg && GOBIN=$(PULUMI_BIN) go install -ldflags "-X github.com/pulumi/pulumi/pkg/v3/version.Version=${VERSION}" ${PROJECT}
|
||||
|
||||
install_all:: install
|
||||
|
|
|
@ -32,19 +32,3 @@ For minor diffs, you can just update the test files manually and include those u
|
|||
```
|
||||
PULUMI_ACCEPT=true pushd pkg/codegen/docs && go test . && popd
|
||||
```
|
||||
|
||||
## `bundler.go`
|
||||
|
||||
This file contains a `main` function and is part of the `main` package. We run it using the `go generate` command (see the `Makefile` and the starting comment in `pkg/codegen/gen.go`).
|
||||
|
||||
> This file is ignored using a `+build ignore` comment at the top of the file, so it is not ignored during a `go build ...`.
|
||||
|
||||
## `packaged.go`
|
||||
|
||||
A file generated by `bundler.go` that contains formatted byte strings, that represent the string templates from the `./templates/` folder. This file is also git-ignored as it is intended to only be generated by the `docs` repo and is not used during runtime of the main Pulumi CLI. In fact, this whole package is not used during the runtime of the CLI itself.
|
||||
|
||||
## `go:generate`
|
||||
|
||||
> Read more [here](https://blog.golang.org/generate).
|
||||
|
||||
`go:generate` is a special code comment that can be used to run custom commands by simply running `go generate <package>`, which then scans for `go:generate` comments in all sources in the package `<package>`. It also serves as a way to document, that a certain file relies on a command to have been executed before it can be used.
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
//go:build ignore
|
||||
// +build ignore
|
||||
|
||||
// Copyright 2016-2020, Pulumi Corporation.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
// Pulling out some of the repeated strings tokens into constants would harm readability, so we just ignore the
|
||||
// goconst linter's warning.
|
||||
//
|
||||
// nolint: lll, goconst
|
||||
package main
|
||||
|
||||
import "github.com/pulumi/pulumi/pkg/v3/codegen/docs/bundler"
|
||||
|
||||
// main reads files under the templates directory, and builds a map of filename to byte slice.
|
||||
// Each file's contents are then written to a generated file.
|
||||
//
|
||||
// NOTE: Sub-directories are currently not supported.
|
||||
func main() {
|
||||
if err := bundler.GenerateTemplatesBundleFile(); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
|
@ -1,127 +0,0 @@
|
|||
// Copyright 2016-2021, Pulumi Corporation.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package bundler
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"go/format"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"strings"
|
||||
"text/template"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
const (
|
||||
basePath = "."
|
||||
docsTemplatesPath = basePath + "/templates"
|
||||
generatedFileName = basePath + "/packaged.go"
|
||||
)
|
||||
|
||||
var conv = map[string]interface{}{"conv": fmtByteSlice}
|
||||
var tmpl = template.Must(template.New("").Funcs(conv).Parse(`
|
||||
// AUTO-GENERATED FILE! DO NOT EDIT THIS FILE MANUALLY.
|
||||
|
||||
// Copyright 2016-2020, Pulumi Corporation.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
// Pulling out some of the repeated strings tokens into constants would harm readability, so we just ignore the
|
||||
// goconst linter's warning.
|
||||
//
|
||||
// nolint: lll, goconst
|
||||
package docs
|
||||
|
||||
func init() {
|
||||
packagedTemplates = make(map[string][]byte)
|
||||
{{ range $key, $value := . }}
|
||||
packagedTemplates["{{ $key }}"] = []byte{ {{ conv $value }} }
|
||||
{{ println }}
|
||||
{{- end }}
|
||||
}
|
||||
`))
|
||||
|
||||
// fmtByteSlice returns a formatted byte string for a given slice of bytes.
|
||||
// We embed the raw bytes to avoid any formatting errors that can occur due to saving
|
||||
// raw strings in a file.
|
||||
func fmtByteSlice(s []byte) string {
|
||||
builder := strings.Builder{}
|
||||
|
||||
for _, v := range s {
|
||||
builder.WriteString(fmt.Sprintf("%d,", int(v)))
|
||||
}
|
||||
|
||||
return builder.String()
|
||||
}
|
||||
|
||||
// GenerateTemplatesBundleFile reads the templates from `../templates/` and writes a git-ignored
|
||||
// packaged.go file containing byte-slices of the templates.
|
||||
func GenerateTemplatesBundleFile() error {
|
||||
files, err := ioutil.ReadDir(docsTemplatesPath)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "reading the templates dir")
|
||||
}
|
||||
|
||||
contents := make(map[string][]byte)
|
||||
for _, f := range files {
|
||||
if f.IsDir() {
|
||||
fmt.Printf("%q is a dir. Skipping...\n", f.Name())
|
||||
}
|
||||
b, err := ioutil.ReadFile(docsTemplatesPath + "/" + f.Name())
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "reading file %s", f.Name())
|
||||
}
|
||||
if len(b) == 0 {
|
||||
fmt.Printf("%q is empty. Skipping...\n", f.Name())
|
||||
continue
|
||||
}
|
||||
contents[f.Name()] = b
|
||||
}
|
||||
|
||||
// We overwrite the file every time the `go generate ...` command is run.
|
||||
f, err := os.Create(generatedFileName)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "creating blob file")
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
builder := &bytes.Buffer{}
|
||||
if err = tmpl.Execute(builder, contents); err != nil {
|
||||
return errors.Wrap(err, "executing template")
|
||||
}
|
||||
|
||||
data, err := format.Source(builder.Bytes())
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "formatting generated code")
|
||||
}
|
||||
|
||||
if err = ioutil.WriteFile(generatedFileName, data, os.ModePerm); err != nil {
|
||||
return errors.Wrap(err, "writing file")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
|
@ -22,6 +22,7 @@ package docs
|
|||
|
||||
import (
|
||||
"bytes"
|
||||
"embed"
|
||||
"fmt"
|
||||
"html"
|
||||
"html/template"
|
||||
|
@ -41,18 +42,13 @@ import (
|
|||
"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
|
||||
)
|
||||
|
||||
// Populated in auto-generated `packaged.go`
|
||||
var packagedTemplates map[string][]byte
|
||||
//go:embed templates/*.tmpl
|
||||
var packagedTemplates embed.FS
|
||||
|
||||
func init() {
|
||||
packagedTemplates = map[string][]byte{}
|
||||
}
|
||||
|
||||
// TODO[pulumi/pulumi#7813]: Remove this lookup once display name is available in
|
||||
// the Pulumi schema.
|
||||
//
|
||||
// NOTE: For the time being this lookup map and the one used by the resourcedocsgen
|
||||
// tool in `pulumi/docs` must be kept up-to-date.
|
||||
// NOTE: This lookup map can be removed when all Pulumi-managed packages
|
||||
// have a DisplayName in their schema. See pulumi/pulumi#7813.
|
||||
// This lookup table no longer needs to be updated for new providers
|
||||
// and is considered stale.
|
||||
//
|
||||
// titleLookup is a map of package name to the desired display name.
|
||||
func titleLookup(shortName string) (string, bool) {
|
||||
|
@ -1706,8 +1702,13 @@ func (mod *modContext) genIndex() indexData {
|
|||
modName := mod.getModuleFileName()
|
||||
title := modName
|
||||
|
||||
// An empty string indicates that this is the root module.
|
||||
if title == "" {
|
||||
title = formatTitleText(mod.pkg.Name)
|
||||
if mod.pkg.DisplayName != "" {
|
||||
title = mod.pkg.DisplayName
|
||||
} else {
|
||||
title = getPackageDisplayName(mod.pkg.Name)
|
||||
}
|
||||
}
|
||||
|
||||
// If there are submodules, list them.
|
||||
|
@ -1759,7 +1760,7 @@ func (mod *modContext) genIndex() indexData {
|
|||
// assume top level package index page when formatting title tags otherwise, if contains modules, assume modules
|
||||
// top level page when generating title tags.
|
||||
if len(modules) > 0 {
|
||||
titleTag = fmt.Sprintf("%s Package", formatTitleText(title))
|
||||
titleTag = fmt.Sprintf("%s Package", getPackageDisplayName(title))
|
||||
} else {
|
||||
titleTag = fmt.Sprintf("%s.%s", mod.pkg.Name, title)
|
||||
packageDescription = fmt.Sprintf("Explore the resources and functions of the %s.%s module.", mod.pkg.Name, title)
|
||||
|
@ -1784,7 +1785,9 @@ func (mod *modContext) genIndex() indexData {
|
|||
return data
|
||||
}
|
||||
|
||||
func formatTitleText(title string) string {
|
||||
// getPackageDisplayName uses the title lookup map to look for a
|
||||
// display name for the given title.
|
||||
func getPackageDisplayName(title string) string {
|
||||
// If title not found in titleLookup map, default back to title given.
|
||||
if val, ok := titleLookup(title); ok {
|
||||
return val
|
||||
|
@ -1936,12 +1939,8 @@ func (dctx *docGenContext) initialize(tool string, pkg *schema.Package) {
|
|||
|
||||
defer glog.Flush()
|
||||
|
||||
if len(packagedTemplates) == 0 {
|
||||
glog.Fatal(`packagedTemplates is empty. Did you run "make generate" first?`)
|
||||
}
|
||||
|
||||
for name, b := range packagedTemplates {
|
||||
template.Must(dctx.templates.New(name).Parse(string(b)))
|
||||
if _, err := dctx.templates.ParseFS(packagedTemplates, "templates/*.tmpl"); err != nil {
|
||||
glog.Fatalf("initializing templates: %v", err)
|
||||
}
|
||||
|
||||
// Generate the modules from the schema, and for every module
|
||||
|
|
|
@ -25,6 +25,7 @@ import (
|
|||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/pulumi/pulumi/pkg/v3/codegen"
|
||||
go_gen "github.com/pulumi/pulumi/pkg/v3/codegen/go"
|
||||
"github.com/pulumi/pulumi/pkg/v3/codegen/python"
|
||||
"github.com/pulumi/pulumi/pkg/v3/codegen/schema"
|
||||
)
|
||||
|
@ -60,11 +61,29 @@ type functionDocArgs struct {
|
|||
NestedTypes []docNestedType
|
||||
|
||||
PackageDetails packageDetails
|
||||
|
||||
// Check if the function supports an `Output` version that is
|
||||
// automatically lifted to accept `Input` values and return an
|
||||
// `Output` (per language).
|
||||
HasOutputVersion map[string]bool
|
||||
|
||||
// True if any of the entries in `HasOutputVersion` are true.
|
||||
AnyLanguageHasOutputVersion bool
|
||||
|
||||
// Same as FunctionArgs, but specific to the Output version of
|
||||
// the function.
|
||||
FunctionArgsOutputVersion map[string]string
|
||||
|
||||
// Same as FunctionResult, but specific to the Output version
|
||||
// of the function. In languages like Go, `Output<Result>`
|
||||
// gets a dedicated nominal type to emulate generics, which
|
||||
// will be passed in here.
|
||||
FunctionResultOutputVersion map[string]propertyType
|
||||
}
|
||||
|
||||
// getFunctionResourceInfo returns a map of per-language information about
|
||||
// the resource being looked-up using a static "getter" function.
|
||||
func (mod *modContext) getFunctionResourceInfo(f *schema.Function) map[string]propertyType {
|
||||
func (mod *modContext) getFunctionResourceInfo(f *schema.Function, outputVersion bool) map[string]propertyType {
|
||||
dctx := mod.docGenContext
|
||||
resourceMap := make(map[string]propertyType)
|
||||
|
||||
|
@ -76,6 +95,9 @@ func (mod *modContext) getFunctionResourceInfo(f *schema.Function) map[string]pr
|
|||
resultTypeName = docLangHelper.GetResourceFunctionResultName(mod.mod, f)
|
||||
case "go":
|
||||
resultTypeName = docLangHelper.GetResourceFunctionResultName(mod.mod, f)
|
||||
if outputVersion {
|
||||
resultTypeName = fmt.Sprintf("%sOutput", resultTypeName)
|
||||
}
|
||||
case "csharp":
|
||||
namespace := title(mod.pkg.Name, lang)
|
||||
if ns, ok := dctx.csharpPkgInfo.Namespaces[mod.pkg.Name]; ok {
|
||||
|
@ -106,9 +128,16 @@ func (mod *modContext) getFunctionResourceInfo(f *schema.Function) map[string]pr
|
|||
return resourceMap
|
||||
}
|
||||
|
||||
func (mod *modContext) genFunctionTS(f *schema.Function, funcName string) []formalParam {
|
||||
func (mod *modContext) genFunctionTS(f *schema.Function, funcName string, outputVersion bool) []formalParam {
|
||||
dctx := mod.docGenContext
|
||||
argsType := title(funcName+"Args", "nodejs")
|
||||
|
||||
argsTypeSuffix := "Args"
|
||||
if outputVersion {
|
||||
argsTypeSuffix = "OutputArgs"
|
||||
}
|
||||
|
||||
argsType := title(fmt.Sprintf("%s%s", funcName, argsTypeSuffix), "nodejs")
|
||||
|
||||
docLangHelper := dctx.getLanguageDocHelper("nodejs")
|
||||
var params []formalParam
|
||||
if f.Inputs != nil {
|
||||
|
@ -132,8 +161,13 @@ func (mod *modContext) genFunctionTS(f *schema.Function, funcName string) []form
|
|||
return params
|
||||
}
|
||||
|
||||
func (mod *modContext) genFunctionGo(f *schema.Function, funcName string) []formalParam {
|
||||
argsType := funcName + "Args"
|
||||
func (mod *modContext) genFunctionGo(f *schema.Function, funcName string, outputVersion bool) []formalParam {
|
||||
argsTypeSuffix := "Args"
|
||||
if outputVersion {
|
||||
argsTypeSuffix = "OutputArgs"
|
||||
}
|
||||
|
||||
argsType := fmt.Sprintf("%s%s", funcName, argsTypeSuffix)
|
||||
|
||||
params := []formalParam{
|
||||
{
|
||||
|
@ -167,9 +201,16 @@ func (mod *modContext) genFunctionGo(f *schema.Function, funcName string) []form
|
|||
return params
|
||||
}
|
||||
|
||||
func (mod *modContext) genFunctionCS(f *schema.Function, funcName string) []formalParam {
|
||||
func (mod *modContext) genFunctionCS(f *schema.Function, funcName string, outputVersion bool) []formalParam {
|
||||
dctx := mod.docGenContext
|
||||
argsType := funcName + "Args"
|
||||
|
||||
argsTypeSuffix := "Args"
|
||||
if outputVersion {
|
||||
argsTypeSuffix = "InvokeArgs"
|
||||
|
||||
}
|
||||
|
||||
argsType := funcName + argsTypeSuffix
|
||||
docLangHelper := dctx.getLanguageDocHelper("csharp")
|
||||
var params []formalParam
|
||||
if f.Inputs != nil {
|
||||
|
@ -195,7 +236,7 @@ func (mod *modContext) genFunctionCS(f *schema.Function, funcName string) []form
|
|||
return params
|
||||
}
|
||||
|
||||
func (mod *modContext) genFunctionPython(f *schema.Function, resourceName string) []formalParam {
|
||||
func (mod *modContext) genFunctionPython(f *schema.Function, resourceName string, outputVersion bool) []formalParam {
|
||||
dctx := mod.docGenContext
|
||||
docLanguageHelper := dctx.getLanguageDocHelper("python")
|
||||
var params []formalParam
|
||||
|
@ -203,9 +244,24 @@ func (mod *modContext) genFunctionPython(f *schema.Function, resourceName string
|
|||
// Some functions don't have any inputs other than the InvokeOptions.
|
||||
// For example, the `get_billing_service_account` function.
|
||||
if f.Inputs != nil {
|
||||
params = make([]formalParam, 0, len(f.Inputs.Properties))
|
||||
for _, prop := range f.Inputs.Properties {
|
||||
typ := docLanguageHelper.GetLanguageTypeString(mod.pkg, mod.mod, codegen.PlainType(codegen.OptionalType(prop)), true /*input*/)
|
||||
|
||||
inputs := f.Inputs
|
||||
if outputVersion {
|
||||
inputs = inputs.InputShape
|
||||
}
|
||||
|
||||
params = make([]formalParam, 0, len(inputs.Properties))
|
||||
for _, prop := range inputs.Properties {
|
||||
|
||||
var schemaType schema.Type
|
||||
if outputVersion {
|
||||
schemaType = codegen.OptionalType(prop)
|
||||
} else {
|
||||
schemaType = codegen.PlainType(codegen.OptionalType(prop))
|
||||
}
|
||||
|
||||
typ := docLanguageHelper.GetLanguageTypeString(mod.pkg, mod.mod,
|
||||
schemaType, true /*input*/)
|
||||
params = append(params, formalParam{
|
||||
Name: python.PyName(prop.Name),
|
||||
DefaultValue: " = None",
|
||||
|
@ -232,7 +288,7 @@ func (mod *modContext) genFunctionPython(f *schema.Function, resourceName string
|
|||
|
||||
// genFunctionArgs generates the arguments string for a given Function that can be
|
||||
// rendered directly into a template.
|
||||
func (mod *modContext) genFunctionArgs(f *schema.Function, funcNameMap map[string]string) map[string]string {
|
||||
func (mod *modContext) genFunctionArgs(f *schema.Function, funcNameMap map[string]string, outputVersion bool) map[string]string {
|
||||
dctx := mod.docGenContext
|
||||
functionParams := make(map[string]string)
|
||||
|
||||
|
@ -248,16 +304,16 @@ func (mod *modContext) genFunctionArgs(f *schema.Function, funcNameMap map[strin
|
|||
|
||||
switch lang {
|
||||
case "nodejs":
|
||||
params = mod.genFunctionTS(f, funcNameMap["nodejs"])
|
||||
params = mod.genFunctionTS(f, funcNameMap["nodejs"], outputVersion)
|
||||
paramTemplate = "ts_formal_param"
|
||||
case "go":
|
||||
params = mod.genFunctionGo(f, funcNameMap["go"])
|
||||
params = mod.genFunctionGo(f, funcNameMap["go"], outputVersion)
|
||||
paramTemplate = "go_formal_param"
|
||||
case "csharp":
|
||||
params = mod.genFunctionCS(f, funcNameMap["csharp"])
|
||||
params = mod.genFunctionCS(f, funcNameMap["csharp"], outputVersion)
|
||||
paramTemplate = "csharp_formal_param"
|
||||
case "python":
|
||||
params = mod.genFunctionPython(f, funcNameMap["python"])
|
||||
params = mod.genFunctionPython(f, funcNameMap["python"], outputVersion)
|
||||
paramTemplate = "py_formal_param"
|
||||
paramSeparatorTemplate = "py_param_separator"
|
||||
|
||||
|
@ -309,6 +365,19 @@ func (mod *modContext) genFunctionHeader(f *schema.Function) header {
|
|||
}
|
||||
}
|
||||
|
||||
func (mod *modContext) genFunctionOutputVersionMap(f *schema.Function) map[string]bool {
|
||||
dctx := mod.docGenContext
|
||||
result := map[string]bool{}
|
||||
for _, lang := range dctx.supportedLanguages {
|
||||
hasOutputVersion := f.NeedsOutputVersion()
|
||||
if lang == "go" {
|
||||
hasOutputVersion = go_gen.NeedsGoOutputVersion(f)
|
||||
}
|
||||
result[lang] = hasOutputVersion
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
// genFunction is the main entrypoint for generating docs for a Function.
|
||||
// Returns args type that can be used to execute the `function.tmpl` doc template.
|
||||
func (mod *modContext) genFunction(f *schema.Function) functionDocArgs {
|
||||
|
@ -346,8 +415,8 @@ func (mod *modContext) genFunction(f *schema.Function) functionDocArgs {
|
|||
Tool: mod.tool,
|
||||
|
||||
FunctionName: funcNameMap,
|
||||
FunctionArgs: mod.genFunctionArgs(f, funcNameMap),
|
||||
FunctionResult: mod.getFunctionResourceInfo(f),
|
||||
FunctionArgs: mod.genFunctionArgs(f, funcNameMap, false /*outputVersion*/),
|
||||
FunctionResult: mod.getFunctionResourceInfo(f, false /*outputVersion*/),
|
||||
|
||||
Comment: docInfo.description,
|
||||
DeprecationMessage: f.DeprecationMessage,
|
||||
|
@ -361,5 +430,19 @@ func (mod *modContext) genFunction(f *schema.Function) functionDocArgs {
|
|||
PackageDetails: packageDetails,
|
||||
}
|
||||
|
||||
args.HasOutputVersion = mod.genFunctionOutputVersionMap(f)
|
||||
|
||||
for _, hasOutputVersion := range args.HasOutputVersion {
|
||||
if hasOutputVersion {
|
||||
args.AnyLanguageHasOutputVersion = true
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
if f.NeedsOutputVersion() {
|
||||
args.FunctionArgsOutputVersion = mod.genFunctionArgs(f, funcNameMap, true /*outputVersion*/)
|
||||
args.FunctionResultOutputVersion = mod.getFunctionResourceInfo(f, true /*outputVersion*/)
|
||||
}
|
||||
|
||||
return args
|
||||
}
|
||||
|
|
42
pkg/codegen/docs/templates/function.tmpl
vendored
42
pkg/codegen/docs/templates/function.tmpl
vendored
|
@ -15,30 +15,60 @@
|
|||
<!-- Input properties -->
|
||||
## Using {{ .Header.Title }} {#using}
|
||||
|
||||
{{- if .AnyLanguageHasOutputVersion }}
|
||||
|
||||
Two invocation forms are available. The direct form accepts plain
|
||||
arguments and either blocks until the result value is available, or
|
||||
returns a Promise-wrapped result. The output form accepts
|
||||
Input-wrapped arguments and returns an Output-wrapped result.
|
||||
|
||||
{{- end }}
|
||||
|
||||
{{ htmlSafe "{{< chooser language \"typescript,python,go,csharp\" / >}}" }}
|
||||
|
||||
<!-- TS/JS -->
|
||||
{{ print "{{% choosable language nodejs %}}" }}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>{{ .FunctionName.nodejs }}<span class="p">(</span>{{ htmlSafe .FunctionArgs.nodejs }}<span class="p">): Promise<{{ template "linkify_param" .FunctionResult.nodejs }}></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>{{ .FunctionName.nodejs }}<span class="p">(</span>{{ htmlSafe .FunctionArgs.nodejs }}<span class="p">): Promise<{{ template "linkify_param" .FunctionResult.nodejs }}></span
|
||||
{{- if .HasOutputVersion.nodejs }}
|
||||
><span class="k">
|
||||
function </span>{{ .FunctionName.nodejs }}Output<span class="p">(</span>{{ htmlSafe .FunctionArgsOutputVersion.nodejs }}<span class="p">): Output<{{ template "linkify_param" .FunctionResult.nodejs }}></span
|
||||
{{- end }}
|
||||
></code></pre></div>
|
||||
{{ print "{{% /choosable %}}" }}
|
||||
|
||||
<!-- Python -->
|
||||
{{ print "{{% choosable language python %}}" }}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>{{ .FunctionName.python }}(</span>{{ htmlSafe .FunctionArgs.python }}<span class="p">) -></span> {{ .FunctionResult.python.Name }}</code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>{{ .FunctionName.python }}<span class="p">(</span>{{ htmlSafe .FunctionArgs.python }}<span class="p">) -></span> <span>{{ .FunctionResult.python.Name }}</span
|
||||
{{- if .HasOutputVersion.python }}
|
||||
><span class="k">
|
||||
def </span>{{ .FunctionName.python }}_output<span class="p">(</span>{{ htmlSafe .FunctionArgsOutputVersion.python }}<span class="p">) -></span> <span>Output[{{ .FunctionResult.python.Name }}]</span
|
||||
{{- end }}
|
||||
></code></pre></div>
|
||||
{{ print "{{% /choosable %}}" }}
|
||||
|
||||
<!-- Go -->
|
||||
{{ print "{{% choosable language go %}}" }}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>{{ .FunctionName.go }}<span class="p">(</span>{{ htmlSafe .FunctionArgs.go }}<span class="p">) (*{{ template "linkify_param" .FunctionResult.go }}, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>{{ .FunctionName.go }}<span class="p">(</span>{{ htmlSafe .FunctionArgs.go }}<span class="p">) (*{{ template "linkify_param" .FunctionResult.go }}, error)</span
|
||||
{{- if .HasOutputVersion.go }}
|
||||
><span class="k">
|
||||
func </span>{{ .FunctionName.go }}Output<span class="p">(</span>{{ htmlSafe .FunctionArgsOutputVersion.go }}<span class="p">) {{ .FunctionResultOutputVersion.go.Name }}</span
|
||||
{{- end }}
|
||||
></code></pre></div>
|
||||
{{ if ne .FunctionName.go .Header.Title }}
|
||||
> Note: This function is named `{{ .FunctionName.go }}` in the Go SDK.
|
||||
> Note: This function is named `{{ .FunctionName.go }}` in the Go SDK.
|
||||
{{ end }}
|
||||
{{ print "{{% /choosable %}}" }}
|
||||
|
||||
<!-- C# -->
|
||||
{{ print "{{% choosable language csharp %}}" }}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">{{ .FunctionName.csharp }} </span><span class="p">{</span><span class="k">
|
||||
public static </span>Task<{{ template "linkify_param" .FunctionResult.csharp }}> <span class="p">InvokeAsync(</span>{{ htmlSafe .FunctionArgs.csharp }}<span class="p">)</span><span class="p">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">{{ .FunctionName.csharp }} </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<{{ template "linkify_param" .FunctionResult.csharp }}> <span class="p">InvokeAsync(</span>{{ htmlSafe .FunctionArgs.csharp }}<span class="p">)</span>{{- if .HasOutputVersion.csharp }}<span class="k">
|
||||
public static </span>Output<{{ template "linkify_param" .FunctionResult.csharp }}> <span class="p">Invoke(</span>{{ htmlSafe .FunctionArgsOutputVersion.csharp }}<span class="p">)</span>{{- end }}<span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{ print "{{% /choosable %}}" }}
|
||||
|
||||
|
|
|
@ -1749,7 +1749,7 @@ func (pkg *pkgContext) genResource(w io.Writer, r *schema.Resource, generateReso
|
|||
return nil
|
||||
}
|
||||
|
||||
func (pkg *pkgContext) needsGoOutputVersion(f *schema.Function) bool {
|
||||
func NeedsGoOutputVersion(f *schema.Function) bool {
|
||||
fPkg := f.Package
|
||||
|
||||
var goInfo GoPackageInfo
|
||||
|
@ -1772,7 +1772,7 @@ func (pkg *pkgContext) genFunctionCodeFile(f *schema.Function) string {
|
|||
buffer := &bytes.Buffer{}
|
||||
|
||||
var imports []string
|
||||
if pkg.needsGoOutputVersion(f) {
|
||||
if NeedsGoOutputVersion(f) {
|
||||
imports = []string{"context", "reflect"}
|
||||
}
|
||||
|
||||
|
@ -1863,7 +1863,7 @@ func (pkg *pkgContext) functionResultTypeName(f *schema.Function) string {
|
|||
}
|
||||
|
||||
func (pkg *pkgContext) genFunctionOutputVersion(w io.Writer, f *schema.Function) {
|
||||
if !pkg.needsGoOutputVersion(f) {
|
||||
if !NeedsGoOutputVersion(f) {
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -17,31 +17,52 @@ no_edit_this_page: true
|
|||
|
||||
## Using argFunction {#using}
|
||||
|
||||
Two invocation forms are available. The direct form accepts plain
|
||||
arguments and either blocks until the result value is available, or
|
||||
returns a Promise-wrapped result. The output form accepts
|
||||
Input-wrapped arguments and returns an Output-wrapped result.
|
||||
|
||||
{{< chooser language "typescript,python,go,csharp" / >}}
|
||||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>argFunction<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ArgFunctionArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">ArgFunctionResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>argFunction<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ArgFunctionArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">ArgFunctionResult</a></span>></span
|
||||
><span class="k">
|
||||
function </span>argFunctionOutput<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ArgFunctionOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Output<<span class="nx"><a href="#result">ArgFunctionResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>arg_function(</span><span class="nx">name</span><span class="p">:</span> <span class="nx">Optional[pulumi_random.RandomPet]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> ArgFunctionResult</code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>arg_function<span class="p">(</span><span class="nx">name</span><span class="p">:</span> <span class="nx">Optional[pulumi_random.RandomPet]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>ArgFunctionResult</span
|
||||
><span class="k">
|
||||
def </span>arg_function_output<span class="p">(</span><span class="nx">name</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[pulumi_random.RandomPet]]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>Output[ArgFunctionResult]</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>ArgFunction<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ArgFunctionArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">ArgFunctionResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>ArgFunction<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ArgFunctionArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">ArgFunctionResult</a></span>, error)</span
|
||||
><span class="k">
|
||||
func </span>ArgFunctionOutput<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ArgFunctionOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) ArgFunctionResultOutput</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `ArgFunction` in the Go SDK.
|
||||
> Note: This function is named `ArgFunction` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">ArgFunction </span><span class="p">{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">ArgFunctionResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">ArgFunctionArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">ArgFunction </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">ArgFunctionResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">ArgFunctionArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="k">
|
||||
public static </span>Output<<span class="nx"><a href="#result">ArgFunctionResult</a></span>> <span class="p">Invoke(</span><span class="nx">ArgFunctionInvokeArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
|
|
@ -20,33 +20,56 @@ API Version: 2020-12-01-preview.
|
|||
|
||||
## Using listConfigurations {#using}
|
||||
|
||||
Two invocation forms are available. The direct form accepts plain
|
||||
arguments and either blocks until the result value is available, or
|
||||
returns a Promise-wrapped result. The output form accepts
|
||||
Input-wrapped arguments and returns an Output-wrapped result.
|
||||
|
||||
{{< chooser language "typescript,python,go,csharp" / >}}
|
||||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>listConfigurations<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ListConfigurationsArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">ListConfigurationsResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>listConfigurations<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ListConfigurationsArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">ListConfigurationsResult</a></span>></span
|
||||
><span class="k">
|
||||
function </span>listConfigurationsOutput<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ListConfigurationsOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Output<<span class="nx"><a href="#result">ListConfigurationsResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>list_configurations(</span><span class="nx">configuration_filters</span><span class="p">:</span> <span class="nx">Optional[Sequence[ConfigurationFilters]]</span> = None<span class="p">,</span>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>list_configurations<span class="p">(</span><span class="nx">configuration_filters</span><span class="p">:</span> <span class="nx">Optional[Sequence[ConfigurationFilters]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">customer_subscription_details</span><span class="p">:</span> <span class="nx">Optional[CustomerSubscriptionDetails]</span> = None<span class="p">,</span>
|
||||
<span class="nx">skip_token</span><span class="p">:</span> <span class="nx">Optional[str]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> ListConfigurationsResult</code></pre></div>
|
||||
<span class="nx">opts</span><span class="p">:</span> <span class="nx"><a href="/docs/reference/pkg/python/pulumi/#pulumi.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>ListConfigurationsResult</span
|
||||
><span class="k">
|
||||
def </span>list_configurations_output<span class="p">(</span><span class="nx">configuration_filters</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[Sequence[pulumi.Input[ConfigurationFiltersArgs]]]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">customer_subscription_details</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[CustomerSubscriptionDetailsArgs]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">skip_token</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>Output[ListConfigurationsResult]</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>ListConfigurations<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ListConfigurationsArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">ListConfigurationsResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>ListConfigurations<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ListConfigurationsArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">ListConfigurationsResult</a></span>, error)</span
|
||||
><span class="k">
|
||||
func </span>ListConfigurationsOutput<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ListConfigurationsOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) ListConfigurationsResultOutput</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `ListConfigurations` in the Go SDK.
|
||||
> Note: This function is named `ListConfigurations` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">ListConfigurations </span><span class="p">{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">ListConfigurationsResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">ListConfigurationsArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">ListConfigurations </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">ListConfigurationsResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">ListConfigurationsArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="k">
|
||||
public static </span>Output<<span class="nx"><a href="#result">ListConfigurationsResult</a></span>> <span class="p">Invoke(</span><span class="nx">ListConfigurationsInvokeArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
|
|
@ -20,34 +20,58 @@ API Version: 2020-12-01-preview.
|
|||
|
||||
## Using listProductFamilies {#using}
|
||||
|
||||
Two invocation forms are available. The direct form accepts plain
|
||||
arguments and either blocks until the result value is available, or
|
||||
returns a Promise-wrapped result. The output form accepts
|
||||
Input-wrapped arguments and returns an Output-wrapped result.
|
||||
|
||||
{{< chooser language "typescript,python,go,csharp" / >}}
|
||||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>listProductFamilies<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ListProductFamiliesArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">ListProductFamiliesResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>listProductFamilies<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ListProductFamiliesArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">ListProductFamiliesResult</a></span>></span
|
||||
><span class="k">
|
||||
function </span>listProductFamiliesOutput<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ListProductFamiliesOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Output<<span class="nx"><a href="#result">ListProductFamiliesResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>list_product_families(</span><span class="nx">customer_subscription_details</span><span class="p">:</span> <span class="nx">Optional[CustomerSubscriptionDetails]</span> = None<span class="p">,</span>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>list_product_families<span class="p">(</span><span class="nx">customer_subscription_details</span><span class="p">:</span> <span class="nx">Optional[CustomerSubscriptionDetails]</span> = None<span class="p">,</span>
|
||||
<span class="nx">expand</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<span class="nx">filterable_properties</span><span class="p">:</span> <span class="nx">Optional[Mapping[str, Sequence[FilterableProperty]]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">skip_token</span><span class="p">:</span> <span class="nx">Optional[str]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> ListProductFamiliesResult</code></pre></div>
|
||||
<span class="nx">opts</span><span class="p">:</span> <span class="nx"><a href="/docs/reference/pkg/python/pulumi/#pulumi.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>ListProductFamiliesResult</span
|
||||
><span class="k">
|
||||
def </span>list_product_families_output<span class="p">(</span><span class="nx">customer_subscription_details</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[CustomerSubscriptionDetailsArgs]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">expand</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">filterable_properties</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[Mapping[str, pulumi.Input[Sequence[pulumi.Input[FilterablePropertyArgs]]]]]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">skip_token</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>Output[ListProductFamiliesResult]</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>ListProductFamilies<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ListProductFamiliesArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">ListProductFamiliesResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>ListProductFamilies<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ListProductFamiliesArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">ListProductFamiliesResult</a></span>, error)</span
|
||||
><span class="k">
|
||||
func </span>ListProductFamiliesOutput<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ListProductFamiliesOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) ListProductFamiliesResultOutput</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `ListProductFamilies` in the Go SDK.
|
||||
> Note: This function is named `ListProductFamilies` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">ListProductFamilies </span><span class="p">{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">ListProductFamiliesResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">ListProductFamiliesArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">ListProductFamilies </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">ListProductFamiliesResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">ListProductFamiliesArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="k">
|
||||
public static </span>Output<<span class="nx"><a href="#result">ListProductFamiliesResult</a></span>> <span class="p">Invoke(</span><span class="nx">ListProductFamiliesInvokeArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
|
|
@ -20,35 +20,60 @@ Taken from pulumi-AWS to regress an issue
|
|||
|
||||
## Using getAmiIds {#using}
|
||||
|
||||
Two invocation forms are available. The direct form accepts plain
|
||||
arguments and either blocks until the result value is available, or
|
||||
returns a Promise-wrapped result. The output form accepts
|
||||
Input-wrapped arguments and returns an Output-wrapped result.
|
||||
|
||||
{{< chooser language "typescript,python,go,csharp" / >}}
|
||||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>getAmiIds<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">GetAmiIdsArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">GetAmiIdsResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>getAmiIds<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">GetAmiIdsArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">GetAmiIdsResult</a></span>></span
|
||||
><span class="k">
|
||||
function </span>getAmiIdsOutput<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">GetAmiIdsOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Output<<span class="nx"><a href="#result">GetAmiIdsResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>get_ami_ids(</span><span class="nx">executable_users</span><span class="p">:</span> <span class="nx">Optional[Sequence[str]]</span> = None<span class="p">,</span>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>get_ami_ids<span class="p">(</span><span class="nx">executable_users</span><span class="p">:</span> <span class="nx">Optional[Sequence[str]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">filters</span><span class="p">:</span> <span class="nx">Optional[Sequence[GetAmiIdsFilter]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">name_regex</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<span class="nx">owners</span><span class="p">:</span> <span class="nx">Optional[Sequence[str]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">sort_ascending</span><span class="p">:</span> <span class="nx">Optional[bool]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> GetAmiIdsResult</code></pre></div>
|
||||
<span class="nx">opts</span><span class="p">:</span> <span class="nx"><a href="/docs/reference/pkg/python/pulumi/#pulumi.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>GetAmiIdsResult</span
|
||||
><span class="k">
|
||||
def </span>get_ami_ids_output<span class="p">(</span><span class="nx">executable_users</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">filters</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[Sequence[pulumi.Input[GetAmiIdsFilterArgs]]]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">name_regex</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">owners</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">sort_ascending</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[bool]]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>Output[GetAmiIdsResult]</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>GetAmiIds<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">GetAmiIdsArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">GetAmiIdsResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>GetAmiIds<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">GetAmiIdsArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">GetAmiIdsResult</a></span>, error)</span
|
||||
><span class="k">
|
||||
func </span>GetAmiIdsOutput<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">GetAmiIdsOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) GetAmiIdsResultOutput</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `GetAmiIds` in the Go SDK.
|
||||
> Note: This function is named `GetAmiIds` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">GetAmiIds </span><span class="p">{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">GetAmiIdsResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">GetAmiIdsArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">GetAmiIds </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">GetAmiIdsResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">GetAmiIdsArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="k">
|
||||
public static </span>Output<<span class="nx"><a href="#result">GetAmiIdsResult</a></span>> <span class="p">Invoke(</span><span class="nx">GetAmiIdsInvokeArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
|
|
@ -20,33 +20,56 @@ API Version: 2021-02-01.
|
|||
|
||||
## Using listStorageAccountKeys {#using}
|
||||
|
||||
Two invocation forms are available. The direct form accepts plain
|
||||
arguments and either blocks until the result value is available, or
|
||||
returns a Promise-wrapped result. The output form accepts
|
||||
Input-wrapped arguments and returns an Output-wrapped result.
|
||||
|
||||
{{< chooser language "typescript,python,go,csharp" / >}}
|
||||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>listStorageAccountKeys<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ListStorageAccountKeysArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">ListStorageAccountKeysResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>listStorageAccountKeys<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ListStorageAccountKeysArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">ListStorageAccountKeysResult</a></span>></span
|
||||
><span class="k">
|
||||
function </span>listStorageAccountKeysOutput<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ListStorageAccountKeysOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Output<<span class="nx"><a href="#result">ListStorageAccountKeysResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>list_storage_account_keys(</span><span class="nx">account_name</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>list_storage_account_keys<span class="p">(</span><span class="nx">account_name</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<span class="nx">expand</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<span class="nx">resource_group_name</span><span class="p">:</span> <span class="nx">Optional[str]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> ListStorageAccountKeysResult</code></pre></div>
|
||||
<span class="nx">opts</span><span class="p">:</span> <span class="nx"><a href="/docs/reference/pkg/python/pulumi/#pulumi.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>ListStorageAccountKeysResult</span
|
||||
><span class="k">
|
||||
def </span>list_storage_account_keys_output<span class="p">(</span><span class="nx">account_name</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">expand</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">resource_group_name</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>Output[ListStorageAccountKeysResult]</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>ListStorageAccountKeys<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ListStorageAccountKeysArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">ListStorageAccountKeysResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>ListStorageAccountKeys<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ListStorageAccountKeysArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">ListStorageAccountKeysResult</a></span>, error)</span
|
||||
><span class="k">
|
||||
func </span>ListStorageAccountKeysOutput<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ListStorageAccountKeysOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) ListStorageAccountKeysResultOutput</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `ListStorageAccountKeys` in the Go SDK.
|
||||
> Note: This function is named `ListStorageAccountKeys` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">ListStorageAccountKeys </span><span class="p">{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">ListStorageAccountKeysResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">ListStorageAccountKeysArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">ListStorageAccountKeys </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">ListStorageAccountKeysResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">ListStorageAccountKeysArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="k">
|
||||
public static </span>Output<<span class="nx"><a href="#result">ListStorageAccountKeysResult</a></span>> <span class="p">Invoke(</span><span class="nx">ListStorageAccountKeysInvokeArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
|
|
@ -19,32 +19,54 @@ Check codegen of functions with all optional inputs.
|
|||
|
||||
## Using funcWithAllOptionalInputs {#using}
|
||||
|
||||
Two invocation forms are available. The direct form accepts plain
|
||||
arguments and either blocks until the result value is available, or
|
||||
returns a Promise-wrapped result. The output form accepts
|
||||
Input-wrapped arguments and returns an Output-wrapped result.
|
||||
|
||||
{{< chooser language "typescript,python,go,csharp" / >}}
|
||||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>funcWithAllOptionalInputs<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">FuncWithAllOptionalInputsArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">FuncWithAllOptionalInputsResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>funcWithAllOptionalInputs<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">FuncWithAllOptionalInputsArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">FuncWithAllOptionalInputsResult</a></span>></span
|
||||
><span class="k">
|
||||
function </span>funcWithAllOptionalInputsOutput<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">FuncWithAllOptionalInputsOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Output<<span class="nx"><a href="#result">FuncWithAllOptionalInputsResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>func_with_all_optional_inputs(</span><span class="nx">a</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>func_with_all_optional_inputs<span class="p">(</span><span class="nx">a</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<span class="nx">b</span><span class="p">:</span> <span class="nx">Optional[str]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> FuncWithAllOptionalInputsResult</code></pre></div>
|
||||
<span class="nx">opts</span><span class="p">:</span> <span class="nx"><a href="/docs/reference/pkg/python/pulumi/#pulumi.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>FuncWithAllOptionalInputsResult</span
|
||||
><span class="k">
|
||||
def </span>func_with_all_optional_inputs_output<span class="p">(</span><span class="nx">a</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">b</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>Output[FuncWithAllOptionalInputsResult]</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>FuncWithAllOptionalInputs<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">FuncWithAllOptionalInputsArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">FuncWithAllOptionalInputsResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>FuncWithAllOptionalInputs<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">FuncWithAllOptionalInputsArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">FuncWithAllOptionalInputsResult</a></span>, error)</span
|
||||
><span class="k">
|
||||
func </span>FuncWithAllOptionalInputsOutput<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">FuncWithAllOptionalInputsOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) FuncWithAllOptionalInputsResultOutput</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `FuncWithAllOptionalInputs` in the Go SDK.
|
||||
> Note: This function is named `FuncWithAllOptionalInputs` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">FuncWithAllOptionalInputs </span><span class="p">{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">FuncWithAllOptionalInputsResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">FuncWithAllOptionalInputsArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">FuncWithAllOptionalInputs </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">FuncWithAllOptionalInputsResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">FuncWithAllOptionalInputsArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="k">
|
||||
public static </span>Output<<span class="nx"><a href="#result">FuncWithAllOptionalInputsResult</a></span>> <span class="p">Invoke(</span><span class="nx">FuncWithAllOptionalInputsInvokeArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
|
|
@ -23,26 +23,34 @@ Codegen demo with const inputs
|
|||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>funcWithConstInput<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">FuncWithConstInputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">FuncWithConstInputResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>funcWithConstInput<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">FuncWithConstInputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">FuncWithConstInputResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>func_with_const_input(</span><span class="nx">plain_input</span><span class="p">:</span> <span class="nx">Optional[str]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> FuncWithConstInputResult</code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>func_with_const_input<span class="p">(</span><span class="nx">plain_input</span><span class="p">:</span> <span class="nx">Optional[str]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>FuncWithConstInputResult</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>FuncWithConstInput<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">FuncWithConstInputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">FuncWithConstInputResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>FuncWithConstInput<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">FuncWithConstInputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">FuncWithConstInputResult</a></span>, error)</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `FuncWithConstInput` in the Go SDK.
|
||||
> Note: This function is named `FuncWithConstInput` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">FuncWithConstInput </span><span class="p">{</span><span class="k">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">FuncWithConstInput </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">FuncWithConstInputResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">FuncWithConstInputArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
|
|
@ -19,32 +19,54 @@ Check codegen of functions with default values.
|
|||
|
||||
## Using funcWithDefaultValue {#using}
|
||||
|
||||
Two invocation forms are available. The direct form accepts plain
|
||||
arguments and either blocks until the result value is available, or
|
||||
returns a Promise-wrapped result. The output form accepts
|
||||
Input-wrapped arguments and returns an Output-wrapped result.
|
||||
|
||||
{{< chooser language "typescript,python,go,csharp" / >}}
|
||||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>funcWithDefaultValue<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">FuncWithDefaultValueArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">FuncWithDefaultValueResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>funcWithDefaultValue<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">FuncWithDefaultValueArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">FuncWithDefaultValueResult</a></span>></span
|
||||
><span class="k">
|
||||
function </span>funcWithDefaultValueOutput<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">FuncWithDefaultValueOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Output<<span class="nx"><a href="#result">FuncWithDefaultValueResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>func_with_default_value(</span><span class="nx">a</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>func_with_default_value<span class="p">(</span><span class="nx">a</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<span class="nx">b</span><span class="p">:</span> <span class="nx">Optional[str]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> FuncWithDefaultValueResult</code></pre></div>
|
||||
<span class="nx">opts</span><span class="p">:</span> <span class="nx"><a href="/docs/reference/pkg/python/pulumi/#pulumi.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>FuncWithDefaultValueResult</span
|
||||
><span class="k">
|
||||
def </span>func_with_default_value_output<span class="p">(</span><span class="nx">a</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">b</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>Output[FuncWithDefaultValueResult]</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>FuncWithDefaultValue<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">FuncWithDefaultValueArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">FuncWithDefaultValueResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>FuncWithDefaultValue<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">FuncWithDefaultValueArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">FuncWithDefaultValueResult</a></span>, error)</span
|
||||
><span class="k">
|
||||
func </span>FuncWithDefaultValueOutput<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">FuncWithDefaultValueOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) FuncWithDefaultValueResultOutput</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `FuncWithDefaultValue` in the Go SDK.
|
||||
> Note: This function is named `FuncWithDefaultValue` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">FuncWithDefaultValue </span><span class="p">{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">FuncWithDefaultValueResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">FuncWithDefaultValueArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">FuncWithDefaultValue </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">FuncWithDefaultValueResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">FuncWithDefaultValueArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="k">
|
||||
public static </span>Output<<span class="nx"><a href="#result">FuncWithDefaultValueResult</a></span>> <span class="p">Invoke(</span><span class="nx">FuncWithDefaultValueInvokeArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
|
|
@ -19,32 +19,54 @@ Check codegen of functions with a Dict<str,str> parameter.
|
|||
|
||||
## Using funcWithDictParam {#using}
|
||||
|
||||
Two invocation forms are available. The direct form accepts plain
|
||||
arguments and either blocks until the result value is available, or
|
||||
returns a Promise-wrapped result. The output form accepts
|
||||
Input-wrapped arguments and returns an Output-wrapped result.
|
||||
|
||||
{{< chooser language "typescript,python,go,csharp" / >}}
|
||||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>funcWithDictParam<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">FuncWithDictParamArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">FuncWithDictParamResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>funcWithDictParam<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">FuncWithDictParamArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">FuncWithDictParamResult</a></span>></span
|
||||
><span class="k">
|
||||
function </span>funcWithDictParamOutput<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">FuncWithDictParamOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Output<<span class="nx"><a href="#result">FuncWithDictParamResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>func_with_dict_param(</span><span class="nx">a</span><span class="p">:</span> <span class="nx">Optional[Mapping[str, str]]</span> = None<span class="p">,</span>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>func_with_dict_param<span class="p">(</span><span class="nx">a</span><span class="p">:</span> <span class="nx">Optional[Mapping[str, str]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">b</span><span class="p">:</span> <span class="nx">Optional[str]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> FuncWithDictParamResult</code></pre></div>
|
||||
<span class="nx">opts</span><span class="p">:</span> <span class="nx"><a href="/docs/reference/pkg/python/pulumi/#pulumi.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>FuncWithDictParamResult</span
|
||||
><span class="k">
|
||||
def </span>func_with_dict_param_output<span class="p">(</span><span class="nx">a</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">b</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>Output[FuncWithDictParamResult]</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>FuncWithDictParam<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">FuncWithDictParamArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">FuncWithDictParamResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>FuncWithDictParam<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">FuncWithDictParamArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">FuncWithDictParamResult</a></span>, error)</span
|
||||
><span class="k">
|
||||
func </span>FuncWithDictParamOutput<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">FuncWithDictParamOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) FuncWithDictParamResultOutput</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `FuncWithDictParam` in the Go SDK.
|
||||
> Note: This function is named `FuncWithDictParam` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">FuncWithDictParam </span><span class="p">{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">FuncWithDictParamResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">FuncWithDictParamArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">FuncWithDictParam </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">FuncWithDictParamResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">FuncWithDictParamArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="k">
|
||||
public static </span>Output<<span class="nx"><a href="#result">FuncWithDictParamResult</a></span>> <span class="p">Invoke(</span><span class="nx">FuncWithDictParamInvokeArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
|
|
@ -19,32 +19,54 @@ Check codegen of functions with a List parameter.
|
|||
|
||||
## Using funcWithListParam {#using}
|
||||
|
||||
Two invocation forms are available. The direct form accepts plain
|
||||
arguments and either blocks until the result value is available, or
|
||||
returns a Promise-wrapped result. The output form accepts
|
||||
Input-wrapped arguments and returns an Output-wrapped result.
|
||||
|
||||
{{< chooser language "typescript,python,go,csharp" / >}}
|
||||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>funcWithListParam<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">FuncWithListParamArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">FuncWithListParamResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>funcWithListParam<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">FuncWithListParamArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">FuncWithListParamResult</a></span>></span
|
||||
><span class="k">
|
||||
function </span>funcWithListParamOutput<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">FuncWithListParamOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Output<<span class="nx"><a href="#result">FuncWithListParamResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>func_with_list_param(</span><span class="nx">a</span><span class="p">:</span> <span class="nx">Optional[Sequence[str]]</span> = None<span class="p">,</span>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>func_with_list_param<span class="p">(</span><span class="nx">a</span><span class="p">:</span> <span class="nx">Optional[Sequence[str]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">b</span><span class="p">:</span> <span class="nx">Optional[str]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> FuncWithListParamResult</code></pre></div>
|
||||
<span class="nx">opts</span><span class="p">:</span> <span class="nx"><a href="/docs/reference/pkg/python/pulumi/#pulumi.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>FuncWithListParamResult</span
|
||||
><span class="k">
|
||||
def </span>func_with_list_param_output<span class="p">(</span><span class="nx">a</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">b</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>Output[FuncWithListParamResult]</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>FuncWithListParam<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">FuncWithListParamArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">FuncWithListParamResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>FuncWithListParam<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">FuncWithListParamArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">FuncWithListParamResult</a></span>, error)</span
|
||||
><span class="k">
|
||||
func </span>FuncWithListParamOutput<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">FuncWithListParamOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) FuncWithListParamResultOutput</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `FuncWithListParam` in the Go SDK.
|
||||
> Note: This function is named `FuncWithListParam` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">FuncWithListParam </span><span class="p">{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">FuncWithListParamResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">FuncWithListParamArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">FuncWithListParam </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">FuncWithListParamResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">FuncWithListParamArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="k">
|
||||
public static </span>Output<<span class="nx"><a href="#result">FuncWithListParamResult</a></span>> <span class="p">Invoke(</span><span class="nx">FuncWithListParamInvokeArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
|
|
@ -20,33 +20,56 @@ API Version: 2020-11-01.
|
|||
|
||||
## Using getBastionShareableLink {#using}
|
||||
|
||||
Two invocation forms are available. The direct form accepts plain
|
||||
arguments and either blocks until the result value is available, or
|
||||
returns a Promise-wrapped result. The output form accepts
|
||||
Input-wrapped arguments and returns an Output-wrapped result.
|
||||
|
||||
{{< chooser language "typescript,python,go,csharp" / >}}
|
||||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>getBastionShareableLink<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">GetBastionShareableLinkArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">GetBastionShareableLinkResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>getBastionShareableLink<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">GetBastionShareableLinkArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">GetBastionShareableLinkResult</a></span>></span
|
||||
><span class="k">
|
||||
function </span>getBastionShareableLinkOutput<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">GetBastionShareableLinkOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Output<<span class="nx"><a href="#result">GetBastionShareableLinkResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>get_bastion_shareable_link(</span><span class="nx">bastion_host_name</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>get_bastion_shareable_link<span class="p">(</span><span class="nx">bastion_host_name</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<span class="nx">resource_group_name</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<span class="nx">vms</span><span class="p">:</span> <span class="nx">Optional[Sequence[BastionShareableLink]]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> GetBastionShareableLinkResult</code></pre></div>
|
||||
<span class="nx">opts</span><span class="p">:</span> <span class="nx"><a href="/docs/reference/pkg/python/pulumi/#pulumi.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>GetBastionShareableLinkResult</span
|
||||
><span class="k">
|
||||
def </span>get_bastion_shareable_link_output<span class="p">(</span><span class="nx">bastion_host_name</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">resource_group_name</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">vms</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[Sequence[pulumi.Input[BastionShareableLinkArgs]]]]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>Output[GetBastionShareableLinkResult]</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>GetBastionShareableLink<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">GetBastionShareableLinkArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">GetBastionShareableLinkResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>GetBastionShareableLink<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">GetBastionShareableLinkArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">GetBastionShareableLinkResult</a></span>, error)</span
|
||||
><span class="k">
|
||||
func </span>GetBastionShareableLinkOutput<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">GetBastionShareableLinkOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) GetBastionShareableLinkResultOutput</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `GetBastionShareableLink` in the Go SDK.
|
||||
> Note: This function is named `GetBastionShareableLink` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">GetBastionShareableLink </span><span class="p">{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">GetBastionShareableLinkResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">GetBastionShareableLinkArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">GetBastionShareableLink </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">GetBastionShareableLinkResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">GetBastionShareableLinkArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="k">
|
||||
public static </span>Output<<span class="nx"><a href="#result">GetBastionShareableLinkResult</a></span>> <span class="p">Invoke(</span><span class="nx">GetBastionShareableLinkInvokeArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
|
|
@ -23,25 +23,33 @@ Failing example taken from azure-native. Original doc: Use this function to acce
|
|||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>getClientConfig<span class="p">(</span><span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">GetClientConfigResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>getClientConfig<span class="p">(</span><span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">GetClientConfigResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>get_client_config(</span><span class="nx">opts</span><span class="p">:</span> <span class="nx"><a href="/docs/reference/pkg/python/pulumi/#pulumi.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> GetClientConfigResult</code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>get_client_config<span class="p">(</span><span class="nx">opts</span><span class="p">:</span> <span class="nx"><a href="/docs/reference/pkg/python/pulumi/#pulumi.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>GetClientConfigResult</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>GetClientConfig<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">GetClientConfigResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>GetClientConfig<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">GetClientConfigResult</a></span>, error)</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `GetClientConfig` in the Go SDK.
|
||||
> Note: This function is named `GetClientConfig` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">GetClientConfig </span><span class="p">{</span><span class="k">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">GetClientConfig </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">GetClientConfigResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
|
|
@ -20,34 +20,58 @@ API Version: 2018-06-01.
|
|||
|
||||
## Using getIntegrationRuntimeObjectMetadatum {#using}
|
||||
|
||||
Two invocation forms are available. The direct form accepts plain
|
||||
arguments and either blocks until the result value is available, or
|
||||
returns a Promise-wrapped result. The output form accepts
|
||||
Input-wrapped arguments and returns an Output-wrapped result.
|
||||
|
||||
{{< chooser language "typescript,python,go,csharp" / >}}
|
||||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>getIntegrationRuntimeObjectMetadatum<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">GetIntegrationRuntimeObjectMetadatumArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">GetIntegrationRuntimeObjectMetadatumResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>getIntegrationRuntimeObjectMetadatum<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">GetIntegrationRuntimeObjectMetadatumArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">GetIntegrationRuntimeObjectMetadatumResult</a></span>></span
|
||||
><span class="k">
|
||||
function </span>getIntegrationRuntimeObjectMetadatumOutput<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">GetIntegrationRuntimeObjectMetadatumOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Output<<span class="nx"><a href="#result">GetIntegrationRuntimeObjectMetadatumResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>get_integration_runtime_object_metadatum(</span><span class="nx">factory_name</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>get_integration_runtime_object_metadatum<span class="p">(</span><span class="nx">factory_name</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<span class="nx">integration_runtime_name</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<span class="nx">metadata_path</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<span class="nx">resource_group_name</span><span class="p">:</span> <span class="nx">Optional[str]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> GetIntegrationRuntimeObjectMetadatumResult</code></pre></div>
|
||||
<span class="nx">opts</span><span class="p">:</span> <span class="nx"><a href="/docs/reference/pkg/python/pulumi/#pulumi.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>GetIntegrationRuntimeObjectMetadatumResult</span
|
||||
><span class="k">
|
||||
def </span>get_integration_runtime_object_metadatum_output<span class="p">(</span><span class="nx">factory_name</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">integration_runtime_name</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">metadata_path</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">resource_group_name</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>Output[GetIntegrationRuntimeObjectMetadatumResult]</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>GetIntegrationRuntimeObjectMetadatum<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">GetIntegrationRuntimeObjectMetadatumArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">GetIntegrationRuntimeObjectMetadatumResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>GetIntegrationRuntimeObjectMetadatum<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">GetIntegrationRuntimeObjectMetadatumArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">GetIntegrationRuntimeObjectMetadatumResult</a></span>, error)</span
|
||||
><span class="k">
|
||||
func </span>GetIntegrationRuntimeObjectMetadatumOutput<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">GetIntegrationRuntimeObjectMetadatumOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) GetIntegrationRuntimeObjectMetadatumResultOutput</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `GetIntegrationRuntimeObjectMetadatum` in the Go SDK.
|
||||
> Note: This function is named `GetIntegrationRuntimeObjectMetadatum` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">GetIntegrationRuntimeObjectMetadatum </span><span class="p">{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">GetIntegrationRuntimeObjectMetadatumResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">GetIntegrationRuntimeObjectMetadatumArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">GetIntegrationRuntimeObjectMetadatum </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">GetIntegrationRuntimeObjectMetadatumResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">GetIntegrationRuntimeObjectMetadatumArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="k">
|
||||
public static </span>Output<<span class="nx"><a href="#result">GetIntegrationRuntimeObjectMetadatumResult</a></span>> <span class="p">Invoke(</span><span class="nx">GetIntegrationRuntimeObjectMetadatumInvokeArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
|
|
@ -20,33 +20,56 @@ API Version: 2021-02-01.
|
|||
|
||||
## Using listStorageAccountKeys {#using}
|
||||
|
||||
Two invocation forms are available. The direct form accepts plain
|
||||
arguments and either blocks until the result value is available, or
|
||||
returns a Promise-wrapped result. The output form accepts
|
||||
Input-wrapped arguments and returns an Output-wrapped result.
|
||||
|
||||
{{< chooser language "typescript,python,go,csharp" / >}}
|
||||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>listStorageAccountKeys<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ListStorageAccountKeysArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">ListStorageAccountKeysResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>listStorageAccountKeys<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ListStorageAccountKeysArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">ListStorageAccountKeysResult</a></span>></span
|
||||
><span class="k">
|
||||
function </span>listStorageAccountKeysOutput<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ListStorageAccountKeysOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Output<<span class="nx"><a href="#result">ListStorageAccountKeysResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>list_storage_account_keys(</span><span class="nx">account_name</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>list_storage_account_keys<span class="p">(</span><span class="nx">account_name</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<span class="nx">expand</span><span class="p">:</span> <span class="nx">Optional[str]</span> = None<span class="p">,</span>
|
||||
<span class="nx">resource_group_name</span><span class="p">:</span> <span class="nx">Optional[str]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> ListStorageAccountKeysResult</code></pre></div>
|
||||
<span class="nx">opts</span><span class="p">:</span> <span class="nx"><a href="/docs/reference/pkg/python/pulumi/#pulumi.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>ListStorageAccountKeysResult</span
|
||||
><span class="k">
|
||||
def </span>list_storage_account_keys_output<span class="p">(</span><span class="nx">account_name</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">expand</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</span> = None<span class="p">,</span>
|
||||
<span class="nx">resource_group_name</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[str]]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>Output[ListStorageAccountKeysResult]</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>ListStorageAccountKeys<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ListStorageAccountKeysArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">ListStorageAccountKeysResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>ListStorageAccountKeys<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ListStorageAccountKeysArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">ListStorageAccountKeysResult</a></span>, error)</span
|
||||
><span class="k">
|
||||
func </span>ListStorageAccountKeysOutput<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ListStorageAccountKeysOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) ListStorageAccountKeysResultOutput</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `ListStorageAccountKeys` in the Go SDK.
|
||||
> Note: This function is named `ListStorageAccountKeys` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">ListStorageAccountKeys </span><span class="p">{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">ListStorageAccountKeysResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">ListStorageAccountKeysArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">ListStorageAccountKeys </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">ListStorageAccountKeysResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">ListStorageAccountKeysArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="k">
|
||||
public static </span>Output<<span class="nx"><a href="#result">ListStorageAccountKeysResult</a></span>> <span class="p">Invoke(</span><span class="nx">ListStorageAccountKeysInvokeArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
|
|
@ -21,26 +21,34 @@ no_edit_this_page: true
|
|||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>exampleFunc<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ExampleFuncArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">ExampleFuncResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>exampleFunc<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ExampleFuncArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">ExampleFuncResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>example_func(</span><span class="nx">enums</span><span class="p">:</span> <span class="nx">Optional[Sequence[Union[str, MyEnum]]]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> ExampleFuncResult</code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>example_func<span class="p">(</span><span class="nx">enums</span><span class="p">:</span> <span class="nx">Optional[Sequence[Union[str, MyEnum]]]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>ExampleFuncResult</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>ExampleFunc<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ExampleFuncArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">ExampleFuncResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>ExampleFunc<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ExampleFuncArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">ExampleFuncResult</a></span>, error)</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `ExampleFunc` in the Go SDK.
|
||||
> Note: This function is named `ExampleFunc` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">ExampleFunc </span><span class="p">{</span><span class="k">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">ExampleFunc </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">ExampleFuncResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">ExampleFuncArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
|
|
@ -21,26 +21,34 @@ no_edit_this_page: true
|
|||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>doFoo<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">DoFooArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">DoFooResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>doFoo<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">DoFooArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">DoFooResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>do_foo(</span><span class="nx">foo</span><span class="p">:</span> <span class="nx">Optional[Foo]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> DoFooResult</code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>do_foo<span class="p">(</span><span class="nx">foo</span><span class="p">:</span> <span class="nx">Optional[Foo]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>DoFooResult</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>DoFoo<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">DoFooArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">DoFooResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>DoFoo<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">DoFooArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">DoFooResult</a></span>, error)</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `DoFoo` in the Go SDK.
|
||||
> Note: This function is named `DoFoo` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">DoFoo </span><span class="p">{</span><span class="k">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">DoFoo </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">DoFooResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">DoFooArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
|
|
@ -17,31 +17,52 @@ no_edit_this_page: true
|
|||
|
||||
## Using argFunction {#using}
|
||||
|
||||
Two invocation forms are available. The direct form accepts plain
|
||||
arguments and either blocks until the result value is available, or
|
||||
returns a Promise-wrapped result. The output form accepts
|
||||
Input-wrapped arguments and returns an Output-wrapped result.
|
||||
|
||||
{{< chooser language "typescript,python,go,csharp" / >}}
|
||||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>argFunction<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ArgFunctionArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">ArgFunctionResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>argFunction<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ArgFunctionArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">ArgFunctionResult</a></span>></span
|
||||
><span class="k">
|
||||
function </span>argFunctionOutput<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ArgFunctionOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Output<<span class="nx"><a href="#result">ArgFunctionResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>arg_function(</span><span class="nx">arg1</span><span class="p">:</span> <span class="nx">Optional[Resource]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> ArgFunctionResult</code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>arg_function<span class="p">(</span><span class="nx">arg1</span><span class="p">:</span> <span class="nx">Optional[Resource]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>ArgFunctionResult</span
|
||||
><span class="k">
|
||||
def </span>arg_function_output<span class="p">(</span><span class="nx">arg1</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[Resource]]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>Output[ArgFunctionResult]</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>ArgFunction<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ArgFunctionArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">ArgFunctionResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>ArgFunction<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ArgFunctionArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">ArgFunctionResult</a></span>, error)</span
|
||||
><span class="k">
|
||||
func </span>ArgFunctionOutput<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ArgFunctionOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) ArgFunctionResultOutput</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `ArgFunction` in the Go SDK.
|
||||
> Note: This function is named `ArgFunction` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">ArgFunction </span><span class="p">{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">ArgFunctionResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">ArgFunctionArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">ArgFunction </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">ArgFunctionResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">ArgFunctionArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="k">
|
||||
public static </span>Output<<span class="nx"><a href="#result">ArgFunctionResult</a></span>> <span class="p">Invoke(</span><span class="nx">ArgFunctionInvokeArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
|
|
@ -17,31 +17,52 @@ no_edit_this_page: true
|
|||
|
||||
## Using argFunction {#using}
|
||||
|
||||
Two invocation forms are available. The direct form accepts plain
|
||||
arguments and either blocks until the result value is available, or
|
||||
returns a Promise-wrapped result. The output form accepts
|
||||
Input-wrapped arguments and returns an Output-wrapped result.
|
||||
|
||||
{{< chooser language "typescript,python,go,csharp" / >}}
|
||||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>argFunction<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ArgFunctionArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">ArgFunctionResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>argFunction<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ArgFunctionArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">ArgFunctionResult</a></span>></span
|
||||
><span class="k">
|
||||
function </span>argFunctionOutput<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ArgFunctionOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Output<<span class="nx"><a href="#result">ArgFunctionResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>arg_function(</span><span class="nx">arg1</span><span class="p">:</span> <span class="nx">Optional[Resource]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> ArgFunctionResult</code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>arg_function<span class="p">(</span><span class="nx">arg1</span><span class="p">:</span> <span class="nx">Optional[Resource]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>ArgFunctionResult</span
|
||||
><span class="k">
|
||||
def </span>arg_function_output<span class="p">(</span><span class="nx">arg1</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[Resource]]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>Output[ArgFunctionResult]</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>ArgFunction<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ArgFunctionArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">ArgFunctionResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>ArgFunction<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ArgFunctionArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">ArgFunctionResult</a></span>, error)</span
|
||||
><span class="k">
|
||||
func </span>ArgFunctionOutput<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ArgFunctionOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) ArgFunctionResultOutput</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `ArgFunction` in the Go SDK.
|
||||
> Note: This function is named `ArgFunction` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">ArgFunction </span><span class="p">{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">ArgFunctionResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">ArgFunctionArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">ArgFunction </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">ArgFunctionResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">ArgFunctionArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="k">
|
||||
public static </span>Output<<span class="nx"><a href="#result">ArgFunctionResult</a></span>> <span class="p">Invoke(</span><span class="nx">ArgFunctionInvokeArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
|
|
@ -17,31 +17,52 @@ no_edit_this_page: true
|
|||
|
||||
## Using argFunction {#using}
|
||||
|
||||
Two invocation forms are available. The direct form accepts plain
|
||||
arguments and either blocks until the result value is available, or
|
||||
returns a Promise-wrapped result. The output form accepts
|
||||
Input-wrapped arguments and returns an Output-wrapped result.
|
||||
|
||||
{{< chooser language "typescript,python,go,csharp" / >}}
|
||||
|
||||
|
||||
{{% choosable language nodejs %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-typescript" data-lang="typescript"><span class="k">function </span>argFunction<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ArgFunctionArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">ArgFunctionResult</a></span>></span></code></pre></div>
|
||||
<div class="highlight"
|
||||
><pre class="chroma"><code class="language-typescript" data-lang="typescript"
|
||||
><span class="k">function </span>argFunction<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ArgFunctionArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Promise<<span class="nx"><a href="#result">ArgFunctionResult</a></span>></span
|
||||
><span class="k">
|
||||
function </span>argFunctionOutput<span class="p">(</span><span class="nx">args</span><span class="p">:</span> <span class="nx">ArgFunctionOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p">?:</span> <span class="nx"><a href="/docs/reference/pkg/nodejs/pulumi/pulumi/#InvokeOptions">InvokeOptions</a></span><span class="p">): Output<<span class="nx"><a href="#result">ArgFunctionResult</a></span>></span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language python %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"><span class="k">def </span>arg_function(</span><span class="nx">arg1</span><span class="p">:</span> <span class="nx">Optional[Resource]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> ArgFunctionResult</code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-python" data-lang="python"
|
||||
><span class="k">def </span>arg_function<span class="p">(</span><span class="nx">arg1</span><span class="p">:</span> <span class="nx">Optional[Resource]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>ArgFunctionResult</span
|
||||
><span class="k">
|
||||
def </span>arg_function_output<span class="p">(</span><span class="nx">arg1</span><span class="p">:</span> <span class="nx">Optional[pulumi.Input[Resource]]</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.InvokeOptions">Optional[InvokeOptions]</a></span> = None<span class="p">) -></span> <span>Output[ArgFunctionResult]</span
|
||||
></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language go %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"><span class="k">func </span>ArgFunction<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ArgFunctionArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">ArgFunctionResult</a></span>, error)</span></code></pre></div>
|
||||
<div class="highlight"><pre class="chroma"><code class="language-go" data-lang="go"
|
||||
><span class="k">func </span>ArgFunction<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ArgFunctionArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) (*<span class="nx"><a href="#result">ArgFunctionResult</a></span>, error)</span
|
||||
><span class="k">
|
||||
func </span>ArgFunctionOutput<span class="p">(</span><span class="nx">ctx</span><span class="p"> *</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#Context">Context</a></span><span class="p">,</span> <span class="nx">args</span><span class="p"> *</span><span class="nx">ArgFunctionOutputArgs</span><span class="p">,</span> <span class="nx">opts</span><span class="p"> ...</span><span class="nx"><a href="https://pkg.go.dev/github.com/pulumi/pulumi/sdk/v3/go/pulumi?tab=doc#InvokeOption">InvokeOption</a></span><span class="p">) ArgFunctionResultOutput</span
|
||||
></code></pre></div>
|
||||
|
||||
> Note: This function is named `ArgFunction` in the Go SDK.
|
||||
> Note: This function is named `ArgFunction` in the Go SDK.
|
||||
|
||||
{{% /choosable %}}
|
||||
|
||||
|
||||
{{% choosable language csharp %}}
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">ArgFunction </span><span class="p">{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">ArgFunctionResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">ArgFunctionArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
<div class="highlight"><pre class="chroma"><code class="language-csharp" data-lang="csharp"><span class="k">public static class </span><span class="nx">ArgFunction </span><span class="p">
|
||||
{</span><span class="k">
|
||||
public static </span>Task<<span class="nx"><a href="#result">ArgFunctionResult</a></span>> <span class="p">InvokeAsync(</span><span class="nx">ArgFunctionArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="k">
|
||||
public static </span>Output<<span class="nx"><a href="#result">ArgFunctionResult</a></span>> <span class="p">Invoke(</span><span class="nx">ArgFunctionInvokeArgs</span><span class="p"> </span><span class="nx">args<span class="p">,</span> <span class="nx"><a href="/docs/reference/pkg/dotnet/Pulumi/Pulumi.InvokeOptions.html">InvokeOptions</a></span><span class="p">? </span><span class="nx">opts = null<span class="p">)</span><span class="p">
|
||||
}</span></code></pre></div>
|
||||
{{% /choosable %}}
|
||||
|
||||
|
|
|
@ -548,6 +548,12 @@ type Package struct {
|
|||
// Description is the description of the package.
|
||||
Description string
|
||||
// Keywords is the list of keywords that are associated with the package, if any.
|
||||
// Some reserved keywords can be specified as well that help with categorizing the
|
||||
// package in the Pulumi registry. `category/<name>` and `kind/<type>` are the only
|
||||
// reserved keywords at this time, where `<name>` can be one of:
|
||||
// `cloud`, `database`, `infrastructure`, `monitoring`, `network`, `utility`, `vcs`
|
||||
// and `<type>` is either `native` or `component`. If the package is a bridged Terraform
|
||||
// provider, then don't include the `kind/` label.
|
||||
Keywords []string
|
||||
// Homepage is the package's homepage.
|
||||
Homepage string
|
||||
|
@ -1473,6 +1479,12 @@ type PackageSpec struct {
|
|||
// Description is the description of the package.
|
||||
Description string `json:"description,omitempty" yaml:"description,omitempty"`
|
||||
// Keywords is the list of keywords that are associated with the package, if any.
|
||||
// Some reserved keywords can be specified as well that help with categorizing the
|
||||
// package in the Pulumi registry. `category/<name>` and `kind/<type>` are the only
|
||||
// reserved keywords at this time, where `<name>` can be one of:
|
||||
// `cloud`, `database`, `infrastructure`, `monitoring`, `network`, `utility`, `vcs`
|
||||
// and `<type>` is either `native` or `component`. If the package is a bridged Terraform
|
||||
// provider, then don't include the `kind/` label.
|
||||
Keywords []string `json:"keywords,omitempty" yaml:"keywords,omitempty"`
|
||||
// Homepage is the package's homepage.
|
||||
Homepage string `json:"homepage,omitempty" yaml:"homepage,omitempty"`
|
||||
|
|
|
@ -35,7 +35,7 @@ require (
|
|||
github.com/opentracing/opentracing-go v1.1.0
|
||||
github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386
|
||||
github.com/pkg/errors v0.9.1
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.17.0
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.17.1
|
||||
github.com/rjeczalik/notify v0.9.2
|
||||
github.com/santhosh-tekuri/jsonschema/v5 v5.0.0
|
||||
github.com/sergi/go-diff v1.1.0
|
||||
|
|
|
@ -16,13 +16,16 @@ package integration
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
|
@ -165,3 +168,74 @@ func CopyDir(src, dst string) error {
|
|||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// AssertHTTPResultWithRetry attempts to assert that an HTTP endpoint exists
|
||||
// and evaluate its response.
|
||||
func AssertHTTPResultWithRetry(
|
||||
t *testing.T,
|
||||
output interface{},
|
||||
headers map[string]string,
|
||||
maxWait time.Duration,
|
||||
check func(string) bool,
|
||||
) bool {
|
||||
hostname, ok := output.(string)
|
||||
if !assert.True(t, ok, fmt.Sprintf("expected `%s` output", output)) {
|
||||
return false
|
||||
}
|
||||
if !(strings.HasPrefix(hostname, "http://") || strings.HasPrefix(hostname, "https://")) {
|
||||
hostname = fmt.Sprintf("http://%s", hostname)
|
||||
}
|
||||
var err error
|
||||
var resp *http.Response
|
||||
startTime := time.Now()
|
||||
count, sleep := 0, 0
|
||||
for true {
|
||||
now := time.Now()
|
||||
req, err := http.NewRequest("GET", hostname, nil)
|
||||
if !assert.NoError(t, err, "error reading request: %v", err) {
|
||||
return false
|
||||
}
|
||||
|
||||
for k, v := range headers {
|
||||
// Host header cannot be set via req.Header.Set(), and must be set
|
||||
// directly.
|
||||
if strings.ToLower(k) == "host" {
|
||||
req.Host = v
|
||||
continue
|
||||
}
|
||||
req.Header.Set(k, v)
|
||||
}
|
||||
|
||||
client := &http.Client{Timeout: time.Second * 10}
|
||||
resp, err = client.Do(req)
|
||||
|
||||
if err == nil && resp.StatusCode == 200 {
|
||||
break
|
||||
}
|
||||
if now.Sub(startTime) >= maxWait {
|
||||
t.Logf("Timeout after %v. Unable to http.get %v successfully.", maxWait, hostname)
|
||||
break
|
||||
}
|
||||
count++
|
||||
// delay 10s, 20s, then 30s and stay at 30s
|
||||
if sleep > 30 {
|
||||
sleep = 30
|
||||
} else {
|
||||
sleep += 10
|
||||
}
|
||||
time.Sleep(time.Duration(sleep) * time.Second)
|
||||
t.Logf("Http Error: %v\n", err)
|
||||
t.Logf(" Retry: %v, elapsed wait: %v, max wait %v\n", count, now.Sub(startTime), maxWait)
|
||||
}
|
||||
if !assert.NoError(t, err) {
|
||||
return false
|
||||
}
|
||||
// Read the body
|
||||
defer resp.Body.Close()
|
||||
body, err := ioutil.ReadAll(resp.Body)
|
||||
if !assert.NoError(t, err) {
|
||||
return false
|
||||
}
|
||||
// Verify it matches expectations
|
||||
return check(string(body))
|
||||
}
|
||||
|
|
|
@ -17,6 +17,18 @@ namespace Pulumi.Tests.Mocks
|
|||
}
|
||||
}
|
||||
|
||||
public sealed class GetRoleInvokeArgs : Pulumi.InvokeArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// The friendly IAM role name to match.
|
||||
/// </summary>
|
||||
[Input("name", required: true)]
|
||||
public Input<string> Name { get; set; } = null!;
|
||||
|
||||
public GetRoleInvokeArgs()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
[OutputType]
|
||||
public sealed class GetRoleResult
|
||||
|
@ -42,5 +54,8 @@ namespace Pulumi.Tests.Mocks
|
|||
{
|
||||
public static Task<GetRoleResult> InvokeAsync(GetRoleArgs args, InvokeOptions? options = null)
|
||||
=> Pulumi.Deployment.Instance.InvokeAsync<GetRoleResult>("aws:iam/getRole:getRole", args ?? new GetRoleArgs(), options);
|
||||
|
||||
public static Output<GetRoleResult> Invoke(GetRoleInvokeArgs args, InvokeOptions? options = null)
|
||||
=> Pulumi.Deployment.Instance.Invoke<GetRoleResult>("aws:iam/getRole:getRole", args ?? new GetRoleInvokeArgs(), options);
|
||||
}
|
||||
}
|
||||
|
|
56
sdk/dotnet/Pulumi.Tests/Mocks/Issue8322.cs
Normal file
56
sdk/dotnet/Pulumi.Tests/Mocks/Issue8322.cs
Normal file
|
@ -0,0 +1,56 @@
|
|||
// Copyright 2016-2021, Pulumi Corporation
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Pulumi.Serialization;
|
||||
using Pulumi.Testing;
|
||||
|
||||
namespace Pulumi.Tests.Mocks
|
||||
{
|
||||
/// <summary>
|
||||
/// Supports testing that Invoke gets skippped when passed unknown inputs,
|
||||
/// instead of failing and breaking preview.
|
||||
///
|
||||
/// See pulumi/pulumi#8322.
|
||||
/// </summary>
|
||||
public sealed class Issue8322
|
||||
{
|
||||
public class ReproStack : Stack
|
||||
{
|
||||
[Output("result")]
|
||||
public Output<string> Result { get; private set; }
|
||||
|
||||
public ReproStack()
|
||||
{
|
||||
// First we need an unknown output (in preview). Use
|
||||
// Instance here as Output.CreateUnknown is not public.
|
||||
var instance = new Instance("instance1", new InstanceArgs());
|
||||
var unknown = instance.PublicIp;
|
||||
// To reproduce the bug, we call an Invoke with unknowns.
|
||||
var result = GetRole.Invoke(new GetRoleInvokeArgs() { Name = unknown });
|
||||
this.Result = result.Apply(r => r.Id);
|
||||
}
|
||||
}
|
||||
|
||||
public class ReproMocks : IMocks
|
||||
{
|
||||
public Task<object> CallAsync(MockCallArgs args)
|
||||
{
|
||||
throw new Exception("CallAsync should not be called");
|
||||
}
|
||||
|
||||
public Task<(string? id, object state)> NewResourceAsync(MockResourceArgs args)
|
||||
=> args.Type switch
|
||||
{
|
||||
"aws:ec2/instance:Instance" => Task.FromResult<(string?, object)>(
|
||||
("i-1234567890abcdef0",
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
{ "publicIp", Constants.UnknownValue },
|
||||
})),
|
||||
_ => throw new Exception($"Unknown resource {args.Type}")
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
|
@ -125,6 +125,18 @@ namespace Pulumi.Tests.Mocks
|
|||
Assert.Contains("Grpc.Core.RpcException: Status(StatusCode=\"Unknown\", Detail=\"error code 404\")", exception!.Message);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task TestInvokeToleratesUnknownsInPreview()
|
||||
{
|
||||
var resources = await Deployment.TestAsync<Issue8322.ReproStack>(
|
||||
new Issue8322.ReproMocks(),
|
||||
new TestOptions() { IsPreview = true }
|
||||
);
|
||||
var stack = resources.OfType<Issue8322.ReproStack>().Single();
|
||||
var result = await stack.Result.GetValueAsync(whenUnknown: "unknown!");
|
||||
Assert.Equal("unknown!", result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task TestStackWithInvalidSchema()
|
||||
{
|
||||
|
|
|
@ -55,7 +55,22 @@ namespace Pulumi
|
|||
// the provider fully responsible for depdendency
|
||||
// tracking, which is a good future direction also for
|
||||
// `Invoke`.
|
||||
var result = await InvokeRawAsync(token, args, options).ConfigureAwait(false);
|
||||
|
||||
var keepResources = await this.MonitorSupportsResourceReferences().ConfigureAwait(false);
|
||||
var serializedArgs = await SerializeInvokeArgs(token, args, keepResources);
|
||||
|
||||
// Short-circuit actually invoking if `Unknowns` are
|
||||
// present in `args`, otherwise preview can break.
|
||||
if (Serializer.ContainsUnknowns(serializedArgs.PropertyValues))
|
||||
{
|
||||
return new OutputData<T>(resources: ImmutableHashSet<Resource>.Empty,
|
||||
value: default!,
|
||||
isKnown: false,
|
||||
isSecret: false);
|
||||
}
|
||||
|
||||
var protoArgs = serializedArgs.ToSerializationResult();
|
||||
var result = await InvokeRawAsync(token, protoArgs, options).ConfigureAwait(false);
|
||||
var data = Converter.ConvertValue<T>(err => Log.Warn(err), $"{token} result",
|
||||
new Value { StructValue = result.Serialized });
|
||||
var resources = ImmutableHashSet.CreateRange(
|
||||
|
@ -81,27 +96,8 @@ namespace Pulumi
|
|||
return data.Value;
|
||||
}
|
||||
|
||||
private async Task<SerializationResult> InvokeRawAsync(string token, InvokeArgs args, InvokeOptions? options)
|
||||
private async Task<SerializationResult> InvokeRawAsync(string token, SerializationResult argsSerializationResult, InvokeOptions? options)
|
||||
{
|
||||
var label = $"Invoking function: token={token} asynchronously";
|
||||
Log.Debug(label);
|
||||
|
||||
// Be resilient to misbehaving callers.
|
||||
// ReSharper disable once ConstantNullCoalescingCondition
|
||||
args ??= InvokeArgs.Empty;
|
||||
|
||||
// Wait for all values to be available, and then perform the RPC.
|
||||
var argsDict = await args.ToDictionaryAsync().ConfigureAwait(false);
|
||||
|
||||
var keepResources = await this.MonitorSupportsResourceReferences().ConfigureAwait(false);
|
||||
|
||||
var argsSerializationResult = await SerializeFilteredPropertiesAsync(
|
||||
label: $"invoke:{token}",
|
||||
args: argsDict,
|
||||
acceptKey: key => true,
|
||||
keepResources: keepResources
|
||||
).ConfigureAwait(false);
|
||||
|
||||
var serialized = argsSerializationResult.Serialized;
|
||||
|
||||
Log.Debug($"Invoke RPC prepared: token={token}" +
|
||||
|
@ -137,6 +133,33 @@ namespace Pulumi
|
|||
return new SerializationResult(result.Return, argsSerializationResult.PropertyToDependentResources);
|
||||
}
|
||||
|
||||
private async Task<RawSerializationResult> SerializeInvokeArgs(string token, InvokeArgs args, bool keepResources)
|
||||
{
|
||||
Log.Debug($"Invoking function: token={token} asynchronously");
|
||||
|
||||
// Be resilient to misbehaving callers.
|
||||
// ReSharper disable once ConstantNullCoalescingCondition
|
||||
args ??= InvokeArgs.Empty;
|
||||
|
||||
// Wait for all values to be available.
|
||||
var argsDict = await args.ToDictionaryAsync().ConfigureAwait(false);
|
||||
|
||||
return await SerializeFilteredPropertiesRawAsync(
|
||||
label: $"invoke:{token}",
|
||||
args: argsDict,
|
||||
acceptKey: key => true,
|
||||
keepResources: keepResources
|
||||
).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
private async Task<SerializationResult> InvokeRawAsync(string token, InvokeArgs args, InvokeOptions? options)
|
||||
{
|
||||
var keepResources = await this.MonitorSupportsResourceReferences().ConfigureAwait(false);
|
||||
var argsSerializationRawResult = await SerializeInvokeArgs(token, args, keepResources);
|
||||
var argsSerializationResult = argsSerializationRawResult.ToSerializationResult();
|
||||
return await InvokeRawAsync(token, argsSerializationResult, options);
|
||||
}
|
||||
|
||||
private static ProviderResource? GetProvider(string token, InvokeOptions? options)
|
||||
=> options?.Provider ?? options?.Parent?.GetProvider(token);
|
||||
|
||||
|
|
|
@ -40,6 +40,17 @@ namespace Pulumi
|
|||
/// </summary>
|
||||
private static async Task<SerializationResult> SerializeFilteredPropertiesAsync(
|
||||
string label, IDictionary<string, object?> args, Predicate<string> acceptKey, bool keepResources)
|
||||
{
|
||||
var result = await SerializeFilteredPropertiesRawAsync(label, args, acceptKey, keepResources);
|
||||
return result.ToSerializationResult();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Acts as `SerializeFilteredPropertiesAsync` without the
|
||||
/// last step of encoding the value into a Protobuf form.
|
||||
/// </summary>
|
||||
private static async Task<RawSerializationResult> SerializeFilteredPropertiesRawAsync(
|
||||
string label, IDictionary<string, object?> args, Predicate<string> acceptKey, bool keepResources)
|
||||
{
|
||||
var propertyToDependentResources = ImmutableDictionary.CreateBuilder<string, HashSet<Resource>>();
|
||||
var result = ImmutableDictionary.CreateBuilder<string, object>();
|
||||
|
@ -59,8 +70,8 @@ namespace Pulumi
|
|||
}
|
||||
}
|
||||
|
||||
return new SerializationResult(
|
||||
Serializer.CreateStruct(result.ToImmutable()),
|
||||
return new RawSerializationResult(
|
||||
result.ToImmutable(),
|
||||
propertyToDependentResources.ToImmutable());
|
||||
}
|
||||
|
||||
|
@ -85,5 +96,24 @@ namespace Pulumi
|
|||
propertyToDependentResources = PropertyToDependentResources;
|
||||
}
|
||||
}
|
||||
|
||||
private readonly struct RawSerializationResult
|
||||
{
|
||||
public readonly ImmutableDictionary<string, object> PropertyValues;
|
||||
public readonly ImmutableDictionary<string, HashSet<Resource>> PropertyToDependentResources;
|
||||
|
||||
public RawSerializationResult(
|
||||
ImmutableDictionary<string, object> propertyValues,
|
||||
ImmutableDictionary<string, HashSet<Resource>> propertyToDependentResources)
|
||||
{
|
||||
PropertyValues = propertyValues;
|
||||
PropertyToDependentResources = propertyToDependentResources;
|
||||
}
|
||||
|
||||
public SerializationResult ToSerializationResult()
|
||||
=> new SerializationResult(
|
||||
Serializer.CreateStruct(PropertyValues),
|
||||
PropertyToDependentResources);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
// Copyright 2016-2021, Pulumi Corporation
|
||||
|
||||
using System;
|
||||
using System.Collections.Immutable;
|
||||
|
||||
namespace Pulumi.Serialization
|
||||
{
|
||||
internal static class ImmutableDictionaryExtensions
|
||||
{
|
||||
public static bool AnyValues<TKey, TValue>(
|
||||
this ImmutableDictionary<TKey, TValue> immutableDictionary,
|
||||
Func<TValue, bool> predicate)
|
||||
where TKey : notnull
|
||||
{
|
||||
foreach (var (_, val) in immutableDictionary)
|
||||
{
|
||||
if (predicate(val))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -385,6 +385,27 @@ $"Tasks are not allowed inside ResourceArgs. Please wrap your Task in an Output:
|
|||
_ => throw new InvalidOperationException("Unsupported value when converting to protobuf: " + value.GetType().FullName),
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Detects encoded `Unknown` values in objects that conform
|
||||
/// to the grammar returned by `SerializeAsync`.
|
||||
///
|
||||
/// This possibly needs to be revisited to detect `Unknown`
|
||||
/// values before `SerializeAsync` converts them, in the more
|
||||
/// generic Output representation.
|
||||
/// </summary>
|
||||
internal static bool ContainsUnknowns(object? value)
|
||||
=> value switch
|
||||
{
|
||||
null => false,
|
||||
int _ => false,
|
||||
double d => false,
|
||||
bool b => false,
|
||||
string s => s == Constants.UnknownValue,
|
||||
ImmutableArray<object> list => list.Any(v => ContainsUnknowns(v)),
|
||||
ImmutableDictionary<string, object> dict => dict.AnyValues(v => ContainsUnknowns(v)),
|
||||
_ => throw new InvalidOperationException("Unsupported value when converting to protobuf: " + value.GetType().FullName),
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Given a <see cref="ImmutableDictionary{TKey, TValue}"/> produced by <see cref="SerializeAsync"/>,
|
||||
/// produces the equivalent <see cref="Struct"/> that can be passed to the Pulumi engine.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2016-2018, Pulumi Corporation.
|
||||
// Copyright 2016-2021, Pulumi Corporation.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
|
@ -37,6 +37,7 @@ import (
|
|||
"strings"
|
||||
"syscall"
|
||||
|
||||
"github.com/blang/semver"
|
||||
pbempty "github.com/golang/protobuf/ptypes/empty"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin"
|
||||
|
@ -63,6 +64,15 @@ const (
|
|||
pulumiConfigSecretKeysVar = "PULUMI_CONFIG_SECRET_KEYS"
|
||||
)
|
||||
|
||||
var (
|
||||
// The minimum python version that Pulumi supports
|
||||
minimumSupportedPythonVersion = semver.MustParse("3.6.0")
|
||||
// Any version less then `eolPythonVersion` is EOL.
|
||||
eolPythonVersion = semver.MustParse("3.7.0")
|
||||
// An url to the issue discussing EOL.
|
||||
eolPythonVersionIssue = "https://github.com/pulumi/pulumi/issues/8131"
|
||||
)
|
||||
|
||||
// Launches the language host RPC endpoint, which in turn fires up an RPC server implementing the
|
||||
// LanguageRuntimeServer RPC endpoint.
|
||||
func main() {
|
||||
|
@ -119,6 +129,7 @@ func main() {
|
|||
|
||||
// Resolve virtualenv path relative to root.
|
||||
virtualenvPath := resolveVirtualEnvironmentPath(root, virtualenv)
|
||||
validateVersion(virtualenvPath)
|
||||
|
||||
// Fire up a gRPC server, letting the kernel choose a free port.
|
||||
port, done, err := rpcutil.Serve(0, nil, []func(*grpc.Server) error{
|
||||
|
@ -659,3 +670,37 @@ func (host *pythonLanguageHost) GetPluginInfo(ctx context.Context, req *pbempty.
|
|||
Version: version.Version,
|
||||
}, nil
|
||||
}
|
||||
|
||||
// validateVersion checks that python is running a valid version. If a version
|
||||
// is invalid, it prints to os.Stderr. This is interpreted as diagnostic message
|
||||
// by the Pulumi CLI program.
|
||||
func validateVersion(virtualEnvPath string) {
|
||||
var versionCmd *exec.Cmd
|
||||
var err error
|
||||
versionArgs := []string{"--version"}
|
||||
if virtualEnvPath == "" {
|
||||
versionCmd = python.VirtualEnvCommand(virtualEnvPath, "python", versionArgs...)
|
||||
} else if versionCmd, err = python.Command(versionArgs...); err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Failed to find python executable\n")
|
||||
return
|
||||
}
|
||||
var out []byte
|
||||
if out, err = versionCmd.Output(); err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Failed to resolve python version command: %s\n", err.Error())
|
||||
return
|
||||
}
|
||||
version := strings.TrimSpace(strings.TrimPrefix(string(out), "Python "))
|
||||
parsed, err := semver.Parse(version)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Failed to parse python version: '%s'\n", version)
|
||||
return
|
||||
}
|
||||
if parsed.LT(minimumSupportedPythonVersion) {
|
||||
fmt.Fprintf(os.Stderr, "Pulumi does not support Python %s."+
|
||||
" Please upgrade to at least %s\n", parsed, minimumSupportedPythonVersion)
|
||||
} else if parsed.LT(eolPythonVersion) {
|
||||
fmt.Fprintf(os.Stderr, "Python %d.%d is approaching EOL and will not be supported in Pulumi soon."+
|
||||
" Check %s for more details\n", parsed.Major,
|
||||
eolPythonVersion.Minor, eolPythonVersionIssue)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -431,7 +431,9 @@ class ResourcePreEvent(BaseEvent):
|
|||
|
||||
@classmethod
|
||||
def from_json(cls, data: dict) -> 'ResourcePreEvent':
|
||||
return cls(**data)
|
||||
metadata: dict = data.get("metadata", {})
|
||||
return cls(metadata=StepEventMetadata.from_json(metadata),
|
||||
planning=data.get("planning"))
|
||||
|
||||
|
||||
class ResOutputsEvent(BaseEvent):
|
||||
|
@ -446,7 +448,9 @@ class ResOutputsEvent(BaseEvent):
|
|||
|
||||
@classmethod
|
||||
def from_json(cls, data: dict) -> 'ResOutputsEvent':
|
||||
return cls(**data)
|
||||
metadata: dict = data.get("metadata", {})
|
||||
return cls(metadata=StepEventMetadata.from_json(metadata),
|
||||
planning=data.get("planning"))
|
||||
|
||||
|
||||
class ResOpFailedEvent(BaseEvent):
|
||||
|
@ -464,7 +468,10 @@ class ResOpFailedEvent(BaseEvent):
|
|||
|
||||
@classmethod
|
||||
def from_json(cls, data: dict) -> 'ResOpFailedEvent':
|
||||
return cls(**data)
|
||||
metadata: dict = data.get("metadata", {})
|
||||
return cls(metadata=StepEventMetadata.from_json(metadata),
|
||||
status=data.get("status", 0),
|
||||
steps=data.get("steps", 0))
|
||||
|
||||
|
||||
class EngineEvent(BaseEvent):
|
||||
|
|
|
@ -13,7 +13,7 @@ require (
|
|||
github.com/golang/protobuf v1.5.2
|
||||
github.com/mattn/go-runewidth v0.0.9 // indirect
|
||||
github.com/pulumi/pulumi/pkg/v3 v3.3.0
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.17.0
|
||||
github.com/pulumi/pulumi/sdk/v3 v3.17.1
|
||||
github.com/stretchr/testify v1.7.0
|
||||
google.golang.org/grpc v1.37.0
|
||||
sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0
|
||||
|
|
Loading…
Reference in a new issue