diff --git a/pkg/cmd/pulumi/convert.go b/pkg/cmd/pulumi/convert.go index 22d17b668100..276e403dab18 100644 --- a/pkg/cmd/pulumi/convert.go +++ b/pkg/cmd/pulumi/convert.go @@ -27,6 +27,7 @@ import ( javagen "github.com/pulumi/pulumi-java/pkg/codegen/java" tfgen "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/convert" yamlgen "github.com/pulumi/pulumi-yaml/pkg/pulumiyaml/codegen" + "github.com/pulumi/pulumi/pkg/v3/codegen/convert" "github.com/pulumi/pulumi/pkg/v3/codegen/dotnet" gogen "github.com/pulumi/pulumi/pkg/v3/codegen/go" hclsyntax "github.com/pulumi/pulumi/pkg/v3/codegen/hcl2/syntax" @@ -50,6 +51,7 @@ func newConvertCmd() *cobra.Command { var from string var language string var generateOnly bool + var mappings []string cmd := &cobra.Command{ Use: "convert", @@ -64,7 +66,7 @@ func newConvertCmd() *cobra.Command { return result.FromError(fmt.Errorf("could not resolve current working directory")) } - return runConvert(cwd, from, language, outDir, generateOnly) + return runConvert(cwd, mappings, from, language, outDir, generateOnly) }), } @@ -87,6 +89,10 @@ func newConvertCmd() *cobra.Command { //nolint:lll &generateOnly, "generate-only", false, "Generate the converted program(s) only; do not install dependencies") + cmd.PersistentFlags().StringSliceVar( + //nolint:lll + &mappings, "mappings", []string{}, "Any mapping files to use in the conversion") + return cmd } @@ -152,7 +158,10 @@ func pclEject(directory string, loader schema.ReferenceLoader) (*workspace.Proje return &workspace.Project{Name: "pcl"}, program, nil } -func runConvert(cwd string, from string, language string, outDir string, generateOnly bool) result.Result { +func runConvert( + cwd string, mappings []string, from string, language string, + outDir string, generateOnly bool) result.Result { + var projectGenerator projectGeneratorFunc switch language { case "csharp", "c#": @@ -191,6 +200,11 @@ func runConvert(cwd string, from string, language string, outDir string, generat } defer contract.IgnoreClose(host) loader := schema.NewPluginLoader(host) + // TODO: Mapper will be used by tfconvert (and others as we add them) + _, err = convert.NewPluginMapper(host, from, mappings) + if err != nil { + return result.FromError(fmt.Errorf("could not create provider mapper: %w", err)) + } var proj *workspace.Project var program *pcl.Program diff --git a/pkg/cmd/pulumi/convert_test.go b/pkg/cmd/pulumi/convert_test.go index 9f9e2952e6d9..c424e5f9d648 100644 --- a/pkg/cmd/pulumi/convert_test.go +++ b/pkg/cmd/pulumi/convert_test.go @@ -21,7 +21,7 @@ import ( // See: https://github.com/golang/vscode-go/wiki/debugging // // Your mileage may vary with other tooling. -func TestConvert(t *testing.T) { +func TestYamlConvert(t *testing.T) { t.Parallel() if info, err := os.Stat("convert_testdata/Pulumi.yaml"); err != nil && os.IsNotExist(err) { @@ -32,7 +32,7 @@ func TestConvert(t *testing.T) { t.Fatalf("Pulumi.yaml is a directory, not a file") } - result := runConvert("convert_testdata", "yaml", "go", "convert_testdata/go", true) + result := runConvert("convert_testdata", []string{}, "yaml", "go", "convert_testdata/go", true) require.Nil(t, result, "convert failed: %v", result) } @@ -44,7 +44,7 @@ func TestPclConvert(t *testing.T) { tmp, err := os.MkdirTemp("", "pulumi-convert-test") assert.NoError(t, err) - result := runConvert("pcl_convert_testdata", "pcl", "pcl", tmp, true) + result := runConvert("pcl_convert_testdata", []string{}, "pcl", "pcl", tmp, true) assert.Nil(t, result) // Check that we made one file diff --git a/pkg/codegen/convert/mapper.go b/pkg/codegen/convert/mapper.go new file mode 100644 index 000000000000..73d573dd78d0 --- /dev/null +++ b/pkg/codegen/convert/mapper.go @@ -0,0 +1,110 @@ +// Copyright 2016-2022, 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 convert + +import ( + "fmt" + "os" + "path/filepath" + "strings" + + "github.com/blang/semver" + "github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin" + "github.com/pulumi/pulumi/sdk/v3/go/common/workspace" +) + +type Mapper interface { + GetMapping(provider string) ([]byte, error) +} + +type pluginMapper struct { + entries map[string][]byte +} + +func NewPluginMapper(host plugin.Host, key string, mappings []string) (Mapper, error) { + entries := map[string][]byte{} + + // Enumerate _all_ our installed plugins to ask for any mappings they provider. This allows users to + // convert aws terraform code for example by just having 'pulumi-aws' plugin locally, without needing to + // specify it anywhere on the command line, and without tf2pulumi needing to know about every possible plugin. + plugins, err := workspace.GetPlugins() + if err != nil { + return nil, fmt.Errorf("could not get plugins: %w", err) + } + // We only care about the latest version of each plugin + latestVersions := make(map[string]semver.Version) + for _, plugin := range plugins { + if plugin.Kind != workspace.ResourcePlugin { + continue + } + + if cur, has := latestVersions[plugin.Name]; has { + if plugin.Version.GT(cur) { + latestVersions[plugin.Name] = *plugin.Version + } + } else { + latestVersions[plugin.Name] = *plugin.Version + } + } + // Now go through each of those plugins and ask for any conversion data they have for the given key we're + // looking for. + //for pkg, version := range latestVersions { + // TODO: We have to do a dance here where first we publish a version of pulumi with these RPC structures + // then add methods to terraform-bridge to implement this method as if it did exist, and then actually add + // the RPC method and uncomment out the code below. This is all because we currently build these in a loop + // (pulumi include terraform-bridge, which includes pulumi). + + //provider, err := host.Provider(tokens.Package(pkg), &version) + //if err != nil { + // return nil, fmt.Errorf("could not create provider '%s': %w", pkg, err) + //} + + //data, mappedProvider, err := provider.GetMapping(key) + //if err != nil { + // return nil, fmt.Errorf("could not get mapping for provider '%s': %w", pkg, err) + //} + //entries[mappedProvider] = data + //} + + // These take precedence over any plugin returned mappings so we do them last and just overwrite the + // entries + for _, path := range mappings { + data, err := os.ReadFile(path) + if err != nil { + return nil, fmt.Errorf("could not read mapping file '%s': %w", path, err) + } + + // Mapping file names are assumed to be the provider key. + provider := filepath.Base(path) + // strip the extension + dotIndex := strings.LastIndex(provider, ".") + if dotIndex != -1 { + provider = provider[0:dotIndex] + } + + entries[provider] = data + } + return &pluginMapper{ + entries: entries, + }, nil +} + +func (l *pluginMapper) GetMapping(provider string) ([]byte, error) { + entry, ok := l.entries[provider] + if ok { + return entry, nil + } + return nil, fmt.Errorf("could not find any conversion mapping for %s", provider) +} diff --git a/pkg/resource/deploy/builtins.go b/pkg/resource/deploy/builtins.go index e8e1b8c0ca02..66c5135e8459 100644 --- a/pkg/resource/deploy/builtins.go +++ b/pkg/resource/deploy/builtins.go @@ -46,6 +46,10 @@ func (p *builtinProvider) GetSchema(version int) ([]byte, error) { return []byte("{}"), nil } +func (p *builtinProvider) GetMapping(key string) ([]byte, string, error) { + return nil, "", nil +} + // CheckConfig validates the configuration for this resource provider. func (p *builtinProvider) CheckConfig(urn resource.URN, olds, news resource.PropertyMap, allowUnknowns bool) (resource.PropertyMap, []plugin.CheckFailure, error) { diff --git a/pkg/resource/deploy/providers/registry.go b/pkg/resource/deploy/providers/registry.go index 122bd30d29c4..11b8727399c3 100644 --- a/pkg/resource/deploy/providers/registry.go +++ b/pkg/resource/deploy/providers/registry.go @@ -223,6 +223,12 @@ func (r *Registry) GetSchema(version int) ([]byte, error) { return nil, errors.New("the provider registry has no schema") } +func (r *Registry) GetMapping(key string) ([]byte, string, error) { + contract.Fail() + + return nil, "", errors.New("the provider registry has no mappings") +} + // CheckConfig validates the configuration for this resource provider. func (r *Registry) CheckConfig(urn resource.URN, olds, news resource.PropertyMap, allowUnknowns bool) (resource.PropertyMap, []plugin.CheckFailure, error) { diff --git a/pkg/resource/provider/component_provider.go b/pkg/resource/provider/component_provider.go index d1da060e578f..b9a5be1f40c6 100644 --- a/pkg/resource/provider/component_provider.go +++ b/pkg/resource/provider/component_provider.go @@ -211,3 +211,9 @@ func (p *componentProvider) Attach(ctx context.Context, p.host = host return &pbempty.Empty{}, nil } + +// GetMapping fetches the conversion mapping (if any) for this resource provider. +func (p *componentProvider) GetMapping(ctx context.Context, + req *pulumirpc.GetMappingRequest) (*pulumirpc.GetMappingResponse, error) { + return &pulumirpc.GetMappingResponse{Provider: "", Data: nil}, nil +} diff --git a/proto/.checksum.txt b/proto/.checksum.txt index 781af4a284bd..e6697bc4c793 100644 --- a/proto/.checksum.txt +++ b/proto/.checksum.txt @@ -13,5 +13,5 @@ 3421371250 793 proto/pulumi/errors.proto 3818289820 5711 proto/pulumi/language.proto 2700626499 1743 proto/pulumi/plugin.proto -1451439690 19667 proto/pulumi/provider.proto +3998073491 20713 proto/pulumi/provider.proto 1325776472 11014 proto/pulumi/resource.proto diff --git a/proto/pulumi/provider.proto b/proto/pulumi/provider.proto index 89425fb78803..ae44b82aadb4 100644 --- a/proto/pulumi/provider.proto +++ b/proto/pulumi/provider.proto @@ -78,6 +78,9 @@ service ResourceProvider { // Attach sends the engine address to an already running plugin. rpc Attach(PluginAttach) returns (google.protobuf.Empty) {} + + // GetMapping fetches the mapping for this resource provider, if any. + // rpc GetMapping(GetMappingRequest) returns (GetMappingResponse) {} } message GetSchemaRequest { @@ -348,3 +351,22 @@ message ErrorResourceInitFailed { repeated string reasons = 3; // error messages associated with initialization failure. google.protobuf.Struct inputs = 4; // the current inputs to this resource (only applicable for Read) } + +// GetMappingRequest allows providers to return ecosystem specific information to allow the provider to be +// converted from a source markup to Pulumi. It's expected that provider bridges that target a given ecosystem +// (e.g. Terraform, Kubernetes) would also publish a conversion plugin to convert markup from that ecosystem +// to Pulumi, using the bridged providers. +message GetMappingRequest { + // the conversion key for the mapping being requested. + string key = 1; +} + +// GetMappingResponse returns convert plugin specific data for this provider. This will normally be human +// readable JSON, but the engine doesn't mandate any form. +message GetMappingResponse { + // the provider key this is mapping for. For example the Pulumi provider "terraform-template" would return "template" for this. + string provider = 1; + + // the conversion plugin specific data. + bytes data = 2; +} \ No newline at end of file diff --git a/sdk/go/common/resource/plugin/provider.go b/sdk/go/common/resource/plugin/provider.go index 446f8f23daf4..1cc330ce3313 100644 --- a/sdk/go/common/resource/plugin/provider.go +++ b/sdk/go/common/resource/plugin/provider.go @@ -101,6 +101,9 @@ type Provider interface { // non-blocking; it is up to the host to decide how long to wait after SignalCancellation is // called before (e.g.) hard-closing any gRPC connection. SignalCancellation() error + + // GetMapping returns the mapping (if any) for the provider. + // GetMapping(key string) ([]byte, string, error) } type GrpcProvider interface { diff --git a/sdk/go/common/resource/plugin/provider_plugin.go b/sdk/go/common/resource/plugin/provider_plugin.go index 90412c0bc404..ead72568afa2 100644 --- a/sdk/go/common/resource/plugin/provider_plugin.go +++ b/sdk/go/common/resource/plugin/provider_plugin.go @@ -1733,3 +1733,20 @@ func decorateProviderSpans(span opentracing.Span, method string, req, resp inter span.SetTag("pulumi-decorator", req.(*pulumirpc.InvokeRequest).Tok) } } + +// GetMapping fetches the conversion mapping (if any) for this resource provider. +func (p *provider) GetMapping(key string) ([]byte, string, error) { + // TODO: We have to do a dance here where first we publish a version of pulumi with these RPC structures + // then add methods to terraform-bridge to implement this method as if it did exist, and then actually add + // the RPC method and uncomment out the code below. This is all because we currently build these in a loop + // (pulumi include terraform-bridge, which includes pulumi). + return nil, "", nil + + //resp, err := p.clientRaw.GetMapping(p.requestContext(), &pulumirpc.GetMappingRequest{ + // Key: key, + //}) + //if err != nil { + // return nil, "", err + //} + //return resp.Data, resp.Provider, nil +} diff --git a/sdk/go/common/resource/plugin/provider_server.go b/sdk/go/common/resource/plugin/provider_server.go index b0545a95cf0b..c9b654d22797 100644 --- a/sdk/go/common/resource/plugin/provider_server.go +++ b/sdk/go/common/resource/plugin/provider_server.go @@ -621,3 +621,18 @@ func (p *providerServer) Call(ctx context.Context, req *pulumirpc.CallRequest) ( Failures: rpcFailures, }, nil } + +func (p *providerServer) GetMapping(ctx context.Context, + req *pulumirpc.GetMappingRequest) (*pulumirpc.GetMappingResponse, error) { + // TODO: We have to do a dance here where first we publish a version of pulumi with these RPC structures + // then add methods to terraform-bridge to implement this method as if it did exist, and then actually add + // the RPC method and uncomment out the code below. This is all because we currently build these in a loop + // (pulumi include terraform-bridge, which includes pulumi). + return &pulumirpc.GetMappingResponse{Data: nil, Provider: ""}, nil + + //data, provider, err := p.provider.GetMapping(req.Key) + //if err != nil { + // return nil, err + //} + //return &pulumirpc.GetMappingResponse{Data: data, Provider: provider}, nil +} diff --git a/sdk/nodejs/proto/provider_pb.js b/sdk/nodejs/proto/provider_pb.js index c7834b1d2253..72c5cbf7154f 100644 --- a/sdk/nodejs/proto/provider_pb.js +++ b/sdk/nodejs/proto/provider_pb.js @@ -43,6 +43,8 @@ goog.exportSymbol('proto.pulumirpc.DiffRequest', null, global); goog.exportSymbol('proto.pulumirpc.DiffResponse', null, global); goog.exportSymbol('proto.pulumirpc.DiffResponse.DiffChanges', null, global); goog.exportSymbol('proto.pulumirpc.ErrorResourceInitFailed', null, global); +goog.exportSymbol('proto.pulumirpc.GetMappingRequest', null, global); +goog.exportSymbol('proto.pulumirpc.GetMappingResponse', null, global); goog.exportSymbol('proto.pulumirpc.GetSchemaRequest', null, global); goog.exportSymbol('proto.pulumirpc.GetSchemaResponse', null, global); goog.exportSymbol('proto.pulumirpc.InvokeRequest', null, global); @@ -683,6 +685,48 @@ if (goog.DEBUG && !COMPILED) { */ proto.pulumirpc.ErrorResourceInitFailed.displayName = 'proto.pulumirpc.ErrorResourceInitFailed'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.pulumirpc.GetMappingRequest = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.pulumirpc.GetMappingRequest, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.pulumirpc.GetMappingRequest.displayName = 'proto.pulumirpc.GetMappingRequest'; +} +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.pulumirpc.GetMappingResponse = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.pulumirpc.GetMappingResponse, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.pulumirpc.GetMappingResponse.displayName = 'proto.pulumirpc.GetMappingResponse'; +} @@ -7985,4 +8029,318 @@ proto.pulumirpc.ErrorResourceInitFailed.prototype.hasInputs = function() { }; + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.pulumirpc.GetMappingRequest.prototype.toObject = function(opt_includeInstance) { + return proto.pulumirpc.GetMappingRequest.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.pulumirpc.GetMappingRequest} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.pulumirpc.GetMappingRequest.toObject = function(includeInstance, msg) { + var f, obj = { + key: jspb.Message.getFieldWithDefault(msg, 1, "") + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.pulumirpc.GetMappingRequest} + */ +proto.pulumirpc.GetMappingRequest.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.pulumirpc.GetMappingRequest; + return proto.pulumirpc.GetMappingRequest.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.pulumirpc.GetMappingRequest} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.pulumirpc.GetMappingRequest} + */ +proto.pulumirpc.GetMappingRequest.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setKey(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.pulumirpc.GetMappingRequest.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.pulumirpc.GetMappingRequest.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.pulumirpc.GetMappingRequest} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.pulumirpc.GetMappingRequest.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getKey(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } +}; + + +/** + * optional string key = 1; + * @return {string} + */ +proto.pulumirpc.GetMappingRequest.prototype.getKey = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.pulumirpc.GetMappingRequest} returns this + */ +proto.pulumirpc.GetMappingRequest.prototype.setKey = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + + + + +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.pulumirpc.GetMappingResponse.prototype.toObject = function(opt_includeInstance) { + return proto.pulumirpc.GetMappingResponse.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.pulumirpc.GetMappingResponse} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.pulumirpc.GetMappingResponse.toObject = function(includeInstance, msg) { + var f, obj = { + provider: jspb.Message.getFieldWithDefault(msg, 1, ""), + data: msg.getData_asB64() + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.pulumirpc.GetMappingResponse} + */ +proto.pulumirpc.GetMappingResponse.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.pulumirpc.GetMappingResponse; + return proto.pulumirpc.GetMappingResponse.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.pulumirpc.GetMappingResponse} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.pulumirpc.GetMappingResponse} + */ +proto.pulumirpc.GetMappingResponse.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setProvider(value); + break; + case 2: + var value = /** @type {!Uint8Array} */ (reader.readBytes()); + msg.setData(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.pulumirpc.GetMappingResponse.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.pulumirpc.GetMappingResponse.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.pulumirpc.GetMappingResponse} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.pulumirpc.GetMappingResponse.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getProvider(); + if (f.length > 0) { + writer.writeString( + 1, + f + ); + } + f = message.getData_asU8(); + if (f.length > 0) { + writer.writeBytes( + 2, + f + ); + } +}; + + +/** + * optional string provider = 1; + * @return {string} + */ +proto.pulumirpc.GetMappingResponse.prototype.getProvider = function() { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); +}; + + +/** + * @param {string} value + * @return {!proto.pulumirpc.GetMappingResponse} returns this + */ +proto.pulumirpc.GetMappingResponse.prototype.setProvider = function(value) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + + +/** + * optional bytes data = 2; + * @return {!(string|Uint8Array)} + */ +proto.pulumirpc.GetMappingResponse.prototype.getData = function() { + return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 2, "")); +}; + + +/** + * optional bytes data = 2; + * This is a type-conversion wrapper around `getData()` + * @return {string} + */ +proto.pulumirpc.GetMappingResponse.prototype.getData_asB64 = function() { + return /** @type {string} */ (jspb.Message.bytesAsB64( + this.getData())); +}; + + +/** + * optional bytes data = 2; + * Note that Uint8Array is not supported on all browsers. + * @see http://caniuse.com/Uint8Array + * This is a type-conversion wrapper around `getData()` + * @return {!Uint8Array} + */ +proto.pulumirpc.GetMappingResponse.prototype.getData_asU8 = function() { + return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8( + this.getData())); +}; + + +/** + * @param {!(string|Uint8Array)} value + * @return {!proto.pulumirpc.GetMappingResponse} returns this + */ +proto.pulumirpc.GetMappingResponse.prototype.setData = function(value) { + return jspb.Message.setProto3BytesField(this, 2, value); +}; + + goog.object.extend(exports, proto.pulumirpc); diff --git a/sdk/proto/go/provider.pb.go b/sdk/proto/go/provider.pb.go index b4fe826bc713..058928dc0248 100644 --- a/sdk/proto/go/provider.pb.go +++ b/sdk/proto/go/provider.pb.go @@ -1979,6 +1979,117 @@ func (x *ErrorResourceInitFailed) GetInputs() *structpb.Struct { return nil } +// GetMappingRequest allows providers to return ecosystem specific information to allow the provider to be +// converted from a source markup to Pulumi. It's expected that provider bridges that target a given ecosystem +// (e.g. Terraform, Kubernetes) would also publish a conversion plugin to convert markup from that ecosystem +// to Pulumi, using the bridged providers. +type GetMappingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // the conversion key for the mapping being requested. + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` +} + +func (x *GetMappingRequest) Reset() { + *x = GetMappingRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pulumi_provider_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMappingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMappingRequest) ProtoMessage() {} + +func (x *GetMappingRequest) ProtoReflect() protoreflect.Message { + mi := &file_pulumi_provider_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMappingRequest.ProtoReflect.Descriptor instead. +func (*GetMappingRequest) Descriptor() ([]byte, []int) { + return file_pulumi_provider_proto_rawDescGZIP(), []int{25} +} + +func (x *GetMappingRequest) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +// GetMappingResponse returns convert plugin specific data for this provider. This will normally be human +// readable JSON, but the engine doesn't mandate any form. +type GetMappingResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // the provider key this is mapping for. For example the Pulumi provider "terraform-template" would return "template" for this. + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` + // the conversion plugin specific data. + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` +} + +func (x *GetMappingResponse) Reset() { + *x = GetMappingResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pulumi_provider_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMappingResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMappingResponse) ProtoMessage() {} + +func (x *GetMappingResponse) ProtoReflect() protoreflect.Message { + mi := &file_pulumi_provider_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMappingResponse.ProtoReflect.Descriptor instead. +func (*GetMappingResponse) Descriptor() ([]byte, []int) { + return file_pulumi_provider_proto_rawDescGZIP(), []int{26} +} + +func (x *GetMappingResponse) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *GetMappingResponse) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + type ConfigureErrorMissingKeys_MissingKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1991,7 +2102,7 @@ type ConfigureErrorMissingKeys_MissingKey struct { func (x *ConfigureErrorMissingKeys_MissingKey) Reset() { *x = ConfigureErrorMissingKeys_MissingKey{} if protoimpl.UnsafeEnabled { - mi := &file_pulumi_provider_proto_msgTypes[26] + mi := &file_pulumi_provider_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2004,7 +2115,7 @@ func (x *ConfigureErrorMissingKeys_MissingKey) String() string { func (*ConfigureErrorMissingKeys_MissingKey) ProtoMessage() {} func (x *ConfigureErrorMissingKeys_MissingKey) ProtoReflect() protoreflect.Message { - mi := &file_pulumi_provider_proto_msgTypes[26] + mi := &file_pulumi_provider_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2046,7 +2157,7 @@ type CallRequest_ArgumentDependencies struct { func (x *CallRequest_ArgumentDependencies) Reset() { *x = CallRequest_ArgumentDependencies{} if protoimpl.UnsafeEnabled { - mi := &file_pulumi_provider_proto_msgTypes[27] + mi := &file_pulumi_provider_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2059,7 +2170,7 @@ func (x *CallRequest_ArgumentDependencies) String() string { func (*CallRequest_ArgumentDependencies) ProtoMessage() {} func (x *CallRequest_ArgumentDependencies) ProtoReflect() protoreflect.Message { - mi := &file_pulumi_provider_proto_msgTypes[27] + mi := &file_pulumi_provider_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2094,7 +2205,7 @@ type CallResponse_ReturnDependencies struct { func (x *CallResponse_ReturnDependencies) Reset() { *x = CallResponse_ReturnDependencies{} if protoimpl.UnsafeEnabled { - mi := &file_pulumi_provider_proto_msgTypes[30] + mi := &file_pulumi_provider_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2107,7 +2218,7 @@ func (x *CallResponse_ReturnDependencies) String() string { func (*CallResponse_ReturnDependencies) ProtoMessage() {} func (x *CallResponse_ReturnDependencies) ProtoReflect() protoreflect.Message { - mi := &file_pulumi_provider_proto_msgTypes[30] + mi := &file_pulumi_provider_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2142,7 +2253,7 @@ type ConstructRequest_PropertyDependencies struct { func (x *ConstructRequest_PropertyDependencies) Reset() { *x = ConstructRequest_PropertyDependencies{} if protoimpl.UnsafeEnabled { - mi := &file_pulumi_provider_proto_msgTypes[33] + mi := &file_pulumi_provider_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2155,7 +2266,7 @@ func (x *ConstructRequest_PropertyDependencies) String() string { func (*ConstructRequest_PropertyDependencies) ProtoMessage() {} func (x *ConstructRequest_PropertyDependencies) ProtoReflect() protoreflect.Message { - mi := &file_pulumi_provider_proto_msgTypes[33] + mi := &file_pulumi_provider_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2190,7 +2301,7 @@ type ConstructResponse_PropertyDependencies struct { func (x *ConstructResponse_PropertyDependencies) Reset() { *x = ConstructResponse_PropertyDependencies{} if protoimpl.UnsafeEnabled { - mi := &file_pulumi_provider_proto_msgTypes[37] + mi := &file_pulumi_provider_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2203,7 +2314,7 @@ func (x *ConstructResponse_PropertyDependencies) String() string { func (*ConstructResponse_PropertyDependencies) ProtoMessage() {} func (x *ConstructResponse_PropertyDependencies) ProtoReflect() protoreflect.Message { - mi := &file_pulumi_provider_proto_msgTypes[37] + mi := &file_pulumi_provider_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2599,82 +2710,89 @@ var file_pulumi_provider_proto_rawDesc = []byte{ 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x32, 0xe9, - 0x08, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x12, 0x48, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x12, 0x1b, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, + 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0x25, + 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x44, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x70, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x32, 0xe9, 0x08, 0x0a, 0x10, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x12, 0x48, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1b, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, - 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x17, 0x2e, 0x70, - 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x3f, 0x0a, 0x0a, 0x44, 0x69, 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x16, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x66, 0x66, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, - 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x48, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x12, - 0x1b, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, + 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x75, 0x6c, + 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x17, 0x2e, 0x70, 0x75, 0x6c, 0x75, + 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, + 0x0a, 0x0a, 0x44, 0x69, 0x66, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x2e, 0x70, + 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, + 0x2e, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x48, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x06, - 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, - 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x19, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, - 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, - 0x0c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x18, 0x2e, + 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x75, 0x6c, 0x75, + 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x06, 0x49, 0x6e, 0x76, + 0x6f, 0x6b, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, + 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0c, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x75, 0x6c, + 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, + 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x30, 0x01, 0x12, 0x39, 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x16, 0x2e, 0x70, 0x75, + 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, + 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, + 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x17, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, + 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x18, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x04, + 0x44, 0x69, 0x66, 0x66, 0x12, 0x16, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, + 0x2e, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, + 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x12, 0x18, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x75, + 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x04, 0x52, 0x65, 0x61, 0x64, + 0x12, 0x16, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x61, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, + 0x69, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, + 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, - 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x39, 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x16, - 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, - 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x3c, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x17, 0x2e, 0x70, 0x75, 0x6c, - 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x39, 0x0a, 0x04, 0x44, 0x69, 0x66, 0x66, 0x12, 0x16, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, - 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x17, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x66, 0x66, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x06, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, - 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x04, 0x52, - 0x65, 0x61, 0x64, 0x12, 0x16, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, - 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x75, - 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x18, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x75, 0x6c, - 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x12, 0x18, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x12, 0x1b, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1c, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x3a, 0x0a, 0x06, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x18, + 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x22, 0x00, 0x12, 0x48, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, + 0x1b, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, + 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x06, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x50, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0d, 0x47, - 0x65, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x15, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, - 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x3b, 0x0a, - 0x06, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x12, 0x17, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, - 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x2f, - 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x2f, 0x73, 0x64, 0x6b, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x3b, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x79, 0x1a, 0x15, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x06, 0x41, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x12, 0x17, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, + 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x2f, 0x70, 0x75, 0x6c, + 0x75, 0x6d, 0x69, 0x2f, 0x73, 0x64, 0x6b, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x67, 0x6f, 0x3b, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2690,99 +2808,101 @@ func file_pulumi_provider_proto_rawDescGZIP() []byte { } var file_pulumi_provider_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_pulumi_provider_proto_msgTypes = make([]protoimpl.MessageInfo, 39) +var file_pulumi_provider_proto_msgTypes = make([]protoimpl.MessageInfo, 41) var file_pulumi_provider_proto_goTypes = []interface{}{ - (PropertyDiff_Kind)(0), // 0: pulumirpc.PropertyDiff.Kind - (DiffResponse_DiffChanges)(0), // 1: pulumirpc.DiffResponse.DiffChanges - (*GetSchemaRequest)(nil), // 2: pulumirpc.GetSchemaRequest - (*GetSchemaResponse)(nil), // 3: pulumirpc.GetSchemaResponse - (*ConfigureRequest)(nil), // 4: pulumirpc.ConfigureRequest - (*ConfigureResponse)(nil), // 5: pulumirpc.ConfigureResponse - (*ConfigureErrorMissingKeys)(nil), // 6: pulumirpc.ConfigureErrorMissingKeys - (*InvokeRequest)(nil), // 7: pulumirpc.InvokeRequest - (*InvokeResponse)(nil), // 8: pulumirpc.InvokeResponse - (*CallRequest)(nil), // 9: pulumirpc.CallRequest - (*CallResponse)(nil), // 10: pulumirpc.CallResponse - (*CheckRequest)(nil), // 11: pulumirpc.CheckRequest - (*CheckResponse)(nil), // 12: pulumirpc.CheckResponse - (*CheckFailure)(nil), // 13: pulumirpc.CheckFailure - (*DiffRequest)(nil), // 14: pulumirpc.DiffRequest - (*PropertyDiff)(nil), // 15: pulumirpc.PropertyDiff - (*DiffResponse)(nil), // 16: pulumirpc.DiffResponse - (*CreateRequest)(nil), // 17: pulumirpc.CreateRequest - (*CreateResponse)(nil), // 18: pulumirpc.CreateResponse - (*ReadRequest)(nil), // 19: pulumirpc.ReadRequest - (*ReadResponse)(nil), // 20: pulumirpc.ReadResponse - (*UpdateRequest)(nil), // 21: pulumirpc.UpdateRequest - (*UpdateResponse)(nil), // 22: pulumirpc.UpdateResponse - (*DeleteRequest)(nil), // 23: pulumirpc.DeleteRequest - (*ConstructRequest)(nil), // 24: pulumirpc.ConstructRequest - (*ConstructResponse)(nil), // 25: pulumirpc.ConstructResponse - (*ErrorResourceInitFailed)(nil), // 26: pulumirpc.ErrorResourceInitFailed - nil, // 27: pulumirpc.ConfigureRequest.VariablesEntry - (*ConfigureErrorMissingKeys_MissingKey)(nil), // 28: pulumirpc.ConfigureErrorMissingKeys.MissingKey - (*CallRequest_ArgumentDependencies)(nil), // 29: pulumirpc.CallRequest.ArgumentDependencies - nil, // 30: pulumirpc.CallRequest.ArgDependenciesEntry - nil, // 31: pulumirpc.CallRequest.ConfigEntry - (*CallResponse_ReturnDependencies)(nil), // 32: pulumirpc.CallResponse.ReturnDependencies - nil, // 33: pulumirpc.CallResponse.ReturnDependenciesEntry - nil, // 34: pulumirpc.DiffResponse.DetailedDiffEntry - (*ConstructRequest_PropertyDependencies)(nil), // 35: pulumirpc.ConstructRequest.PropertyDependencies - nil, // 36: pulumirpc.ConstructRequest.ConfigEntry - nil, // 37: pulumirpc.ConstructRequest.InputDependenciesEntry - nil, // 38: pulumirpc.ConstructRequest.ProvidersEntry - (*ConstructResponse_PropertyDependencies)(nil), // 39: pulumirpc.ConstructResponse.PropertyDependencies - nil, // 40: pulumirpc.ConstructResponse.StateDependenciesEntry - (*structpb.Struct)(nil), // 41: google.protobuf.Struct - (*emptypb.Empty)(nil), // 42: google.protobuf.Empty - (*PluginAttach)(nil), // 43: pulumirpc.PluginAttach - (*PluginInfo)(nil), // 44: pulumirpc.PluginInfo + (PropertyDiff_Kind)(0), // 0: pulumirpc.PropertyDiff.Kind + (DiffResponse_DiffChanges)(0), // 1: pulumirpc.DiffResponse.DiffChanges + (*GetSchemaRequest)(nil), // 2: pulumirpc.GetSchemaRequest + (*GetSchemaResponse)(nil), // 3: pulumirpc.GetSchemaResponse + (*ConfigureRequest)(nil), // 4: pulumirpc.ConfigureRequest + (*ConfigureResponse)(nil), // 5: pulumirpc.ConfigureResponse + (*ConfigureErrorMissingKeys)(nil), // 6: pulumirpc.ConfigureErrorMissingKeys + (*InvokeRequest)(nil), // 7: pulumirpc.InvokeRequest + (*InvokeResponse)(nil), // 8: pulumirpc.InvokeResponse + (*CallRequest)(nil), // 9: pulumirpc.CallRequest + (*CallResponse)(nil), // 10: pulumirpc.CallResponse + (*CheckRequest)(nil), // 11: pulumirpc.CheckRequest + (*CheckResponse)(nil), // 12: pulumirpc.CheckResponse + (*CheckFailure)(nil), // 13: pulumirpc.CheckFailure + (*DiffRequest)(nil), // 14: pulumirpc.DiffRequest + (*PropertyDiff)(nil), // 15: pulumirpc.PropertyDiff + (*DiffResponse)(nil), // 16: pulumirpc.DiffResponse + (*CreateRequest)(nil), // 17: pulumirpc.CreateRequest + (*CreateResponse)(nil), // 18: pulumirpc.CreateResponse + (*ReadRequest)(nil), // 19: pulumirpc.ReadRequest + (*ReadResponse)(nil), // 20: pulumirpc.ReadResponse + (*UpdateRequest)(nil), // 21: pulumirpc.UpdateRequest + (*UpdateResponse)(nil), // 22: pulumirpc.UpdateResponse + (*DeleteRequest)(nil), // 23: pulumirpc.DeleteRequest + (*ConstructRequest)(nil), // 24: pulumirpc.ConstructRequest + (*ConstructResponse)(nil), // 25: pulumirpc.ConstructResponse + (*ErrorResourceInitFailed)(nil), // 26: pulumirpc.ErrorResourceInitFailed + (*GetMappingRequest)(nil), // 27: pulumirpc.GetMappingRequest + (*GetMappingResponse)(nil), // 28: pulumirpc.GetMappingResponse + nil, // 29: pulumirpc.ConfigureRequest.VariablesEntry + (*ConfigureErrorMissingKeys_MissingKey)(nil), // 30: pulumirpc.ConfigureErrorMissingKeys.MissingKey + (*CallRequest_ArgumentDependencies)(nil), // 31: pulumirpc.CallRequest.ArgumentDependencies + nil, // 32: pulumirpc.CallRequest.ArgDependenciesEntry + nil, // 33: pulumirpc.CallRequest.ConfigEntry + (*CallResponse_ReturnDependencies)(nil), // 34: pulumirpc.CallResponse.ReturnDependencies + nil, // 35: pulumirpc.CallResponse.ReturnDependenciesEntry + nil, // 36: pulumirpc.DiffResponse.DetailedDiffEntry + (*ConstructRequest_PropertyDependencies)(nil), // 37: pulumirpc.ConstructRequest.PropertyDependencies + nil, // 38: pulumirpc.ConstructRequest.ConfigEntry + nil, // 39: pulumirpc.ConstructRequest.InputDependenciesEntry + nil, // 40: pulumirpc.ConstructRequest.ProvidersEntry + (*ConstructResponse_PropertyDependencies)(nil), // 41: pulumirpc.ConstructResponse.PropertyDependencies + nil, // 42: pulumirpc.ConstructResponse.StateDependenciesEntry + (*structpb.Struct)(nil), // 43: google.protobuf.Struct + (*emptypb.Empty)(nil), // 44: google.protobuf.Empty + (*PluginAttach)(nil), // 45: pulumirpc.PluginAttach + (*PluginInfo)(nil), // 46: pulumirpc.PluginInfo } var file_pulumi_provider_proto_depIdxs = []int32{ - 27, // 0: pulumirpc.ConfigureRequest.variables:type_name -> pulumirpc.ConfigureRequest.VariablesEntry - 41, // 1: pulumirpc.ConfigureRequest.args:type_name -> google.protobuf.Struct - 28, // 2: pulumirpc.ConfigureErrorMissingKeys.missingKeys:type_name -> pulumirpc.ConfigureErrorMissingKeys.MissingKey - 41, // 3: pulumirpc.InvokeRequest.args:type_name -> google.protobuf.Struct - 41, // 4: pulumirpc.InvokeResponse.return:type_name -> google.protobuf.Struct + 29, // 0: pulumirpc.ConfigureRequest.variables:type_name -> pulumirpc.ConfigureRequest.VariablesEntry + 43, // 1: pulumirpc.ConfigureRequest.args:type_name -> google.protobuf.Struct + 30, // 2: pulumirpc.ConfigureErrorMissingKeys.missingKeys:type_name -> pulumirpc.ConfigureErrorMissingKeys.MissingKey + 43, // 3: pulumirpc.InvokeRequest.args:type_name -> google.protobuf.Struct + 43, // 4: pulumirpc.InvokeResponse.return:type_name -> google.protobuf.Struct 13, // 5: pulumirpc.InvokeResponse.failures:type_name -> pulumirpc.CheckFailure - 41, // 6: pulumirpc.CallRequest.args:type_name -> google.protobuf.Struct - 30, // 7: pulumirpc.CallRequest.argDependencies:type_name -> pulumirpc.CallRequest.ArgDependenciesEntry - 31, // 8: pulumirpc.CallRequest.config:type_name -> pulumirpc.CallRequest.ConfigEntry - 41, // 9: pulumirpc.CallResponse.return:type_name -> google.protobuf.Struct - 33, // 10: pulumirpc.CallResponse.returnDependencies:type_name -> pulumirpc.CallResponse.ReturnDependenciesEntry + 43, // 6: pulumirpc.CallRequest.args:type_name -> google.protobuf.Struct + 32, // 7: pulumirpc.CallRequest.argDependencies:type_name -> pulumirpc.CallRequest.ArgDependenciesEntry + 33, // 8: pulumirpc.CallRequest.config:type_name -> pulumirpc.CallRequest.ConfigEntry + 43, // 9: pulumirpc.CallResponse.return:type_name -> google.protobuf.Struct + 35, // 10: pulumirpc.CallResponse.returnDependencies:type_name -> pulumirpc.CallResponse.ReturnDependenciesEntry 13, // 11: pulumirpc.CallResponse.failures:type_name -> pulumirpc.CheckFailure - 41, // 12: pulumirpc.CheckRequest.olds:type_name -> google.protobuf.Struct - 41, // 13: pulumirpc.CheckRequest.news:type_name -> google.protobuf.Struct - 41, // 14: pulumirpc.CheckResponse.inputs:type_name -> google.protobuf.Struct + 43, // 12: pulumirpc.CheckRequest.olds:type_name -> google.protobuf.Struct + 43, // 13: pulumirpc.CheckRequest.news:type_name -> google.protobuf.Struct + 43, // 14: pulumirpc.CheckResponse.inputs:type_name -> google.protobuf.Struct 13, // 15: pulumirpc.CheckResponse.failures:type_name -> pulumirpc.CheckFailure - 41, // 16: pulumirpc.DiffRequest.olds:type_name -> google.protobuf.Struct - 41, // 17: pulumirpc.DiffRequest.news:type_name -> google.protobuf.Struct + 43, // 16: pulumirpc.DiffRequest.olds:type_name -> google.protobuf.Struct + 43, // 17: pulumirpc.DiffRequest.news:type_name -> google.protobuf.Struct 0, // 18: pulumirpc.PropertyDiff.kind:type_name -> pulumirpc.PropertyDiff.Kind 1, // 19: pulumirpc.DiffResponse.changes:type_name -> pulumirpc.DiffResponse.DiffChanges - 34, // 20: pulumirpc.DiffResponse.detailedDiff:type_name -> pulumirpc.DiffResponse.DetailedDiffEntry - 41, // 21: pulumirpc.CreateRequest.properties:type_name -> google.protobuf.Struct - 41, // 22: pulumirpc.CreateResponse.properties:type_name -> google.protobuf.Struct - 41, // 23: pulumirpc.ReadRequest.properties:type_name -> google.protobuf.Struct - 41, // 24: pulumirpc.ReadRequest.inputs:type_name -> google.protobuf.Struct - 41, // 25: pulumirpc.ReadResponse.properties:type_name -> google.protobuf.Struct - 41, // 26: pulumirpc.ReadResponse.inputs:type_name -> google.protobuf.Struct - 41, // 27: pulumirpc.UpdateRequest.olds:type_name -> google.protobuf.Struct - 41, // 28: pulumirpc.UpdateRequest.news:type_name -> google.protobuf.Struct - 41, // 29: pulumirpc.UpdateResponse.properties:type_name -> google.protobuf.Struct - 41, // 30: pulumirpc.DeleteRequest.properties:type_name -> google.protobuf.Struct - 36, // 31: pulumirpc.ConstructRequest.config:type_name -> pulumirpc.ConstructRequest.ConfigEntry - 41, // 32: pulumirpc.ConstructRequest.inputs:type_name -> google.protobuf.Struct - 37, // 33: pulumirpc.ConstructRequest.inputDependencies:type_name -> pulumirpc.ConstructRequest.InputDependenciesEntry - 38, // 34: pulumirpc.ConstructRequest.providers:type_name -> pulumirpc.ConstructRequest.ProvidersEntry - 41, // 35: pulumirpc.ConstructResponse.state:type_name -> google.protobuf.Struct - 40, // 36: pulumirpc.ConstructResponse.stateDependencies:type_name -> pulumirpc.ConstructResponse.StateDependenciesEntry - 41, // 37: pulumirpc.ErrorResourceInitFailed.properties:type_name -> google.protobuf.Struct - 41, // 38: pulumirpc.ErrorResourceInitFailed.inputs:type_name -> google.protobuf.Struct - 29, // 39: pulumirpc.CallRequest.ArgDependenciesEntry.value:type_name -> pulumirpc.CallRequest.ArgumentDependencies - 32, // 40: pulumirpc.CallResponse.ReturnDependenciesEntry.value:type_name -> pulumirpc.CallResponse.ReturnDependencies + 36, // 20: pulumirpc.DiffResponse.detailedDiff:type_name -> pulumirpc.DiffResponse.DetailedDiffEntry + 43, // 21: pulumirpc.CreateRequest.properties:type_name -> google.protobuf.Struct + 43, // 22: pulumirpc.CreateResponse.properties:type_name -> google.protobuf.Struct + 43, // 23: pulumirpc.ReadRequest.properties:type_name -> google.protobuf.Struct + 43, // 24: pulumirpc.ReadRequest.inputs:type_name -> google.protobuf.Struct + 43, // 25: pulumirpc.ReadResponse.properties:type_name -> google.protobuf.Struct + 43, // 26: pulumirpc.ReadResponse.inputs:type_name -> google.protobuf.Struct + 43, // 27: pulumirpc.UpdateRequest.olds:type_name -> google.protobuf.Struct + 43, // 28: pulumirpc.UpdateRequest.news:type_name -> google.protobuf.Struct + 43, // 29: pulumirpc.UpdateResponse.properties:type_name -> google.protobuf.Struct + 43, // 30: pulumirpc.DeleteRequest.properties:type_name -> google.protobuf.Struct + 38, // 31: pulumirpc.ConstructRequest.config:type_name -> pulumirpc.ConstructRequest.ConfigEntry + 43, // 32: pulumirpc.ConstructRequest.inputs:type_name -> google.protobuf.Struct + 39, // 33: pulumirpc.ConstructRequest.inputDependencies:type_name -> pulumirpc.ConstructRequest.InputDependenciesEntry + 40, // 34: pulumirpc.ConstructRequest.providers:type_name -> pulumirpc.ConstructRequest.ProvidersEntry + 43, // 35: pulumirpc.ConstructResponse.state:type_name -> google.protobuf.Struct + 42, // 36: pulumirpc.ConstructResponse.stateDependencies:type_name -> pulumirpc.ConstructResponse.StateDependenciesEntry + 43, // 37: pulumirpc.ErrorResourceInitFailed.properties:type_name -> google.protobuf.Struct + 43, // 38: pulumirpc.ErrorResourceInitFailed.inputs:type_name -> google.protobuf.Struct + 31, // 39: pulumirpc.CallRequest.ArgDependenciesEntry.value:type_name -> pulumirpc.CallRequest.ArgumentDependencies + 34, // 40: pulumirpc.CallResponse.ReturnDependenciesEntry.value:type_name -> pulumirpc.CallResponse.ReturnDependencies 15, // 41: pulumirpc.DiffResponse.DetailedDiffEntry.value:type_name -> pulumirpc.PropertyDiff - 35, // 42: pulumirpc.ConstructRequest.InputDependenciesEntry.value:type_name -> pulumirpc.ConstructRequest.PropertyDependencies - 39, // 43: pulumirpc.ConstructResponse.StateDependenciesEntry.value:type_name -> pulumirpc.ConstructResponse.PropertyDependencies + 37, // 42: pulumirpc.ConstructRequest.InputDependenciesEntry.value:type_name -> pulumirpc.ConstructRequest.PropertyDependencies + 41, // 43: pulumirpc.ConstructResponse.StateDependenciesEntry.value:type_name -> pulumirpc.ConstructResponse.PropertyDependencies 2, // 44: pulumirpc.ResourceProvider.GetSchema:input_type -> pulumirpc.GetSchemaRequest 11, // 45: pulumirpc.ResourceProvider.CheckConfig:input_type -> pulumirpc.CheckRequest 14, // 46: pulumirpc.ResourceProvider.DiffConfig:input_type -> pulumirpc.DiffRequest @@ -2797,9 +2917,9 @@ var file_pulumi_provider_proto_depIdxs = []int32{ 21, // 55: pulumirpc.ResourceProvider.Update:input_type -> pulumirpc.UpdateRequest 23, // 56: pulumirpc.ResourceProvider.Delete:input_type -> pulumirpc.DeleteRequest 24, // 57: pulumirpc.ResourceProvider.Construct:input_type -> pulumirpc.ConstructRequest - 42, // 58: pulumirpc.ResourceProvider.Cancel:input_type -> google.protobuf.Empty - 42, // 59: pulumirpc.ResourceProvider.GetPluginInfo:input_type -> google.protobuf.Empty - 43, // 60: pulumirpc.ResourceProvider.Attach:input_type -> pulumirpc.PluginAttach + 44, // 58: pulumirpc.ResourceProvider.Cancel:input_type -> google.protobuf.Empty + 44, // 59: pulumirpc.ResourceProvider.GetPluginInfo:input_type -> google.protobuf.Empty + 45, // 60: pulumirpc.ResourceProvider.Attach:input_type -> pulumirpc.PluginAttach 3, // 61: pulumirpc.ResourceProvider.GetSchema:output_type -> pulumirpc.GetSchemaResponse 12, // 62: pulumirpc.ResourceProvider.CheckConfig:output_type -> pulumirpc.CheckResponse 16, // 63: pulumirpc.ResourceProvider.DiffConfig:output_type -> pulumirpc.DiffResponse @@ -2812,11 +2932,11 @@ var file_pulumi_provider_proto_depIdxs = []int32{ 18, // 70: pulumirpc.ResourceProvider.Create:output_type -> pulumirpc.CreateResponse 20, // 71: pulumirpc.ResourceProvider.Read:output_type -> pulumirpc.ReadResponse 22, // 72: pulumirpc.ResourceProvider.Update:output_type -> pulumirpc.UpdateResponse - 42, // 73: pulumirpc.ResourceProvider.Delete:output_type -> google.protobuf.Empty + 44, // 73: pulumirpc.ResourceProvider.Delete:output_type -> google.protobuf.Empty 25, // 74: pulumirpc.ResourceProvider.Construct:output_type -> pulumirpc.ConstructResponse - 42, // 75: pulumirpc.ResourceProvider.Cancel:output_type -> google.protobuf.Empty - 44, // 76: pulumirpc.ResourceProvider.GetPluginInfo:output_type -> pulumirpc.PluginInfo - 42, // 77: pulumirpc.ResourceProvider.Attach:output_type -> google.protobuf.Empty + 44, // 75: pulumirpc.ResourceProvider.Cancel:output_type -> google.protobuf.Empty + 46, // 76: pulumirpc.ResourceProvider.GetPluginInfo:output_type -> pulumirpc.PluginInfo + 44, // 77: pulumirpc.ResourceProvider.Attach:output_type -> google.protobuf.Empty 61, // [61:78] is the sub-list for method output_type 44, // [44:61] is the sub-list for method input_type 44, // [44:44] is the sub-list for extension type_name @@ -3131,7 +3251,31 @@ func file_pulumi_provider_proto_init() { return nil } } + file_pulumi_provider_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMappingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } file_pulumi_provider_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMappingResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pulumi_provider_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigureErrorMissingKeys_MissingKey); i { case 0: return &v.state @@ -3143,7 +3287,7 @@ func file_pulumi_provider_proto_init() { return nil } } - file_pulumi_provider_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_pulumi_provider_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CallRequest_ArgumentDependencies); i { case 0: return &v.state @@ -3155,7 +3299,7 @@ func file_pulumi_provider_proto_init() { return nil } } - file_pulumi_provider_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_pulumi_provider_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CallResponse_ReturnDependencies); i { case 0: return &v.state @@ -3167,7 +3311,7 @@ func file_pulumi_provider_proto_init() { return nil } } - file_pulumi_provider_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_pulumi_provider_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConstructRequest_PropertyDependencies); i { case 0: return &v.state @@ -3179,7 +3323,7 @@ func file_pulumi_provider_proto_init() { return nil } } - file_pulumi_provider_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_pulumi_provider_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConstructResponse_PropertyDependencies); i { case 0: return &v.state @@ -3198,7 +3342,7 @@ func file_pulumi_provider_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pulumi_provider_proto_rawDesc, NumEnums: 2, - NumMessages: 39, + NumMessages: 41, NumExtensions: 0, NumServices: 1, }, diff --git a/sdk/python/lib/pulumi/runtime/proto/provider_pb2.py b/sdk/python/lib/pulumi/runtime/proto/provider_pb2.py index 3f7ce819820d..b2b735dac136 100644 --- a/sdk/python/lib/pulumi/runtime/proto/provider_pb2.py +++ b/sdk/python/lib/pulumi/runtime/proto/provider_pb2.py @@ -16,7 +16,7 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15pulumi/provider.proto\x12\tpulumirpc\x1a\x13pulumi/plugin.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\"#\n\x10GetSchemaRequest\x12\x0f\n\x07version\x18\x01 \x01(\x05\"#\n\x11GetSchemaResponse\x12\x0e\n\x06schema\x18\x01 \x01(\t\"\xda\x01\n\x10\x43onfigureRequest\x12=\n\tvariables\x18\x01 \x03(\x0b\x32*.pulumirpc.ConfigureRequest.VariablesEntry\x12%\n\x04\x61rgs\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x15\n\racceptSecrets\x18\x03 \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ptResources\x18\x04 \x01(\x08\x1a\x30\n\x0eVariablesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"s\n\x11\x43onfigureResponse\x12\x15\n\racceptSecrets\x18\x01 \x01(\x08\x12\x17\n\x0fsupportsPreview\x18\x02 \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ptResources\x18\x03 \x01(\x08\x12\x15\n\racceptOutputs\x18\x04 \x01(\x08\"\x92\x01\n\x19\x43onfigureErrorMissingKeys\x12\x44\n\x0bmissingKeys\x18\x01 \x03(\x0b\x32/.pulumirpc.ConfigureErrorMissingKeys.MissingKey\x1a/\n\nMissingKey\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"\x80\x01\n\rInvokeRequest\x12\x0b\n\x03tok\x18\x01 \x01(\t\x12%\n\x04\x61rgs\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructJ\x04\x08\x03\x10\x07R\x08providerR\x07versionR\x0f\x61\x63\x63\x65ptResourcesR\x11pluginDownloadURL\"d\n\x0eInvokeResponse\x12\'\n\x06return\x18\x01 \x01(\x0b\x32\x17.google.protobuf.Struct\x12)\n\x08\x66\x61ilures\x18\x02 \x03(\x0b\x32\x17.pulumirpc.CheckFailure\"\xbe\x04\n\x0b\x43\x61llRequest\x12\x0b\n\x03tok\x18\x01 \x01(\t\x12%\n\x04\x61rgs\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x44\n\x0f\x61rgDependencies\x18\x03 \x03(\x0b\x32+.pulumirpc.CallRequest.ArgDependenciesEntry\x12\x10\n\x08provider\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\x12\x19\n\x11pluginDownloadURL\x18\r \x01(\t\x12\x0f\n\x07project\x18\x06 \x01(\t\x12\r\n\x05stack\x18\x07 \x01(\t\x12\x32\n\x06\x63onfig\x18\x08 \x03(\x0b\x32\".pulumirpc.CallRequest.ConfigEntry\x12\x18\n\x10\x63onfigSecretKeys\x18\t \x03(\t\x12\x0e\n\x06\x64ryRun\x18\n \x01(\x08\x12\x10\n\x08parallel\x18\x0b \x01(\x05\x12\x17\n\x0fmonitorEndpoint\x18\x0c \x01(\t\x12\x14\n\x0corganization\x18\x0e \x01(\t\x1a$\n\x14\x41rgumentDependencies\x12\x0c\n\x04urns\x18\x01 \x03(\t\x1a\x63\n\x14\x41rgDependenciesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.pulumirpc.CallRequest.ArgumentDependencies:\x02\x38\x01\x1a-\n\x0b\x43onfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xba\x02\n\x0c\x43\x61llResponse\x12\'\n\x06return\x18\x01 \x01(\x0b\x32\x17.google.protobuf.Struct\x12K\n\x12returnDependencies\x18\x02 \x03(\x0b\x32/.pulumirpc.CallResponse.ReturnDependenciesEntry\x12)\n\x08\x66\x61ilures\x18\x03 \x03(\x0b\x32\x17.pulumirpc.CheckFailure\x1a\"\n\x12ReturnDependencies\x12\x0c\n\x04urns\x18\x01 \x03(\t\x1a\x65\n\x17ReturnDependenciesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32*.pulumirpc.CallResponse.ReturnDependencies:\x02\x38\x01\"\x93\x01\n\x0c\x43heckRequest\x12\x0b\n\x03urn\x18\x01 \x01(\t\x12%\n\x04olds\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12%\n\x04news\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x12\n\nrandomSeed\x18\x05 \x01(\x0cJ\x04\x08\x04\x10\x05R\x0esequenceNumber\"c\n\rCheckResponse\x12\'\n\x06inputs\x18\x01 \x01(\x0b\x32\x17.google.protobuf.Struct\x12)\n\x08\x66\x61ilures\x18\x02 \x03(\x0b\x32\x17.pulumirpc.CheckFailure\"0\n\x0c\x43heckFailure\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\"\x8b\x01\n\x0b\x44iffRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03urn\x18\x02 \x01(\t\x12%\n\x04olds\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12%\n\x04news\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x15\n\rignoreChanges\x18\x05 \x03(\t\"\xaf\x01\n\x0cPropertyDiff\x12*\n\x04kind\x18\x01 \x01(\x0e\x32\x1c.pulumirpc.PropertyDiff.Kind\x12\x11\n\tinputDiff\x18\x02 \x01(\x08\"`\n\x04Kind\x12\x07\n\x03\x41\x44\x44\x10\x00\x12\x0f\n\x0b\x41\x44\x44_REPLACE\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\x12\x12\n\x0e\x44\x45LETE_REPLACE\x10\x03\x12\n\n\x06UPDATE\x10\x04\x12\x12\n\x0eUPDATE_REPLACE\x10\x05\"\xfa\x02\n\x0c\x44iffResponse\x12\x10\n\x08replaces\x18\x01 \x03(\t\x12\x0f\n\x07stables\x18\x02 \x03(\t\x12\x1b\n\x13\x64\x65leteBeforeReplace\x18\x03 \x01(\x08\x12\x34\n\x07\x63hanges\x18\x04 \x01(\x0e\x32#.pulumirpc.DiffResponse.DiffChanges\x12\r\n\x05\x64iffs\x18\x05 \x03(\t\x12?\n\x0c\x64\x65tailedDiff\x18\x06 \x03(\x0b\x32).pulumirpc.DiffResponse.DetailedDiffEntry\x12\x17\n\x0fhasDetailedDiff\x18\x07 \x01(\x08\x1aL\n\x11\x44\x65tailedDiffEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.pulumirpc.PropertyDiff:\x02\x38\x01\"=\n\x0b\x44iffChanges\x12\x10\n\x0c\x44IFF_UNKNOWN\x10\x00\x12\r\n\tDIFF_NONE\x10\x01\x12\r\n\tDIFF_SOME\x10\x02\"k\n\rCreateRequest\x12\x0b\n\x03urn\x18\x01 \x01(\t\x12+\n\nproperties\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0f\n\x07timeout\x18\x03 \x01(\x01\x12\x0f\n\x07preview\x18\x04 \x01(\x08\"I\n\x0e\x43reateResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12+\n\nproperties\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"|\n\x0bReadRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03urn\x18\x02 \x01(\t\x12+\n\nproperties\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\'\n\x06inputs\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\"p\n\x0cReadResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12+\n\nproperties\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\'\n\x06inputs\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xaf\x01\n\rUpdateRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03urn\x18\x02 \x01(\t\x12%\n\x04olds\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12%\n\x04news\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0f\n\x07timeout\x18\x05 \x01(\x01\x12\x15\n\rignoreChanges\x18\x06 \x03(\t\x12\x0f\n\x07preview\x18\x07 \x01(\x08\"=\n\x0eUpdateResponse\x12+\n\nproperties\x18\x01 \x01(\x0b\x32\x17.google.protobuf.Struct\"f\n\rDeleteRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03urn\x18\x02 \x01(\t\x12+\n\nproperties\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0f\n\x07timeout\x18\x04 \x01(\x01\"\xe4\x05\n\x10\x43onstructRequest\x12\x0f\n\x07project\x18\x01 \x01(\t\x12\r\n\x05stack\x18\x02 \x01(\t\x12\x37\n\x06\x63onfig\x18\x03 \x03(\x0b\x32\'.pulumirpc.ConstructRequest.ConfigEntry\x12\x0e\n\x06\x64ryRun\x18\x04 \x01(\x08\x12\x10\n\x08parallel\x18\x05 \x01(\x05\x12\x17\n\x0fmonitorEndpoint\x18\x06 \x01(\t\x12\x0c\n\x04type\x18\x07 \x01(\t\x12\x0c\n\x04name\x18\x08 \x01(\t\x12\x0e\n\x06parent\x18\t \x01(\t\x12\'\n\x06inputs\x18\n \x01(\x0b\x32\x17.google.protobuf.Struct\x12M\n\x11inputDependencies\x18\x0b \x03(\x0b\x32\x32.pulumirpc.ConstructRequest.InputDependenciesEntry\x12\x0f\n\x07protect\x18\x0c \x01(\x08\x12=\n\tproviders\x18\r \x03(\x0b\x32*.pulumirpc.ConstructRequest.ProvidersEntry\x12\x0f\n\x07\x61liases\x18\x0e \x03(\t\x12\x14\n\x0c\x64\x65pendencies\x18\x0f \x03(\t\x12\x18\n\x10\x63onfigSecretKeys\x18\x10 \x03(\t\x12\x14\n\x0corganization\x18\x11 \x01(\t\x1a$\n\x14PropertyDependencies\x12\x0c\n\x04urns\x18\x01 \x03(\t\x1a-\n\x0b\x43onfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1aj\n\x16InputDependenciesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12?\n\x05value\x18\x02 \x01(\x0b\x32\x30.pulumirpc.ConstructRequest.PropertyDependencies:\x02\x38\x01\x1a\x30\n\x0eProvidersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xab\x02\n\x11\x43onstructResponse\x12\x0b\n\x03urn\x18\x01 \x01(\t\x12&\n\x05state\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12N\n\x11stateDependencies\x18\x03 \x03(\x0b\x32\x33.pulumirpc.ConstructResponse.StateDependenciesEntry\x1a$\n\x14PropertyDependencies\x12\x0c\n\x04urns\x18\x01 \x03(\t\x1ak\n\x16StateDependenciesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12@\n\x05value\x18\x02 \x01(\x0b\x32\x31.pulumirpc.ConstructResponse.PropertyDependencies:\x02\x38\x01\"\x8c\x01\n\x17\x45rrorResourceInitFailed\x12\n\n\x02id\x18\x01 \x01(\t\x12+\n\nproperties\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0f\n\x07reasons\x18\x03 \x03(\t\x12\'\n\x06inputs\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct2\xe9\x08\n\x10ResourceProvider\x12H\n\tGetSchema\x12\x1b.pulumirpc.GetSchemaRequest\x1a\x1c.pulumirpc.GetSchemaResponse\"\x00\x12\x42\n\x0b\x43heckConfig\x12\x17.pulumirpc.CheckRequest\x1a\x18.pulumirpc.CheckResponse\"\x00\x12?\n\nDiffConfig\x12\x16.pulumirpc.DiffRequest\x1a\x17.pulumirpc.DiffResponse\"\x00\x12H\n\tConfigure\x12\x1b.pulumirpc.ConfigureRequest\x1a\x1c.pulumirpc.ConfigureResponse\"\x00\x12?\n\x06Invoke\x12\x18.pulumirpc.InvokeRequest\x1a\x19.pulumirpc.InvokeResponse\"\x00\x12G\n\x0cStreamInvoke\x12\x18.pulumirpc.InvokeRequest\x1a\x19.pulumirpc.InvokeResponse\"\x00\x30\x01\x12\x39\n\x04\x43\x61ll\x12\x16.pulumirpc.CallRequest\x1a\x17.pulumirpc.CallResponse\"\x00\x12<\n\x05\x43heck\x12\x17.pulumirpc.CheckRequest\x1a\x18.pulumirpc.CheckResponse\"\x00\x12\x39\n\x04\x44iff\x12\x16.pulumirpc.DiffRequest\x1a\x17.pulumirpc.DiffResponse\"\x00\x12?\n\x06\x43reate\x12\x18.pulumirpc.CreateRequest\x1a\x19.pulumirpc.CreateResponse\"\x00\x12\x39\n\x04Read\x12\x16.pulumirpc.ReadRequest\x1a\x17.pulumirpc.ReadResponse\"\x00\x12?\n\x06Update\x12\x18.pulumirpc.UpdateRequest\x1a\x19.pulumirpc.UpdateResponse\"\x00\x12<\n\x06\x44\x65lete\x12\x18.pulumirpc.DeleteRequest\x1a\x16.google.protobuf.Empty\"\x00\x12H\n\tConstruct\x12\x1b.pulumirpc.ConstructRequest\x1a\x1c.pulumirpc.ConstructResponse\"\x00\x12:\n\x06\x43\x61ncel\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x12@\n\rGetPluginInfo\x12\x16.google.protobuf.Empty\x1a\x15.pulumirpc.PluginInfo\"\x00\x12;\n\x06\x41ttach\x12\x17.pulumirpc.PluginAttach\x1a\x16.google.protobuf.Empty\"\x00\x42\x34Z2github.com/pulumi/pulumi/sdk/v3/proto/go;pulumirpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15pulumi/provider.proto\x12\tpulumirpc\x1a\x13pulumi/plugin.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\"#\n\x10GetSchemaRequest\x12\x0f\n\x07version\x18\x01 \x01(\x05\"#\n\x11GetSchemaResponse\x12\x0e\n\x06schema\x18\x01 \x01(\t\"\xda\x01\n\x10\x43onfigureRequest\x12=\n\tvariables\x18\x01 \x03(\x0b\x32*.pulumirpc.ConfigureRequest.VariablesEntry\x12%\n\x04\x61rgs\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x15\n\racceptSecrets\x18\x03 \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ptResources\x18\x04 \x01(\x08\x1a\x30\n\x0eVariablesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"s\n\x11\x43onfigureResponse\x12\x15\n\racceptSecrets\x18\x01 \x01(\x08\x12\x17\n\x0fsupportsPreview\x18\x02 \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ptResources\x18\x03 \x01(\x08\x12\x15\n\racceptOutputs\x18\x04 \x01(\x08\"\x92\x01\n\x19\x43onfigureErrorMissingKeys\x12\x44\n\x0bmissingKeys\x18\x01 \x03(\x0b\x32/.pulumirpc.ConfigureErrorMissingKeys.MissingKey\x1a/\n\nMissingKey\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"\x80\x01\n\rInvokeRequest\x12\x0b\n\x03tok\x18\x01 \x01(\t\x12%\n\x04\x61rgs\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructJ\x04\x08\x03\x10\x07R\x08providerR\x07versionR\x0f\x61\x63\x63\x65ptResourcesR\x11pluginDownloadURL\"d\n\x0eInvokeResponse\x12\'\n\x06return\x18\x01 \x01(\x0b\x32\x17.google.protobuf.Struct\x12)\n\x08\x66\x61ilures\x18\x02 \x03(\x0b\x32\x17.pulumirpc.CheckFailure\"\xbe\x04\n\x0b\x43\x61llRequest\x12\x0b\n\x03tok\x18\x01 \x01(\t\x12%\n\x04\x61rgs\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x44\n\x0f\x61rgDependencies\x18\x03 \x03(\x0b\x32+.pulumirpc.CallRequest.ArgDependenciesEntry\x12\x10\n\x08provider\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\x12\x19\n\x11pluginDownloadURL\x18\r \x01(\t\x12\x0f\n\x07project\x18\x06 \x01(\t\x12\r\n\x05stack\x18\x07 \x01(\t\x12\x32\n\x06\x63onfig\x18\x08 \x03(\x0b\x32\".pulumirpc.CallRequest.ConfigEntry\x12\x18\n\x10\x63onfigSecretKeys\x18\t \x03(\t\x12\x0e\n\x06\x64ryRun\x18\n \x01(\x08\x12\x10\n\x08parallel\x18\x0b \x01(\x05\x12\x17\n\x0fmonitorEndpoint\x18\x0c \x01(\t\x12\x14\n\x0corganization\x18\x0e \x01(\t\x1a$\n\x14\x41rgumentDependencies\x12\x0c\n\x04urns\x18\x01 \x03(\t\x1a\x63\n\x14\x41rgDependenciesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.pulumirpc.CallRequest.ArgumentDependencies:\x02\x38\x01\x1a-\n\x0b\x43onfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xba\x02\n\x0c\x43\x61llResponse\x12\'\n\x06return\x18\x01 \x01(\x0b\x32\x17.google.protobuf.Struct\x12K\n\x12returnDependencies\x18\x02 \x03(\x0b\x32/.pulumirpc.CallResponse.ReturnDependenciesEntry\x12)\n\x08\x66\x61ilures\x18\x03 \x03(\x0b\x32\x17.pulumirpc.CheckFailure\x1a\"\n\x12ReturnDependencies\x12\x0c\n\x04urns\x18\x01 \x03(\t\x1a\x65\n\x17ReturnDependenciesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32*.pulumirpc.CallResponse.ReturnDependencies:\x02\x38\x01\"\x93\x01\n\x0c\x43heckRequest\x12\x0b\n\x03urn\x18\x01 \x01(\t\x12%\n\x04olds\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12%\n\x04news\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x12\n\nrandomSeed\x18\x05 \x01(\x0cJ\x04\x08\x04\x10\x05R\x0esequenceNumber\"c\n\rCheckResponse\x12\'\n\x06inputs\x18\x01 \x01(\x0b\x32\x17.google.protobuf.Struct\x12)\n\x08\x66\x61ilures\x18\x02 \x03(\x0b\x32\x17.pulumirpc.CheckFailure\"0\n\x0c\x43heckFailure\x12\x10\n\x08property\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\"\x8b\x01\n\x0b\x44iffRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03urn\x18\x02 \x01(\t\x12%\n\x04olds\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12%\n\x04news\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x15\n\rignoreChanges\x18\x05 \x03(\t\"\xaf\x01\n\x0cPropertyDiff\x12*\n\x04kind\x18\x01 \x01(\x0e\x32\x1c.pulumirpc.PropertyDiff.Kind\x12\x11\n\tinputDiff\x18\x02 \x01(\x08\"`\n\x04Kind\x12\x07\n\x03\x41\x44\x44\x10\x00\x12\x0f\n\x0b\x41\x44\x44_REPLACE\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\x12\x12\n\x0e\x44\x45LETE_REPLACE\x10\x03\x12\n\n\x06UPDATE\x10\x04\x12\x12\n\x0eUPDATE_REPLACE\x10\x05\"\xfa\x02\n\x0c\x44iffResponse\x12\x10\n\x08replaces\x18\x01 \x03(\t\x12\x0f\n\x07stables\x18\x02 \x03(\t\x12\x1b\n\x13\x64\x65leteBeforeReplace\x18\x03 \x01(\x08\x12\x34\n\x07\x63hanges\x18\x04 \x01(\x0e\x32#.pulumirpc.DiffResponse.DiffChanges\x12\r\n\x05\x64iffs\x18\x05 \x03(\t\x12?\n\x0c\x64\x65tailedDiff\x18\x06 \x03(\x0b\x32).pulumirpc.DiffResponse.DetailedDiffEntry\x12\x17\n\x0fhasDetailedDiff\x18\x07 \x01(\x08\x1aL\n\x11\x44\x65tailedDiffEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.pulumirpc.PropertyDiff:\x02\x38\x01\"=\n\x0b\x44iffChanges\x12\x10\n\x0c\x44IFF_UNKNOWN\x10\x00\x12\r\n\tDIFF_NONE\x10\x01\x12\r\n\tDIFF_SOME\x10\x02\"k\n\rCreateRequest\x12\x0b\n\x03urn\x18\x01 \x01(\t\x12+\n\nproperties\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0f\n\x07timeout\x18\x03 \x01(\x01\x12\x0f\n\x07preview\x18\x04 \x01(\x08\"I\n\x0e\x43reateResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12+\n\nproperties\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\"|\n\x0bReadRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03urn\x18\x02 \x01(\t\x12+\n\nproperties\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\'\n\x06inputs\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\"p\n\x0cReadResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12+\n\nproperties\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\'\n\x06inputs\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xaf\x01\n\rUpdateRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03urn\x18\x02 \x01(\t\x12%\n\x04olds\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12%\n\x04news\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0f\n\x07timeout\x18\x05 \x01(\x01\x12\x15\n\rignoreChanges\x18\x06 \x03(\t\x12\x0f\n\x07preview\x18\x07 \x01(\x08\"=\n\x0eUpdateResponse\x12+\n\nproperties\x18\x01 \x01(\x0b\x32\x17.google.protobuf.Struct\"f\n\rDeleteRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0b\n\x03urn\x18\x02 \x01(\t\x12+\n\nproperties\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0f\n\x07timeout\x18\x04 \x01(\x01\"\xe4\x05\n\x10\x43onstructRequest\x12\x0f\n\x07project\x18\x01 \x01(\t\x12\r\n\x05stack\x18\x02 \x01(\t\x12\x37\n\x06\x63onfig\x18\x03 \x03(\x0b\x32\'.pulumirpc.ConstructRequest.ConfigEntry\x12\x0e\n\x06\x64ryRun\x18\x04 \x01(\x08\x12\x10\n\x08parallel\x18\x05 \x01(\x05\x12\x17\n\x0fmonitorEndpoint\x18\x06 \x01(\t\x12\x0c\n\x04type\x18\x07 \x01(\t\x12\x0c\n\x04name\x18\x08 \x01(\t\x12\x0e\n\x06parent\x18\t \x01(\t\x12\'\n\x06inputs\x18\n \x01(\x0b\x32\x17.google.protobuf.Struct\x12M\n\x11inputDependencies\x18\x0b \x03(\x0b\x32\x32.pulumirpc.ConstructRequest.InputDependenciesEntry\x12\x0f\n\x07protect\x18\x0c \x01(\x08\x12=\n\tproviders\x18\r \x03(\x0b\x32*.pulumirpc.ConstructRequest.ProvidersEntry\x12\x0f\n\x07\x61liases\x18\x0e \x03(\t\x12\x14\n\x0c\x64\x65pendencies\x18\x0f \x03(\t\x12\x18\n\x10\x63onfigSecretKeys\x18\x10 \x03(\t\x12\x14\n\x0corganization\x18\x11 \x01(\t\x1a$\n\x14PropertyDependencies\x12\x0c\n\x04urns\x18\x01 \x03(\t\x1a-\n\x0b\x43onfigEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1aj\n\x16InputDependenciesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12?\n\x05value\x18\x02 \x01(\x0b\x32\x30.pulumirpc.ConstructRequest.PropertyDependencies:\x02\x38\x01\x1a\x30\n\x0eProvidersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xab\x02\n\x11\x43onstructResponse\x12\x0b\n\x03urn\x18\x01 \x01(\t\x12&\n\x05state\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12N\n\x11stateDependencies\x18\x03 \x03(\x0b\x32\x33.pulumirpc.ConstructResponse.StateDependenciesEntry\x1a$\n\x14PropertyDependencies\x12\x0c\n\x04urns\x18\x01 \x03(\t\x1ak\n\x16StateDependenciesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12@\n\x05value\x18\x02 \x01(\x0b\x32\x31.pulumirpc.ConstructResponse.PropertyDependencies:\x02\x38\x01\"\x8c\x01\n\x17\x45rrorResourceInitFailed\x12\n\n\x02id\x18\x01 \x01(\t\x12+\n\nproperties\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0f\n\x07reasons\x18\x03 \x03(\t\x12\'\n\x06inputs\x18\x04 \x01(\x0b\x32\x17.google.protobuf.Struct\" \n\x11GetMappingRequest\x12\x0b\n\x03key\x18\x01 \x01(\t\"4\n\x12GetMappingResponse\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x32\xe9\x08\n\x10ResourceProvider\x12H\n\tGetSchema\x12\x1b.pulumirpc.GetSchemaRequest\x1a\x1c.pulumirpc.GetSchemaResponse\"\x00\x12\x42\n\x0b\x43heckConfig\x12\x17.pulumirpc.CheckRequest\x1a\x18.pulumirpc.CheckResponse\"\x00\x12?\n\nDiffConfig\x12\x16.pulumirpc.DiffRequest\x1a\x17.pulumirpc.DiffResponse\"\x00\x12H\n\tConfigure\x12\x1b.pulumirpc.ConfigureRequest\x1a\x1c.pulumirpc.ConfigureResponse\"\x00\x12?\n\x06Invoke\x12\x18.pulumirpc.InvokeRequest\x1a\x19.pulumirpc.InvokeResponse\"\x00\x12G\n\x0cStreamInvoke\x12\x18.pulumirpc.InvokeRequest\x1a\x19.pulumirpc.InvokeResponse\"\x00\x30\x01\x12\x39\n\x04\x43\x61ll\x12\x16.pulumirpc.CallRequest\x1a\x17.pulumirpc.CallResponse\"\x00\x12<\n\x05\x43heck\x12\x17.pulumirpc.CheckRequest\x1a\x18.pulumirpc.CheckResponse\"\x00\x12\x39\n\x04\x44iff\x12\x16.pulumirpc.DiffRequest\x1a\x17.pulumirpc.DiffResponse\"\x00\x12?\n\x06\x43reate\x12\x18.pulumirpc.CreateRequest\x1a\x19.pulumirpc.CreateResponse\"\x00\x12\x39\n\x04Read\x12\x16.pulumirpc.ReadRequest\x1a\x17.pulumirpc.ReadResponse\"\x00\x12?\n\x06Update\x12\x18.pulumirpc.UpdateRequest\x1a\x19.pulumirpc.UpdateResponse\"\x00\x12<\n\x06\x44\x65lete\x12\x18.pulumirpc.DeleteRequest\x1a\x16.google.protobuf.Empty\"\x00\x12H\n\tConstruct\x12\x1b.pulumirpc.ConstructRequest\x1a\x1c.pulumirpc.ConstructResponse\"\x00\x12:\n\x06\x43\x61ncel\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"\x00\x12@\n\rGetPluginInfo\x12\x16.google.protobuf.Empty\x1a\x15.pulumirpc.PluginInfo\"\x00\x12;\n\x06\x41ttach\x12\x17.pulumirpc.PluginAttach\x1a\x16.google.protobuf.Empty\"\x00\x42\x34Z2github.com/pulumi/pulumi/sdk/v3/proto/go;pulumirpcb\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pulumi.provider_pb2', globals()) @@ -124,6 +124,10 @@ _CONSTRUCTRESPONSE_STATEDEPENDENCIESENTRY._serialized_end=4618 _ERRORRESOURCEINITFAILED._serialized_start=4621 _ERRORRESOURCEINITFAILED._serialized_end=4761 - _RESOURCEPROVIDER._serialized_start=4764 - _RESOURCEPROVIDER._serialized_end=5893 + _GETMAPPINGREQUEST._serialized_start=4763 + _GETMAPPINGREQUEST._serialized_end=4795 + _GETMAPPINGRESPONSE._serialized_start=4797 + _GETMAPPINGRESPONSE._serialized_end=4849 + _RESOURCEPROVIDER._serialized_start=4852 + _RESOURCEPROVIDER._serialized_end=5981 # @@protoc_insertion_point(module_scope) diff --git a/sdk/python/lib/pulumi/runtime/proto/provider_pb2.pyi b/sdk/python/lib/pulumi/runtime/proto/provider_pb2.pyi index d49db4d3f355..f5a0502ded9c 100644 --- a/sdk/python/lib/pulumi/runtime/proto/provider_pb2.pyi +++ b/sdk/python/lib/pulumi/runtime/proto/provider_pb2.pyi @@ -1135,3 +1135,49 @@ class ErrorResourceInitFailed(google.protobuf.message.Message): def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "inputs", b"inputs", "properties", b"properties", "reasons", b"reasons"]) -> None: ... global___ErrorResourceInitFailed = ErrorResourceInitFailed + +@typing_extensions.final +class GetMappingRequest(google.protobuf.message.Message): + """GetMappingRequest allows providers to return ecosystem specific information to allow the provider to be + converted from a source markup to Pulumi. It's expected that provider bridges that target a given ecosystem + (e.g. Terraform, Kubernetes) would also publish a conversion plugin to convert markup from that ecosystem + to Pulumi, using the bridged providers. + """ + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + key: builtins.str + """the conversion key for the mapping being requested.""" + def __init__( + self, + *, + key: builtins.str = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["key", b"key"]) -> None: ... + +global___GetMappingRequest = GetMappingRequest + +@typing_extensions.final +class GetMappingResponse(google.protobuf.message.Message): + """GetMappingResponse returns convert plugin specific data for this provider. This will normally be human + readable JSON, but the engine doesn't mandate any form. + """ + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PROVIDER_FIELD_NUMBER: builtins.int + DATA_FIELD_NUMBER: builtins.int + provider: builtins.str + """the provider key this is mapping for. For example the Pulumi provider "terraform-template" would return "template" for this.""" + data: builtins.bytes + """the conversion plugin specific data.""" + def __init__( + self, + *, + provider: builtins.str = ..., + data: builtins.bytes = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["data", b"data", "provider", b"provider"]) -> None: ... + +global___GetMappingResponse = GetMappingResponse