// Copyright 2016-2018, 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.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.28.1
// 	protoc        v3.20.1
// source: pulumi/provider.proto

package pulumirpc

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	structpb "google.golang.org/protobuf/types/known/structpb"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// The mode that controls how the provider handles the proposed name. If not specified, defaults to `PROPOSE`.
// - `PROPOSE`: The provider may use the proposed name as a suggestion but is free to modify it.
// - `ENFORCE`: The provider must use exactly the proposed name or return an error.
// - `DISABLE`: The provider should disable automatic naming and return an error if no explicit name
//   is provided by user's program.
type CheckRequest_AutonamingOptions_Mode int32

const (
	CheckRequest_AutonamingOptions_PROPOSE CheckRequest_AutonamingOptions_Mode = 0
	CheckRequest_AutonamingOptions_ENFORCE CheckRequest_AutonamingOptions_Mode = 1
	CheckRequest_AutonamingOptions_DISABLE CheckRequest_AutonamingOptions_Mode = 2
)

// Enum value maps for CheckRequest_AutonamingOptions_Mode.
var (
	CheckRequest_AutonamingOptions_Mode_name = map[int32]string{
		0: "PROPOSE",
		1: "ENFORCE",
		2: "DISABLE",
	}
	CheckRequest_AutonamingOptions_Mode_value = map[string]int32{
		"PROPOSE": 0,
		"ENFORCE": 1,
		"DISABLE": 2,
	}
)

func (x CheckRequest_AutonamingOptions_Mode) Enum() *CheckRequest_AutonamingOptions_Mode {
	p := new(CheckRequest_AutonamingOptions_Mode)
	*p = x
	return p
}

func (x CheckRequest_AutonamingOptions_Mode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (CheckRequest_AutonamingOptions_Mode) Descriptor() protoreflect.EnumDescriptor {
	return file_pulumi_provider_proto_enumTypes[0].Descriptor()
}

func (CheckRequest_AutonamingOptions_Mode) Type() protoreflect.EnumType {
	return &file_pulumi_provider_proto_enumTypes[0]
}

func (x CheckRequest_AutonamingOptions_Mode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use CheckRequest_AutonamingOptions_Mode.Descriptor instead.
func (CheckRequest_AutonamingOptions_Mode) EnumDescriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{13, 0, 0}
}

// The type of property diff kinds.
type PropertyDiff_Kind int32

const (
	// This property was added.
	PropertyDiff_ADD PropertyDiff_Kind = 0
	// This property was added, and this change requires a replace.
	PropertyDiff_ADD_REPLACE PropertyDiff_Kind = 1
	// This property was removed.
	PropertyDiff_DELETE PropertyDiff_Kind = 2
	// This property was removed, and this change requires a replace.
	PropertyDiff_DELETE_REPLACE PropertyDiff_Kind = 3
	// This property's value was changed.
	PropertyDiff_UPDATE PropertyDiff_Kind = 4
	// This property's value was changed, and this change requires a replace.
	PropertyDiff_UPDATE_REPLACE PropertyDiff_Kind = 5
)

// Enum value maps for PropertyDiff_Kind.
var (
	PropertyDiff_Kind_name = map[int32]string{
		0: "ADD",
		1: "ADD_REPLACE",
		2: "DELETE",
		3: "DELETE_REPLACE",
		4: "UPDATE",
		5: "UPDATE_REPLACE",
	}
	PropertyDiff_Kind_value = map[string]int32{
		"ADD":            0,
		"ADD_REPLACE":    1,
		"DELETE":         2,
		"DELETE_REPLACE": 3,
		"UPDATE":         4,
		"UPDATE_REPLACE": 5,
	}
)

func (x PropertyDiff_Kind) Enum() *PropertyDiff_Kind {
	p := new(PropertyDiff_Kind)
	*p = x
	return p
}

func (x PropertyDiff_Kind) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PropertyDiff_Kind) Descriptor() protoreflect.EnumDescriptor {
	return file_pulumi_provider_proto_enumTypes[1].Descriptor()
}

func (PropertyDiff_Kind) Type() protoreflect.EnumType {
	return &file_pulumi_provider_proto_enumTypes[1]
}

func (x PropertyDiff_Kind) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PropertyDiff_Kind.Descriptor instead.
func (PropertyDiff_Kind) EnumDescriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{17, 0}
}

// The type of high-level diff results.
type DiffResponse_DiffChanges int32

const (
	// A diff was performed but it is unknown whether there are changes or not. This exists to support legacy
	// behaviour and should be generally avoided wherever possible.
	DiffResponse_DIFF_UNKNOWN DiffResponse_DiffChanges = 0
	// A diff was performed and there were no changes. An update is not required.
	DiffResponse_DIFF_NONE DiffResponse_DiffChanges = 1
	// A diff was performed, and changes were detected that require an update or replacement.
	DiffResponse_DIFF_SOME DiffResponse_DiffChanges = 2
)

// Enum value maps for DiffResponse_DiffChanges.
var (
	DiffResponse_DiffChanges_name = map[int32]string{
		0: "DIFF_UNKNOWN",
		1: "DIFF_NONE",
		2: "DIFF_SOME",
	}
	DiffResponse_DiffChanges_value = map[string]int32{
		"DIFF_UNKNOWN": 0,
		"DIFF_NONE":    1,
		"DIFF_SOME":    2,
	}
)

func (x DiffResponse_DiffChanges) Enum() *DiffResponse_DiffChanges {
	p := new(DiffResponse_DiffChanges)
	*p = x
	return p
}

func (x DiffResponse_DiffChanges) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (DiffResponse_DiffChanges) Descriptor() protoreflect.EnumDescriptor {
	return file_pulumi_provider_proto_enumTypes[2].Descriptor()
}

func (DiffResponse_DiffChanges) Type() protoreflect.EnumType {
	return &file_pulumi_provider_proto_enumTypes[2]
}

func (x DiffResponse_DiffChanges) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use DiffResponse_DiffChanges.Descriptor instead.
func (DiffResponse_DiffChanges) EnumDescriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{18, 0}
}

// `ProviderHandshakeRequest` is the type of requests sent as part of a [](pulumirpc.ResourceProvider.Handshake) call.
type ProviderHandshakeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The gRPC address of the engine handshaking with the provider. At a minimum, this address will expose an instance
	// of the [](pulumirpc.Engine) service.
	EngineAddress string `protobuf:"bytes,1,opt,name=engine_address,json=engineAddress,proto3" json:"engine_address,omitempty"`
	// A *root directory* where the provider's binary, `PulumiPlugin.yaml`, or other identifying source code is located.
	// In the event that the provider is *not* being booted by the engine (e.g. in the case that the engine has been
	// asked to attach to an existing running provider instance via a host/port number), this field will be empty.
	RootDirectory string `protobuf:"bytes,2,opt,name=root_directory,json=rootDirectory,proto3" json:"root_directory,omitempty"`
	// A *program directory* in which the provider should execute. This is generally a subdirectory of the root
	// directory, though this is not required. In the event that the provider is *not* being booted by the engine (e.g.
	// in the case that the engine has been asked to attach to an existing running provider instance via a host/port
	// number), this field will be empty.
	ProgramDirectory string `protobuf:"bytes,3,opt,name=program_directory,json=programDirectory,proto3" json:"program_directory,omitempty"`
}

func (x *ProviderHandshakeRequest) Reset() {
	*x = ProviderHandshakeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ProviderHandshakeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ProviderHandshakeRequest) ProtoMessage() {}

func (x *ProviderHandshakeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[0]
	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 ProviderHandshakeRequest.ProtoReflect.Descriptor instead.
func (*ProviderHandshakeRequest) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{0}
}

func (x *ProviderHandshakeRequest) GetEngineAddress() string {
	if x != nil {
		return x.EngineAddress
	}
	return ""
}

func (x *ProviderHandshakeRequest) GetRootDirectory() string {
	if x != nil {
		return x.RootDirectory
	}
	return ""
}

func (x *ProviderHandshakeRequest) GetProgramDirectory() string {
	if x != nil {
		return x.ProgramDirectory
	}
	return ""
}

// `ProviderHandshakeResponse` is the type of responses sent by a [](pulumirpc.ResourceProvider.Handshake) call.
type ProviderHandshakeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *ProviderHandshakeResponse) Reset() {
	*x = ProviderHandshakeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ProviderHandshakeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ProviderHandshakeResponse) ProtoMessage() {}

func (x *ProviderHandshakeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[1]
	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 ProviderHandshakeResponse.ProtoReflect.Descriptor instead.
func (*ProviderHandshakeResponse) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{1}
}

// `ParameterizeRequest` is the type of requests sent as part of a [](pulumirpc.ResourceProvider.Parameterize) call. A
// `ParameterizeRequest` may contain either:
//
// * a string array (`ParametersArgs`), intended to represent a set of command-line arguments so as to support
//   instantiating a parameterized provider from a command-line invocation (e.g. to generate an SDK).
// * a byte array accompanied by a name and version (`ParametersValue`), intended to represent a parameter embedded in a
//   previously generated SDK.
//
// Embedding parameter values in SDKs allows programs to consume parameterized providers without needing to know the
// details of the parameterization. Allowing the representation embedded into an SDK to differ from that supplied on the
// command-line permits providers to implement optimizations for the common, fast-path case (program execution), such as
// embedding a generated schema as opposed to generating it on-demand for each resource registration.
type ParameterizeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Parameters:
	//	*ParameterizeRequest_Args
	//	*ParameterizeRequest_Value
	Parameters isParameterizeRequest_Parameters `protobuf_oneof:"parameters"`
}

func (x *ParameterizeRequest) Reset() {
	*x = ParameterizeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ParameterizeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ParameterizeRequest) ProtoMessage() {}

func (x *ParameterizeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[2]
	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 ParameterizeRequest.ProtoReflect.Descriptor instead.
func (*ParameterizeRequest) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{2}
}

func (m *ParameterizeRequest) GetParameters() isParameterizeRequest_Parameters {
	if m != nil {
		return m.Parameters
	}
	return nil
}

func (x *ParameterizeRequest) GetArgs() *ParameterizeRequest_ParametersArgs {
	if x, ok := x.GetParameters().(*ParameterizeRequest_Args); ok {
		return x.Args
	}
	return nil
}

func (x *ParameterizeRequest) GetValue() *ParameterizeRequest_ParametersValue {
	if x, ok := x.GetParameters().(*ParameterizeRequest_Value); ok {
		return x.Value
	}
	return nil
}

type isParameterizeRequest_Parameters interface {
	isParameterizeRequest_Parameters()
}

type ParameterizeRequest_Args struct {
	// Arguments from the command line.
	Args *ParameterizeRequest_ParametersArgs `protobuf:"bytes,1,opt,name=args,proto3,oneof"`
}

type ParameterizeRequest_Value struct {
	// Values from a generated SDK.
	Value *ParameterizeRequest_ParametersValue `protobuf:"bytes,2,opt,name=value,proto3,oneof"`
}

func (*ParameterizeRequest_Args) isParameterizeRequest_Parameters() {}

func (*ParameterizeRequest_Value) isParameterizeRequest_Parameters() {}

// `ParameterizeResponse` is the type of responses sent by a [](pulumirpc.ResourceProvider.Parameterize) call. It
// contains a name and version that can be used to identify the sub-package that now exists as a result of
// parameterization.
type ParameterizeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The name of the sub-package parameterized.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The version of the sub-package parameterized.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
}

func (x *ParameterizeResponse) Reset() {
	*x = ParameterizeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ParameterizeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ParameterizeResponse) ProtoMessage() {}

func (x *ParameterizeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[3]
	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 ParameterizeResponse.ProtoReflect.Descriptor instead.
func (*ParameterizeResponse) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{3}
}

func (x *ParameterizeResponse) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ParameterizeResponse) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

type GetSchemaRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the schema version.
	Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
	// the name of the sub-package to lookup
	SubpackageName string `protobuf:"bytes,2,opt,name=subpackage_name,json=subpackageName,proto3" json:"subpackage_name,omitempty"`
	// the version of the sub-package to lookup
	SubpackageVersion string `protobuf:"bytes,3,opt,name=subpackage_version,json=subpackageVersion,proto3" json:"subpackage_version,omitempty"`
}

func (x *GetSchemaRequest) Reset() {
	*x = GetSchemaRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetSchemaRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetSchemaRequest) ProtoMessage() {}

func (x *GetSchemaRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[4]
	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 GetSchemaRequest.ProtoReflect.Descriptor instead.
func (*GetSchemaRequest) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{4}
}

func (x *GetSchemaRequest) GetVersion() int32 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *GetSchemaRequest) GetSubpackageName() string {
	if x != nil {
		return x.SubpackageName
	}
	return ""
}

func (x *GetSchemaRequest) GetSubpackageVersion() string {
	if x != nil {
		return x.SubpackageVersion
	}
	return ""
}

type GetSchemaResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` // the JSON-encoded schema.
}

func (x *GetSchemaResponse) Reset() {
	*x = GetSchemaResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetSchemaResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetSchemaResponse) ProtoMessage() {}

func (x *GetSchemaResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[5]
	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 GetSchemaResponse.ProtoReflect.Descriptor instead.
func (*GetSchemaResponse) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{5}
}

func (x *GetSchemaResponse) GetSchema() string {
	if x != nil {
		return x.Schema
	}
	return ""
}

// `ConfigureRequest` is the type of requests sent as part of a [](pulumirpc.ResourceProvider.Configure) call. Requests
// include both provider-specific inputs (`variables` or `args`) and provider-agnostic ("protocol") configuration
// (`acceptSecrets`, `acceptResources`, and so on).
type ConfigureRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// :::{warning}
	// `variables` is deprecated; `args` should be used instead wherever possible.
	// :::
	//
	// A map of input properties for the provider. Compound values, such as nested objects, should be JSON encoded so
	// that they too can be passed as strings. For instance, the following configuration:
	//
	// ```
	// {
	//   "a": 42,
	//   "b": {
	//     "c": "hello",
	//     "d": true
	//   }
	// }
	// ```
	//
	// should be encoded as:
	//
	// ```
	// {
	//   "a": "42",
	//   "b": "{\"c\":\"hello\",\"d\":true}"
	// }
	// ```
	Variables map[string]string `protobuf:"bytes,1,rep,name=variables,proto3" json:"variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// A map of input properties for the provider.
	//
	// :::{warning}
	// `args` may include secrets. Because `ConfigureRequest` is sent before [](pulumirpc.ConfigureResponse) can specify
	// whether or not the provider accepts secrets in general, providers *must* handle secrets if they appear in `args`.
	// :::
	Args *structpb.Struct `protobuf:"bytes,2,opt,name=args,proto3" json:"args,omitempty"`
	// True if and only if the caller supports secrets. If true, operations should return strongly typed secrets if the
	// provider supports them also. *Must* be true if the caller has previously called
	// [](pulumirpc.ResourceProvider.Handshake).
	AcceptSecrets bool `protobuf:"varint,3,opt,name=acceptSecrets,proto3" json:"acceptSecrets,omitempty"`
	// True if and only if the caller supports strongly typed resources. If true, operations should return resources as
	// strongly typed values if the provider supports them also. *Must* be true if the caller has previously called
	// [](pulumirpc.ResourceProvider.Handshake).
	AcceptResources bool `protobuf:"varint,4,opt,name=acceptResources,proto3" json:"acceptResources,omitempty"`
	// True if and only if the caller supports sending old inputs as part of [](pulumirpc.ResourceProvider.Diff) and
	// [](pulumirpc.ResourceProvider.Update) calls. If true, the provider should expect these fields to be populated in
	// these calls. *Must* be true if the caller has previously called [](pulumirpc.ResourceProvider.Handshake).
	SendsOldInputs bool `protobuf:"varint,5,opt,name=sends_old_inputs,json=sendsOldInputs,proto3" json:"sends_old_inputs,omitempty"`
	// True if and only if the caller supports sending old inputs and outputs as part of
	// [](pulumirpc.ResourceProvider.Delete) calls. If true, the provider should expect these fields to be populated in
	// these calls. *Must* be true if the caller has previously called [](pulumirpc.ResourceProvider.Handshake).
	SendsOldInputsToDelete bool `protobuf:"varint,6,opt,name=sends_old_inputs_to_delete,json=sendsOldInputsToDelete,proto3" json:"sends_old_inputs_to_delete,omitempty"`
}

func (x *ConfigureRequest) Reset() {
	*x = ConfigureRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ConfigureRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ConfigureRequest) ProtoMessage() {}

func (x *ConfigureRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[6]
	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 ConfigureRequest.ProtoReflect.Descriptor instead.
func (*ConfigureRequest) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{6}
}

func (x *ConfigureRequest) GetVariables() map[string]string {
	if x != nil {
		return x.Variables
	}
	return nil
}

func (x *ConfigureRequest) GetArgs() *structpb.Struct {
	if x != nil {
		return x.Args
	}
	return nil
}

func (x *ConfigureRequest) GetAcceptSecrets() bool {
	if x != nil {
		return x.AcceptSecrets
	}
	return false
}

func (x *ConfigureRequest) GetAcceptResources() bool {
	if x != nil {
		return x.AcceptResources
	}
	return false
}

func (x *ConfigureRequest) GetSendsOldInputs() bool {
	if x != nil {
		return x.SendsOldInputs
	}
	return false
}

func (x *ConfigureRequest) GetSendsOldInputsToDelete() bool {
	if x != nil {
		return x.SendsOldInputsToDelete
	}
	return false
}

// `ConfigureResponse` is the type of responses sent by a [](pulumirpc.ResourceProvider.Configure) call. Its primary
// purpose is to communicate features that the provider supports back to the caller.
type ConfigureResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// True if and only if the provider supports secrets. If true, the caller should pass secrets as strongly typed
	// values to the provider. *Must* be true if the provider implements [](pulumirpc.ResourceProvider.Handshake).
	AcceptSecrets bool `protobuf:"varint,1,opt,name=acceptSecrets,proto3" json:"acceptSecrets,omitempty"`
	// True if and only if the provider supports the `preview` field on [](pulumirpc.ResourceProvider.Create) and
	// [](pulumirpc.ResourceProvider.Update) calls. If true, the engine should invoke these calls with `preview` set to
	// `true` during previews. *Must* be true if the provider implements [](pulumirpc.ResourceProvider.Handshake).
	SupportsPreview bool `protobuf:"varint,2,opt,name=supportsPreview,proto3" json:"supportsPreview,omitempty"`
	// True if and only if the provider supports strongly typed resources. If true, the caller should pass resources as
	// strongly typed values to the provider. *Must* be true if the provider implements
	// [](pulumirpc.ResourceProvider.Handshake).
	AcceptResources bool `protobuf:"varint,3,opt,name=acceptResources,proto3" json:"acceptResources,omitempty"`
	// True if and only if the provider supports output values as inputs. If true, the engine should pass output values
	// to the provider where possible. *Must* be true if the provider implements
	// [](pulumirpc.ResourceProvider.Handshake).
	AcceptOutputs bool `protobuf:"varint,4,opt,name=acceptOutputs,proto3" json:"acceptOutputs,omitempty"`
	// True if the provider accepts and respects Autonaming configuration that the engine provides on behalf of user.
	SupportsAutonamingConfiguration bool `protobuf:"varint,5,opt,name=supports_autonaming_configuration,json=supportsAutonamingConfiguration,proto3" json:"supports_autonaming_configuration,omitempty"`
}

func (x *ConfigureResponse) Reset() {
	*x = ConfigureResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ConfigureResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ConfigureResponse) ProtoMessage() {}

func (x *ConfigureResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[7]
	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 ConfigureResponse.ProtoReflect.Descriptor instead.
func (*ConfigureResponse) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{7}
}

func (x *ConfigureResponse) GetAcceptSecrets() bool {
	if x != nil {
		return x.AcceptSecrets
	}
	return false
}

func (x *ConfigureResponse) GetSupportsPreview() bool {
	if x != nil {
		return x.SupportsPreview
	}
	return false
}

func (x *ConfigureResponse) GetAcceptResources() bool {
	if x != nil {
		return x.AcceptResources
	}
	return false
}

func (x *ConfigureResponse) GetAcceptOutputs() bool {
	if x != nil {
		return x.AcceptOutputs
	}
	return false
}

func (x *ConfigureResponse) GetSupportsAutonamingConfiguration() bool {
	if x != nil {
		return x.SupportsAutonamingConfiguration
	}
	return false
}

// `ConfigureErrorMissingKeys` is the type of error details that may be sent in response to a
// [](pulumirpc.ResourceProvider.Configure) call when required configuration keys are missing.
type ConfigureErrorMissingKeys struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// A list of required configuration keys that were not supplied.
	MissingKeys []*ConfigureErrorMissingKeys_MissingKey `protobuf:"bytes,1,rep,name=missingKeys,proto3" json:"missingKeys,omitempty"`
}

func (x *ConfigureErrorMissingKeys) Reset() {
	*x = ConfigureErrorMissingKeys{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ConfigureErrorMissingKeys) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ConfigureErrorMissingKeys) ProtoMessage() {}

func (x *ConfigureErrorMissingKeys) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[8]
	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 ConfigureErrorMissingKeys.ProtoReflect.Descriptor instead.
func (*ConfigureErrorMissingKeys) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{8}
}

func (x *ConfigureErrorMissingKeys) GetMissingKeys() []*ConfigureErrorMissingKeys_MissingKey {
	if x != nil {
		return x.MissingKeys
	}
	return nil
}

type InvokeRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Tok  string           `protobuf:"bytes,1,opt,name=tok,proto3" json:"tok,omitempty"`   // the function token to invoke.
	Args *structpb.Struct `protobuf:"bytes,2,opt,name=args,proto3" json:"args,omitempty"` // the arguments for the function invocation.
}

func (x *InvokeRequest) Reset() {
	*x = InvokeRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *InvokeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InvokeRequest) ProtoMessage() {}

func (x *InvokeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[9]
	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 InvokeRequest.ProtoReflect.Descriptor instead.
func (*InvokeRequest) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{9}
}

func (x *InvokeRequest) GetTok() string {
	if x != nil {
		return x.Tok
	}
	return ""
}

func (x *InvokeRequest) GetArgs() *structpb.Struct {
	if x != nil {
		return x.Args
	}
	return nil
}

type InvokeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Return   *structpb.Struct `protobuf:"bytes,1,opt,name=return,proto3" json:"return,omitempty"`     // the returned values, if invoke was successful.
	Failures []*CheckFailure  `protobuf:"bytes,2,rep,name=failures,proto3" json:"failures,omitempty"` // the failures if any arguments didn't pass verification.
}

func (x *InvokeResponse) Reset() {
	*x = InvokeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *InvokeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InvokeResponse) ProtoMessage() {}

func (x *InvokeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[10]
	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 InvokeResponse.ProtoReflect.Descriptor instead.
func (*InvokeResponse) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{10}
}

func (x *InvokeResponse) GetReturn() *structpb.Struct {
	if x != nil {
		return x.Return
	}
	return nil
}

func (x *InvokeResponse) GetFailures() []*CheckFailure {
	if x != nil {
		return x.Failures
	}
	return nil
}

type CallRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Tok                 string                                       `protobuf:"bytes,1,opt,name=tok,proto3" json:"tok,omitempty"`                                                                                                                 // the function token to invoke.
	Args                *structpb.Struct                             `protobuf:"bytes,2,opt,name=args,proto3" json:"args,omitempty"`                                                                                                               // the arguments for the function invocation.
	ArgDependencies     map[string]*CallRequest_ArgumentDependencies `protobuf:"bytes,3,rep,name=argDependencies,proto3" json:"argDependencies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // a map from argument keys to the dependencies of the argument.
	Project             string                                       `protobuf:"bytes,6,opt,name=project,proto3" json:"project,omitempty"`                                                                                                         // the project name.
	Stack               string                                       `protobuf:"bytes,7,opt,name=stack,proto3" json:"stack,omitempty"`                                                                                                             // the name of the stack being deployed into.
	Config              map[string]string                            `protobuf:"bytes,8,rep,name=config,proto3" json:"config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`                   // the configuration variables to apply before running.
	ConfigSecretKeys    []string                                     `protobuf:"bytes,9,rep,name=configSecretKeys,proto3" json:"configSecretKeys,omitempty"`                                                                                       // the configuration keys that have secret values.
	DryRun              bool                                         `protobuf:"varint,10,opt,name=dryRun,proto3" json:"dryRun,omitempty"`                                                                                                         // true if we're only doing a dryrun (preview).
	Parallel            int32                                        `protobuf:"varint,11,opt,name=parallel,proto3" json:"parallel,omitempty"`                                                                                                     // the degree of parallelism for resource operations (<=1 for serial).
	MonitorEndpoint     string                                       `protobuf:"bytes,12,opt,name=monitorEndpoint,proto3" json:"monitorEndpoint,omitempty"`                                                                                        // the address for communicating back to the resource monitor.
	Organization        string                                       `protobuf:"bytes,14,opt,name=organization,proto3" json:"organization,omitempty"`                                                                                              // the organization of the stack being deployed into.
	AcceptsOutputValues bool                                         `protobuf:"varint,17,opt,name=accepts_output_values,json=acceptsOutputValues,proto3" json:"accepts_output_values,omitempty"`                                                  // the engine can be passed output values back, returnDependencies can be left blank if returning output values.
}

func (x *CallRequest) Reset() {
	*x = CallRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CallRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CallRequest) ProtoMessage() {}

func (x *CallRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[11]
	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 CallRequest.ProtoReflect.Descriptor instead.
func (*CallRequest) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{11}
}

func (x *CallRequest) GetTok() string {
	if x != nil {
		return x.Tok
	}
	return ""
}

func (x *CallRequest) GetArgs() *structpb.Struct {
	if x != nil {
		return x.Args
	}
	return nil
}

func (x *CallRequest) GetArgDependencies() map[string]*CallRequest_ArgumentDependencies {
	if x != nil {
		return x.ArgDependencies
	}
	return nil
}

func (x *CallRequest) GetProject() string {
	if x != nil {
		return x.Project
	}
	return ""
}

func (x *CallRequest) GetStack() string {
	if x != nil {
		return x.Stack
	}
	return ""
}

func (x *CallRequest) GetConfig() map[string]string {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *CallRequest) GetConfigSecretKeys() []string {
	if x != nil {
		return x.ConfigSecretKeys
	}
	return nil
}

func (x *CallRequest) GetDryRun() bool {
	if x != nil {
		return x.DryRun
	}
	return false
}

func (x *CallRequest) GetParallel() int32 {
	if x != nil {
		return x.Parallel
	}
	return 0
}

func (x *CallRequest) GetMonitorEndpoint() string {
	if x != nil {
		return x.MonitorEndpoint
	}
	return ""
}

func (x *CallRequest) GetOrganization() string {
	if x != nil {
		return x.Organization
	}
	return ""
}

func (x *CallRequest) GetAcceptsOutputValues() bool {
	if x != nil {
		return x.AcceptsOutputValues
	}
	return false
}

type CallResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Return   *structpb.Struct `protobuf:"bytes,1,opt,name=return,proto3" json:"return,omitempty"`     // the returned values, if call was successful.
	Failures []*CheckFailure  `protobuf:"bytes,3,rep,name=failures,proto3" json:"failures,omitempty"` // the failures if any arguments didn't pass verification.
	// a map from return value keys to the dependencies of the return value.
	//
	// returnDependencies will be augmented by the set of dependencies specified in return
	// via output property values.
	ReturnDependencies map[string]*CallResponse_ReturnDependencies `protobuf:"bytes,2,rep,name=returnDependencies,proto3" json:"returnDependencies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *CallResponse) Reset() {
	*x = CallResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CallResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CallResponse) ProtoMessage() {}

func (x *CallResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[12]
	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 CallResponse.ProtoReflect.Descriptor instead.
func (*CallResponse) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{12}
}

func (x *CallResponse) GetReturn() *structpb.Struct {
	if x != nil {
		return x.Return
	}
	return nil
}

func (x *CallResponse) GetFailures() []*CheckFailure {
	if x != nil {
		return x.Failures
	}
	return nil
}

func (x *CallResponse) GetReturnDependencies() map[string]*CallResponse_ReturnDependencies {
	if x != nil {
		return x.ReturnDependencies
	}
	return nil
}

// `CheckRequest` is the type of requests sent as part of [](pulumirpc.ResourceProvider.CheckConfig) and
// [](pulumirpc.ResourceProvider.Check) calls. A `CheckRequest` primarily captures the URN and inputs of the resource
// being checked. In the case of [](pulumirpc.ResourceProvider.CheckConfig), the URN will be the URN of the provider
// resource being constructed, which may or may not be a [default provider](default-providers), and the inputs will be
// the provider configuration.
type CheckRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The URN of the resource whose inputs are being checked. In the case of
	// [](pulumirpc.ResourceProvider.CheckConfig), this will be the URN of the provider resource being constructed,
	// which may or may not be a [default provider](default-providers).
	Urn string `protobuf:"bytes,1,opt,name=urn,proto3" json:"urn,omitempty"`
	// The old input properties or configuration for the resource, if any.
	Olds *structpb.Struct `protobuf:"bytes,2,opt,name=olds,proto3" json:"olds,omitempty"`
	// The new input properties or configuration for the resource, if any.
	//
	// :::{note}
	// If this resource has been specified with the
	// [`ignoreChanges`](https://www.pulumi.com/docs/concepts/options/ignorechanges/), then the values in `news` may
	// differ from those written in the Pulumi program registering this resource. In such cases, the caller (e.g. the
	// Pulumi engine) is expected to preprocess the `news` value by replacing every property matched by `ignoreChanges`
	// with its corresponding `olds` value (effectively ignoring the change).
	// :::
	News *structpb.Struct `protobuf:"bytes,3,opt,name=news,proto3" json:"news,omitempty"`
	// A random but deterministically computed hash, intended to be used for generating globally unique names.
	RandomSeed []byte `protobuf:"bytes,5,opt,name=randomSeed,proto3" json:"randomSeed,omitempty"`
	// The name of the resource being checked. This must match the name specified by the `urn` field, and is passed so
	// that providers do not have to implement URN parsing in order to extract the name of the resource.
	Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
	// The type of the resource being checked. This must match the type specified by the `urn` field, and is passed so
	// that providers do not have to implement URN parsing in order to extract the type of the resource.
	Type       string                          `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"`
	Autonaming *CheckRequest_AutonamingOptions `protobuf:"bytes,8,opt,name=autonaming,proto3" json:"autonaming,omitempty"`
}

func (x *CheckRequest) Reset() {
	*x = CheckRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CheckRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CheckRequest) ProtoMessage() {}

func (x *CheckRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[13]
	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 CheckRequest.ProtoReflect.Descriptor instead.
func (*CheckRequest) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{13}
}

func (x *CheckRequest) GetUrn() string {
	if x != nil {
		return x.Urn
	}
	return ""
}

func (x *CheckRequest) GetOlds() *structpb.Struct {
	if x != nil {
		return x.Olds
	}
	return nil
}

func (x *CheckRequest) GetNews() *structpb.Struct {
	if x != nil {
		return x.News
	}
	return nil
}

func (x *CheckRequest) GetRandomSeed() []byte {
	if x != nil {
		return x.RandomSeed
	}
	return nil
}

func (x *CheckRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *CheckRequest) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *CheckRequest) GetAutonaming() *CheckRequest_AutonamingOptions {
	if x != nil {
		return x.Autonaming
	}
	return nil
}

// `CheckResponse` is the type of responses sent by a [](pulumirpc.ResourceProvider.CheckConfig) or
// [](pulumirpc.ResourceProvider.Check) call. A `CheckResponse` may contain either:
//
// * a set of checked, known-valid `inputs`. In the case of [](pulumirpc.ResourceProvider.CheckConfig), these may
//   subsequently be passed to [](pulumirpc.ResourceProvider.DiffConfig) and/or
//   [](pulumirpc.ResourceProvider.Configure). In the case of [](pulumirpc.ResourceProvider.Check), these may be passed
//   to any of the supported lifecycle methods that accept provider inputs.
// * a set of `failures` detailing invalid inputs.
//
// In cases where the supplied set of inputs is valid, a `CheckResponse` may contain default values that should
// persisted to Pulumi state and passed to subsequent calls.
type CheckResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// A valid, checked set of inputs. May contain defaults.
	Inputs *structpb.Struct `protobuf:"bytes,1,opt,name=inputs,proto3" json:"inputs,omitempty"`
	// Any validation failures that occurred.
	Failures []*CheckFailure `protobuf:"bytes,2,rep,name=failures,proto3" json:"failures,omitempty"`
}

func (x *CheckResponse) Reset() {
	*x = CheckResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CheckResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CheckResponse) ProtoMessage() {}

func (x *CheckResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[14]
	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 CheckResponse.ProtoReflect.Descriptor instead.
func (*CheckResponse) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{14}
}

func (x *CheckResponse) GetInputs() *structpb.Struct {
	if x != nil {
		return x.Inputs
	}
	return nil
}

func (x *CheckResponse) GetFailures() []*CheckFailure {
	if x != nil {
		return x.Failures
	}
	return nil
}

// A `CheckFailure` describes a single validation error that arose as part of a
// [](pulumirpc.ResourceProvider.CheckConfig) or [](pulumirpc.ResourceProvider.Check) call.
type CheckFailure struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The input property that failed validation.
	Property string `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"`
	// The reason that the named property failed validation.
	Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
}

func (x *CheckFailure) Reset() {
	*x = CheckFailure{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CheckFailure) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CheckFailure) ProtoMessage() {}

func (x *CheckFailure) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[15]
	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 CheckFailure.ProtoReflect.Descriptor instead.
func (*CheckFailure) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{15}
}

func (x *CheckFailure) GetProperty() string {
	if x != nil {
		return x.Property
	}
	return ""
}

func (x *CheckFailure) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

// `DiffRequest` is the type of requests sent as part of [](pulumirpc.ResourceProvider.DiffConfig) and
// [](pulumirpc.ResourceProvider.Diff) calls. A `DiffRequest` primarily captures:
//
// * the URN of the resource whose properties are being compared;
// * the old and new input properties of the resource; and
// * the old output properties of the resource.
//
// In the case of [](pulumirpc.ResourceProvider.DiffConfig), the URN will be the URN of the provider resource being
// examined, which may or may not be a [default provider](default-providers), and the inputs and outputs will be the
// provider configuration and state. Inputs supplied to a [](pulumirpc.ResourceProvider.DiffConfig) call should have
// been previously checked by a call to [](pulumirpc.ResourceProvider.CheckConfig); inputs supplied to a
// [](pulumirpc.ResourceProvider.Diff) call should have been previously checked by a call to
// [](pulumirpc.ResourceProvider.Check).
type DiffRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The ID of the resource being diffed.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The URN of the resource being diffed.
	Urn string `protobuf:"bytes,2,opt,name=urn,proto3" json:"urn,omitempty"`
	// The old *output* properties of the resource being diffed.
	Olds *structpb.Struct `protobuf:"bytes,3,opt,name=olds,proto3" json:"olds,omitempty"`
	// The new *input* properties of the resource being diffed. These should have been validated by an appropriate call
	// to [](pulumirpc.ResourceProvider.CheckConfig) or [](pulumirpc.ResourceProvider.Check).
	News *structpb.Struct `protobuf:"bytes,4,opt,name=news,proto3" json:"news,omitempty"`
	// A set of [property paths](property-paths) that should be treated as unchanged.
	IgnoreChanges []string `protobuf:"bytes,5,rep,name=ignoreChanges,proto3" json:"ignoreChanges,omitempty"`
	// The old *input* properties of the resource being diffed.
	OldInputs *structpb.Struct `protobuf:"bytes,6,opt,name=old_inputs,json=oldInputs,proto3" json:"old_inputs,omitempty"`
	// The name of the resource being diffed. This must match the name specified by the `urn` field, and is passed so
	// that providers do not have to implement URN parsing in order to extract the name of the resource.
	Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
	// The type of the resource being diffed. This must match the type specified by the `urn` field, and is passed so
	// that providers do not have to implement URN parsing in order to extract the type of the resource.
	Type string `protobuf:"bytes,8,opt,name=type,proto3" json:"type,omitempty"`
}

func (x *DiffRequest) Reset() {
	*x = DiffRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DiffRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DiffRequest) ProtoMessage() {}

func (x *DiffRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[16]
	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 DiffRequest.ProtoReflect.Descriptor instead.
func (*DiffRequest) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{16}
}

func (x *DiffRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *DiffRequest) GetUrn() string {
	if x != nil {
		return x.Urn
	}
	return ""
}

func (x *DiffRequest) GetOlds() *structpb.Struct {
	if x != nil {
		return x.Olds
	}
	return nil
}

func (x *DiffRequest) GetNews() *structpb.Struct {
	if x != nil {
		return x.News
	}
	return nil
}

func (x *DiffRequest) GetIgnoreChanges() []string {
	if x != nil {
		return x.IgnoreChanges
	}
	return nil
}

func (x *DiffRequest) GetOldInputs() *structpb.Struct {
	if x != nil {
		return x.OldInputs
	}
	return nil
}

func (x *DiffRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *DiffRequest) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

// `PropertyDiff` describes the kind of change that occurred to a property during a diff operation. A `PropertyDiff` may
// indicate that a property was added, deleted, or updated, and may further indicate that the change requires a
// replacement.
type PropertyDiff struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The kind of diff associated with this property.
	Kind PropertyDiff_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=pulumirpc.PropertyDiff_Kind" json:"kind,omitempty"`
	// True if and only if this difference represents one between a pair of old and new inputs, as opposed to a pair of
	// old and new states.
	InputDiff bool `protobuf:"varint,2,opt,name=inputDiff,proto3" json:"inputDiff,omitempty"`
}

func (x *PropertyDiff) Reset() {
	*x = PropertyDiff{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PropertyDiff) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PropertyDiff) ProtoMessage() {}

func (x *PropertyDiff) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[17]
	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 PropertyDiff.ProtoReflect.Descriptor instead.
func (*PropertyDiff) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{17}
}

func (x *PropertyDiff) GetKind() PropertyDiff_Kind {
	if x != nil {
		return x.Kind
	}
	return PropertyDiff_ADD
}

func (x *PropertyDiff) GetInputDiff() bool {
	if x != nil {
		return x.InputDiff
	}
	return false
}

// `DiffResponse` is the type of responses sent by a [](pulumirpc.ResourceProvider.DiffConfig) or
// [](pulumirpc.ResourceProvider.Diff) call. A `DiffResponse` indicates whether a resource is unchanged, requires
// updating (that is, can be changed "in place"), or requires replacement (that is, must be destroyed and recreated
// anew). Legacy implementations may also signal that it is unknown whether there are changes or not.
//
// `DiffResponse` has evolved since its inception and there are now a number of ways that providers can signal their
// intent to callers:
//
// * *Simple diffs* utilise the `changes` field to signal which fields are responsible for a change, and the `replaces`
//   field to further communicate which changes (if any) require a replacement as opposed to an update.
//
// * *Detailed diffs* are those with `hasDetailedDiff` set, and utilise the `detailedDiff` field to provide a more
//   granular view of the changes that have occurred. Detailed diffs are designed to allow providers to control
//   precisely which field names are displayed as responsible for a change, and to signal more accurately what kind of
//   change occurred (e.g. a field was added, deleted or updated).
type DiffResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// A set of properties which have changed and whose changes require the resource being diffed to be replaced. The
	// caller should replace the resource if this set is non-empty, or if any of the properties specified in
	// `detailedDiff` have a `*_REPLACE` kind.
	Replaces []string `protobuf:"bytes,1,rep,name=replaces,proto3" json:"replaces,omitempty"`
	// An optional list of properties that will not ever change (are stable).
	Stables []string `protobuf:"bytes,2,rep,name=stables,proto3" json:"stables,omitempty"`
	// If true, this resource must be deleted *before* its replacement is created.
	DeleteBeforeReplace bool `protobuf:"varint,3,opt,name=deleteBeforeReplace,proto3" json:"deleteBeforeReplace,omitempty"`
	// The result of the diff. Indicates at a high level whether the resource has changed or not (or, in legacy cases,
	// if the provider does not know).
	Changes DiffResponse_DiffChanges `protobuf:"varint,4,opt,name=changes,proto3,enum=pulumirpc.DiffResponse_DiffChanges" json:"changes,omitempty"`
	// The set of properties which have changed. This field only supports top-level properties. It *does not* support
	// full [property paths](property-paths); implementations should use `detailedDiff` when this is required.
	Diffs []string `protobuf:"bytes,5,rep,name=diffs,proto3" json:"diffs,omitempty"`
	// `detailedDiff` can be used to implement more detailed diffs. A detailed diff is a map from [property
	// paths](property-paths) to [](pulumirpc.PropertyDiff)s, which describe the kind of change that occurred to the
	// property located at that path. If a provider does not implement this, the caller (typically the Pulumi engine)
	// will compute a representation based on the simple diff fields (`changes`, `replaces`, and so on).
	DetailedDiff map[string]*PropertyDiff `protobuf:"bytes,6,rep,name=detailedDiff,proto3" json:"detailedDiff,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// True if and only if this response contains a `detailedDiff`.
	HasDetailedDiff bool `protobuf:"varint,7,opt,name=hasDetailedDiff,proto3" json:"hasDetailedDiff,omitempty"`
}

func (x *DiffResponse) Reset() {
	*x = DiffResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DiffResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DiffResponse) ProtoMessage() {}

func (x *DiffResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[18]
	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 DiffResponse.ProtoReflect.Descriptor instead.
func (*DiffResponse) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{18}
}

func (x *DiffResponse) GetReplaces() []string {
	if x != nil {
		return x.Replaces
	}
	return nil
}

func (x *DiffResponse) GetStables() []string {
	if x != nil {
		return x.Stables
	}
	return nil
}

func (x *DiffResponse) GetDeleteBeforeReplace() bool {
	if x != nil {
		return x.DeleteBeforeReplace
	}
	return false
}

func (x *DiffResponse) GetChanges() DiffResponse_DiffChanges {
	if x != nil {
		return x.Changes
	}
	return DiffResponse_DIFF_UNKNOWN
}

func (x *DiffResponse) GetDiffs() []string {
	if x != nil {
		return x.Diffs
	}
	return nil
}

func (x *DiffResponse) GetDetailedDiff() map[string]*PropertyDiff {
	if x != nil {
		return x.DetailedDiff
	}
	return nil
}

func (x *DiffResponse) GetHasDetailedDiff() bool {
	if x != nil {
		return x.HasDetailedDiff
	}
	return false
}

// `CreateRequest` is the type of requests sent as part of a [](pulumirpc.ResourceProvider.Create) call.
type CreateRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The URN of the resource being created.
	Urn string `protobuf:"bytes,1,opt,name=urn,proto3" json:"urn,omitempty"`
	// The resource's input properties, to be set during creation. These should have been validated by a call to
	// [](pulumirpc.ResourceProvider.Check).
	Properties *structpb.Struct `protobuf:"bytes,2,opt,name=properties,proto3" json:"properties,omitempty"`
	// A timeout in seconds that the caller is prepared to wait for the operation to complete.
	Timeout float64 `protobuf:"fixed64,3,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// True if and only if the request is being made as part of a preview/dry run, in which case the provider should not
	// actually create the resource.
	Preview bool `protobuf:"varint,4,opt,name=preview,proto3" json:"preview,omitempty"`
	// The name of the resource being created. This must match the name specified by the `urn` field, and is passed so
	// that providers do not have to implement URN parsing in order to extract the name of the resource.
	Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
	// The type of the resource being created. This must match the type specified by the `urn` field, and is passed so
	// that providers do not have to implement URN parsing in order to extract the type of the resource.
	Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type,omitempty"`
}

func (x *CreateRequest) Reset() {
	*x = CreateRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CreateRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateRequest) ProtoMessage() {}

func (x *CreateRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[19]
	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 CreateRequest.ProtoReflect.Descriptor instead.
func (*CreateRequest) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{19}
}

func (x *CreateRequest) GetUrn() string {
	if x != nil {
		return x.Urn
	}
	return ""
}

func (x *CreateRequest) GetProperties() *structpb.Struct {
	if x != nil {
		return x.Properties
	}
	return nil
}

func (x *CreateRequest) GetTimeout() float64 {
	if x != nil {
		return x.Timeout
	}
	return 0
}

func (x *CreateRequest) GetPreview() bool {
	if x != nil {
		return x.Preview
	}
	return false
}

func (x *CreateRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *CreateRequest) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

// `CreateResponse` is the type of responses sent by a [](pulumirpc.ResourceProvider.Create) call. A `CreateResponse`
// contains the ID of the created resource, as well as any output properties that arose from the creation process.
type CreateResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The ID of the created resource.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The resource's output properties. Typically this will be a union of the resource's input properties and any
	// additional values that were computed or made available during creation.
	Properties *structpb.Struct `protobuf:"bytes,2,opt,name=properties,proto3" json:"properties,omitempty"`
}

func (x *CreateResponse) Reset() {
	*x = CreateResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CreateResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateResponse) ProtoMessage() {}

func (x *CreateResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[20]
	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 CreateResponse.ProtoReflect.Descriptor instead.
func (*CreateResponse) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{20}
}

func (x *CreateResponse) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *CreateResponse) GetProperties() *structpb.Struct {
	if x != nil {
		return x.Properties
	}
	return nil
}

// `ReadRequest` is the type of requests sent as part of a [](pulumirpc.ResourceProvider.Read) call.
type ReadRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The ID of the resource to read.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The URN of the resource being read.
	Urn string `protobuf:"bytes,2,opt,name=urn,proto3" json:"urn,omitempty"`
	// Any current state for the resource being read. This state should be sufficient to uniquely identify the resource.
	Properties *structpb.Struct `protobuf:"bytes,3,opt,name=properties,proto3" json:"properties,omitempty"`
	// Any current input properties for the resource being read. These will only be populated when the
	// [](pulumirpc.ResourceProvider.Read) call is being made as part of a refresh operation.
	Inputs *structpb.Struct `protobuf:"bytes,4,opt,name=inputs,proto3" json:"inputs,omitempty"`
	// The name of the resource being read. This must match the name specified by the `urn` field, and is passed so that
	// providers do not have to implement URN parsing in order to extract the name of the resource.
	Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
	// The type of the resource being read. This must match the type specified by the `urn` field, and is passed so that
	// providers do not have to implement URN parsing in order to extract the type of the resource.
	Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type,omitempty"`
}

func (x *ReadRequest) Reset() {
	*x = ReadRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReadRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadRequest) ProtoMessage() {}

func (x *ReadRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[21]
	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 ReadRequest.ProtoReflect.Descriptor instead.
func (*ReadRequest) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{21}
}

func (x *ReadRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ReadRequest) GetUrn() string {
	if x != nil {
		return x.Urn
	}
	return ""
}

func (x *ReadRequest) GetProperties() *structpb.Struct {
	if x != nil {
		return x.Properties
	}
	return nil
}

func (x *ReadRequest) GetInputs() *structpb.Struct {
	if x != nil {
		return x.Inputs
	}
	return nil
}

func (x *ReadRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ReadRequest) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

// `ReadResponse` is the type of responses sent by a [](pulumirpc.ResourceProvider.Read) call. A `ReadResponse` contains
// the ID of the resource being read, as well as any state that was successfully read from the live environment.
type ReadResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The ID of the read resource.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The output properties of the resource read from the live environment.
	Properties *structpb.Struct `protobuf:"bytes,2,opt,name=properties,proto3" json:"properties,omitempty"`
	// Output-derived input properties for the resource. These are returned as they would be returned from a
	// [](pulumirpc.ResourceProvider.Check) call with the same values.
	Inputs *structpb.Struct `protobuf:"bytes,3,opt,name=inputs,proto3" json:"inputs,omitempty"`
}

func (x *ReadResponse) Reset() {
	*x = ReadResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReadResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReadResponse) ProtoMessage() {}

func (x *ReadResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[22]
	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 ReadResponse.ProtoReflect.Descriptor instead.
func (*ReadResponse) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{22}
}

func (x *ReadResponse) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ReadResponse) GetProperties() *structpb.Struct {
	if x != nil {
		return x.Properties
	}
	return nil
}

func (x *ReadResponse) GetInputs() *structpb.Struct {
	if x != nil {
		return x.Inputs
	}
	return nil
}

// `UpdateRequest` is the type of requests sent as part of a [](pulumirpc.ResourceProvider.Update) call.
type UpdateRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The ID of the resource being updated.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The URN of the resource being updated.
	Urn string `protobuf:"bytes,2,opt,name=urn,proto3" json:"urn,omitempty"`
	// The old *output* properties of the resource being updated.
	Olds *structpb.Struct `protobuf:"bytes,3,opt,name=olds,proto3" json:"olds,omitempty"`
	// The new input properties of the resource being updated. These should have been validated by a call to
	// [](pulumirpc.ResourceProvider.Check).
	News *structpb.Struct `protobuf:"bytes,4,opt,name=news,proto3" json:"news,omitempty"`
	// A timeout in seconds that the caller is prepared to wait for the operation to complete.
	Timeout float64 `protobuf:"fixed64,5,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// A set of [property paths](property-paths) that should be treated as unchanged.
	IgnoreChanges []string `protobuf:"bytes,6,rep,name=ignoreChanges,proto3" json:"ignoreChanges,omitempty"`
	// True if and only if the request is being made as part of a preview/dry run, in which case the provider should not
	// actually update the resource.
	Preview bool `protobuf:"varint,7,opt,name=preview,proto3" json:"preview,omitempty"`
	// The old *input* properties of the resource being updated.
	OldInputs *structpb.Struct `protobuf:"bytes,8,opt,name=old_inputs,json=oldInputs,proto3" json:"old_inputs,omitempty"`
	// The name of the resource being updated. This must match the name specified by the `urn` field, and is passed so
	// that providers do not have to implement URN parsing in order to extract the name of the resource.
	Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"`
	// The type of the resource being updated. This must match the type specified by the `urn` field, and is passed so
	// that providers do not have to implement URN parsing in order to extract the type of the resource.
	Type string `protobuf:"bytes,10,opt,name=type,proto3" json:"type,omitempty"`
}

func (x *UpdateRequest) Reset() {
	*x = UpdateRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateRequest) ProtoMessage() {}

func (x *UpdateRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[23]
	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 UpdateRequest.ProtoReflect.Descriptor instead.
func (*UpdateRequest) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{23}
}

func (x *UpdateRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *UpdateRequest) GetUrn() string {
	if x != nil {
		return x.Urn
	}
	return ""
}

func (x *UpdateRequest) GetOlds() *structpb.Struct {
	if x != nil {
		return x.Olds
	}
	return nil
}

func (x *UpdateRequest) GetNews() *structpb.Struct {
	if x != nil {
		return x.News
	}
	return nil
}

func (x *UpdateRequest) GetTimeout() float64 {
	if x != nil {
		return x.Timeout
	}
	return 0
}

func (x *UpdateRequest) GetIgnoreChanges() []string {
	if x != nil {
		return x.IgnoreChanges
	}
	return nil
}

func (x *UpdateRequest) GetPreview() bool {
	if x != nil {
		return x.Preview
	}
	return false
}

func (x *UpdateRequest) GetOldInputs() *structpb.Struct {
	if x != nil {
		return x.OldInputs
	}
	return nil
}

func (x *UpdateRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *UpdateRequest) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

// `UpdateResponse` is the type of responses sent by a [](pulumirpc.ResourceProvider.Update) call.
type UpdateResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// An updated set of resource output properties. Typically this will be a union of the resource's inputs and any
	// additional values that were computed or made available during the update.
	Properties *structpb.Struct `protobuf:"bytes,1,opt,name=properties,proto3" json:"properties,omitempty"`
}

func (x *UpdateResponse) Reset() {
	*x = UpdateResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateResponse) ProtoMessage() {}

func (x *UpdateResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[24]
	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 UpdateResponse.ProtoReflect.Descriptor instead.
func (*UpdateResponse) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{24}
}

func (x *UpdateResponse) GetProperties() *structpb.Struct {
	if x != nil {
		return x.Properties
	}
	return nil
}

// `DeleteRequest` is the type of requests sent as part of a [](pulumirpc.ResourceProvider.Delete) call.
type DeleteRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The ID of the resource to delete.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The URN of the resource to delete.
	Urn string `protobuf:"bytes,2,opt,name=urn,proto3" json:"urn,omitempty"`
	// The old *output* properties of the resource being deleted.
	Properties *structpb.Struct `protobuf:"bytes,3,opt,name=properties,proto3" json:"properties,omitempty"`
	// A timeout in seconds that the caller is prepared to wait for the operation to complete.
	Timeout float64 `protobuf:"fixed64,4,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// The old *input* properties of the resource being deleted.
	OldInputs *structpb.Struct `protobuf:"bytes,5,opt,name=old_inputs,json=oldInputs,proto3" json:"old_inputs,omitempty"` // the old input values of the resource to delete.
	// The name of the resource being deleted. This must match the name specified by the `urn` field, and is passed so
	// that providers do not have to implement URN parsing in order to extract the name of the resource.
	Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
	// The type of the resource being deleted. This must match the type specified by the `urn` field, and is passed so
	// that providers do not have to implement URN parsing in order to extract the type of the resource.
	Type string `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"`
}

func (x *DeleteRequest) Reset() {
	*x = DeleteRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeleteRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteRequest) ProtoMessage() {}

func (x *DeleteRequest) 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 DeleteRequest.ProtoReflect.Descriptor instead.
func (*DeleteRequest) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{25}
}

func (x *DeleteRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *DeleteRequest) GetUrn() string {
	if x != nil {
		return x.Urn
	}
	return ""
}

func (x *DeleteRequest) GetProperties() *structpb.Struct {
	if x != nil {
		return x.Properties
	}
	return nil
}

func (x *DeleteRequest) GetTimeout() float64 {
	if x != nil {
		return x.Timeout
	}
	return 0
}

func (x *DeleteRequest) GetOldInputs() *structpb.Struct {
	if x != nil {
		return x.OldInputs
	}
	return nil
}

func (x *DeleteRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *DeleteRequest) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

// `ConstructRequest` is the type of requests sent as part of a [](pulumirpc.ResourceProvider.Construct) call. A
// `ConstructRequest` captures enough data to be able to register nested components against the caller's resource
// monitor.
type ConstructRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The project to which this resource and its nested resources will belong.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// The name of the stack being deployed into.
	Stack string `protobuf:"bytes,2,opt,name=stack,proto3" json:"stack,omitempty"`
	// Configuration for the specified project and stack.
	Config map[string]string `protobuf:"bytes,3,rep,name=config,proto3" json:"config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// True if and only if the request is being made as part of a preview/dry run, in which case the provider should not
	// actually construct the component.
	DryRun bool `protobuf:"varint,4,opt,name=dryRun,proto3" json:"dryRun,omitempty"`
	// The degree of parallelism that may be used for resource operations. A value less than or equal to 1 indicates
	// that operations should be performed serially.
	Parallel int32 `protobuf:"varint,5,opt,name=parallel,proto3" json:"parallel,omitempty"`
	// The address of the [](pulumirpc.ResourceMonitor) that the provider should connect to in order to send [resource
	// registrations](resource-registration) for its nested resources.
	MonitorEndpoint string `protobuf:"bytes,6,opt,name=monitorEndpoint,proto3" json:"monitorEndpoint,omitempty"`
	// The type of the component resource being constructed. This must match the type specified by the `urn` field, and
	// is passed so that providers do not have to implement URN parsing in order to extract the type of the resource.
	Type string `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"`
	// The name of the component resource being constructed. This must match the name specified by the `urn` field, and
	// is passed so that providers do not have to implement URN parsing in order to extract the name of the resource.
	Name string `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"`
	// An optional parent resource that the component (and by extension, its nested resources) should be children of.
	Parent string `protobuf:"bytes,9,opt,name=parent,proto3" json:"parent,omitempty"`
	// The component resource's input properties. Unlike the inputs of custom resources, these will *not* have been
	// passed to a call to [](pulumirpc.ResourceProvider.Check). By virtue of their being a composition of other
	// resources, component resources are able to (and therefore expected) to validate their own inputs. Moreover,
	// [](pulumirpc.ResourceProvider.Check) will be called on any inputs passed to nested custom resources as usual.
	Inputs *structpb.Struct `protobuf:"bytes,10,opt,name=inputs,proto3" json:"inputs,omitempty"`
	// A map of property dependencies for the component resource and its nested resources.
	InputDependencies map[string]*ConstructRequest_PropertyDependencies `protobuf:"bytes,11,rep,name=inputDependencies,proto3" json:"inputDependencies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// A map of package names to provider references for the component resource and its nested resources.
	Providers map[string]string `protobuf:"bytes,13,rep,name=providers,proto3" json:"providers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// A list of URNs that this resource and its nested resources depend on.
	Dependencies []string `protobuf:"bytes,15,rep,name=dependencies,proto3" json:"dependencies,omitempty"`
	// A set of configuration keys whose values are [secret](output-secrets).
	ConfigSecretKeys []string `protobuf:"bytes,16,rep,name=configSecretKeys,proto3" json:"configSecretKeys,omitempty"`
	// The organization to which this resource and its nested resources will belong.
	Organization string `protobuf:"bytes,17,opt,name=organization,proto3" json:"organization,omitempty"`
	// True if and only if the resource (and by extension, its nested resources) should be marked as protected.
	// Protected resources cannot be deleted without first being unprotected.
	Protect bool `protobuf:"varint,12,opt,name=protect,proto3" json:"protect,omitempty"`
	// A list of additional URNs that should be considered the same as this component's URN (and which will therefore be
	// used to build aliases for its nested resource URNs). These may be URNs that previously referred to this component
	// e.g. if it had its parent (and consequently URN) changed.
	Aliases []string `protobuf:"bytes,14,rep,name=aliases,proto3" json:"aliases,omitempty"`
	// A list of input properties whose values should be treated as [secret](output-secrets).
	AdditionalSecretOutputs []string `protobuf:"bytes,18,rep,name=additionalSecretOutputs,proto3" json:"additionalSecretOutputs,omitempty"`
	// A set of custom timeouts that specify how long the caller is prepared to wait for the various CRUD operations of
	// this resource's nested resources.
	CustomTimeouts *ConstructRequest_CustomTimeouts `protobuf:"bytes,19,opt,name=customTimeouts,proto3" json:"customTimeouts,omitempty"`
	// The URN of a resource that this resource (and thus its nested resources) will be implicitly deleted with. If the
	// resource referred to by this URN is deleted in the same operation that this resource would be deleted, the
	// [](pulumirpc.ResourceProvider.Delete) call for this resource will be elided (since this dependency signals that
	// it will have already been deleted).
	DeletedWith string `protobuf:"bytes,20,opt,name=deletedWith,proto3" json:"deletedWith,omitempty"`
	// If true, this resource (and its nested resources) must be deleted *before* its replacement is created.
	DeleteBeforeReplace bool `protobuf:"varint,21,opt,name=deleteBeforeReplace,proto3" json:"deleteBeforeReplace,omitempty"`
	// A set of [property paths](property-paths) that should be treated as unchanged.
	IgnoreChanges []string `protobuf:"bytes,22,rep,name=ignoreChanges,proto3" json:"ignoreChanges,omitempty"`
	// A set of properties that, when changed, trigger a replacement.
	ReplaceOnChanges []string `protobuf:"bytes,23,rep,name=replaceOnChanges,proto3" json:"replaceOnChanges,omitempty"`
	// True if [](pulumirpc.ResourceProvider.Delete) should *not* be called when the resource (and by extension, its
	// nested resources) are removed from a Pulumi program.
	RetainOnDelete bool `protobuf:"varint,24,opt,name=retainOnDelete,proto3" json:"retainOnDelete,omitempty"`
	// True if the caller is capable of accepting output values in response to the call. If this is set, these outputs
	// may be used to communicate dependency information and so there is no need to populate
	// [](pulumirpc.ConstructResponse)'s `stateDependencies` field.
	AcceptsOutputValues bool `protobuf:"varint,25,opt,name=accepts_output_values,json=acceptsOutputValues,proto3" json:"accepts_output_values,omitempty"`
}

func (x *ConstructRequest) Reset() {
	*x = ConstructRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ConstructRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ConstructRequest) ProtoMessage() {}

func (x *ConstructRequest) 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 ConstructRequest.ProtoReflect.Descriptor instead.
func (*ConstructRequest) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{26}
}

func (x *ConstructRequest) GetProject() string {
	if x != nil {
		return x.Project
	}
	return ""
}

func (x *ConstructRequest) GetStack() string {
	if x != nil {
		return x.Stack
	}
	return ""
}

func (x *ConstructRequest) GetConfig() map[string]string {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *ConstructRequest) GetDryRun() bool {
	if x != nil {
		return x.DryRun
	}
	return false
}

func (x *ConstructRequest) GetParallel() int32 {
	if x != nil {
		return x.Parallel
	}
	return 0
}

func (x *ConstructRequest) GetMonitorEndpoint() string {
	if x != nil {
		return x.MonitorEndpoint
	}
	return ""
}

func (x *ConstructRequest) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *ConstructRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ConstructRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *ConstructRequest) GetInputs() *structpb.Struct {
	if x != nil {
		return x.Inputs
	}
	return nil
}

func (x *ConstructRequest) GetInputDependencies() map[string]*ConstructRequest_PropertyDependencies {
	if x != nil {
		return x.InputDependencies
	}
	return nil
}

func (x *ConstructRequest) GetProviders() map[string]string {
	if x != nil {
		return x.Providers
	}
	return nil
}

func (x *ConstructRequest) GetDependencies() []string {
	if x != nil {
		return x.Dependencies
	}
	return nil
}

func (x *ConstructRequest) GetConfigSecretKeys() []string {
	if x != nil {
		return x.ConfigSecretKeys
	}
	return nil
}

func (x *ConstructRequest) GetOrganization() string {
	if x != nil {
		return x.Organization
	}
	return ""
}

func (x *ConstructRequest) GetProtect() bool {
	if x != nil {
		return x.Protect
	}
	return false
}

func (x *ConstructRequest) GetAliases() []string {
	if x != nil {
		return x.Aliases
	}
	return nil
}

func (x *ConstructRequest) GetAdditionalSecretOutputs() []string {
	if x != nil {
		return x.AdditionalSecretOutputs
	}
	return nil
}

func (x *ConstructRequest) GetCustomTimeouts() *ConstructRequest_CustomTimeouts {
	if x != nil {
		return x.CustomTimeouts
	}
	return nil
}

func (x *ConstructRequest) GetDeletedWith() string {
	if x != nil {
		return x.DeletedWith
	}
	return ""
}

func (x *ConstructRequest) GetDeleteBeforeReplace() bool {
	if x != nil {
		return x.DeleteBeforeReplace
	}
	return false
}

func (x *ConstructRequest) GetIgnoreChanges() []string {
	if x != nil {
		return x.IgnoreChanges
	}
	return nil
}

func (x *ConstructRequest) GetReplaceOnChanges() []string {
	if x != nil {
		return x.ReplaceOnChanges
	}
	return nil
}

func (x *ConstructRequest) GetRetainOnDelete() bool {
	if x != nil {
		return x.RetainOnDelete
	}
	return false
}

func (x *ConstructRequest) GetAcceptsOutputValues() bool {
	if x != nil {
		return x.AcceptsOutputValues
	}
	return false
}

// `ConstructResponse` is the type of responses sent by a [](pulumirpc.ResourceProvider.Construct) call.
type ConstructResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The URN of the constructed component resource.
	Urn string `protobuf:"bytes,1,opt,name=urn,proto3" json:"urn,omitempty"`
	// Any output properties that the component registered as part of its construction.
	State *structpb.Struct `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	// A map of property dependencies for the component's outputs. This will be set if the caller indicated that it
	// could not receive dependency-communicating [output](outputs) values by setting [](pulumirpc.ConstructRequest)'s
	// `accepts_output_values` field to false.
	StateDependencies map[string]*ConstructResponse_PropertyDependencies `protobuf:"bytes,3,rep,name=stateDependencies,proto3" json:"stateDependencies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

func (x *ConstructResponse) Reset() {
	*x = ConstructResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ConstructResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ConstructResponse) ProtoMessage() {}

func (x *ConstructResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[27]
	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 ConstructResponse.ProtoReflect.Descriptor instead.
func (*ConstructResponse) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{27}
}

func (x *ConstructResponse) GetUrn() string {
	if x != nil {
		return x.Urn
	}
	return ""
}

func (x *ConstructResponse) GetState() *structpb.Struct {
	if x != nil {
		return x.State
	}
	return nil
}

func (x *ConstructResponse) GetStateDependencies() map[string]*ConstructResponse_PropertyDependencies {
	if x != nil {
		return x.StateDependencies
	}
	return nil
}

// ErrorResourceInitFailed is sent as a Detail `ResourceProvider.{Create, Update}` fail because a
// resource was created successfully, but failed to initialize.
type ErrorResourceInitFailed struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id         string           `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`                 // the ID of the created resource.
	Properties *structpb.Struct `protobuf:"bytes,2,opt,name=properties,proto3" json:"properties,omitempty"` // any properties that were computed during updating.
	Reasons    []string         `protobuf:"bytes,3,rep,name=reasons,proto3" json:"reasons,omitempty"`       // error messages associated with initialization failure.
	Inputs     *structpb.Struct `protobuf:"bytes,4,opt,name=inputs,proto3" json:"inputs,omitempty"`         // the current inputs to this resource (only applicable for Read)
}

func (x *ErrorResourceInitFailed) Reset() {
	*x = ErrorResourceInitFailed{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ErrorResourceInitFailed) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ErrorResourceInitFailed) ProtoMessage() {}

func (x *ErrorResourceInitFailed) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[28]
	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 ErrorResourceInitFailed.ProtoReflect.Descriptor instead.
func (*ErrorResourceInitFailed) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{28}
}

func (x *ErrorResourceInitFailed) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ErrorResourceInitFailed) GetProperties() *structpb.Struct {
	if x != nil {
		return x.Properties
	}
	return nil
}

func (x *ErrorResourceInitFailed) GetReasons() []string {
	if x != nil {
		return x.Reasons
	}
	return nil
}

func (x *ErrorResourceInitFailed) GetInputs() *structpb.Struct {
	if x != nil {
		return x.Inputs
	}
	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"`
	// the optional provider key for the mapping being requested, if this is empty the provider should assume this
	// request is from an old engine from before GetMappings and should return it's "primary" mapping. If this is set
	// then the `provider` field in GetMappingResponse should be the same.
	Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"`
}

func (x *GetMappingRequest) Reset() {
	*x = GetMappingRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[29]
		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[29]
	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{29}
}

func (x *GetMappingRequest) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *GetMappingRequest) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	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[30]
		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[30]
	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{30}
}

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
}

// GetMappingsRequest allows providers to return ecosystem specific information without having to send back large data
// blobs for provider mappings that the engine doesn't then need.
type GetMappingsRequest 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 *GetMappingsRequest) Reset() {
	*x = GetMappingsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetMappingsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetMappingsRequest) ProtoMessage() {}

func (x *GetMappingsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[31]
	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 GetMappingsRequest.ProtoReflect.Descriptor instead.
func (*GetMappingsRequest) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{31}
}

func (x *GetMappingsRequest) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

// GetMappingsRequest returns a list of providers that this provider can provide mapping information for.
type GetMappingsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the provider keys this provider can supply mappings for. For example the Pulumi provider "terraform-template"
	// would return ["template"] for this.
	Providers []string `protobuf:"bytes,1,rep,name=providers,proto3" json:"providers,omitempty"`
}

func (x *GetMappingsResponse) Reset() {
	*x = GetMappingsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetMappingsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetMappingsResponse) ProtoMessage() {}

func (x *GetMappingsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[32]
	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 GetMappingsResponse.ProtoReflect.Descriptor instead.
func (*GetMappingsResponse) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{32}
}

func (x *GetMappingsResponse) GetProviders() []string {
	if x != nil {
		return x.Providers
	}
	return nil
}

// A parameter value, represented as an array of strings, as might be provided by a command-line invocation, such as
// that used to generate an SDK.
type ParameterizeRequest_ParametersArgs struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Args []string `protobuf:"bytes,1,rep,name=args,proto3" json:"args,omitempty"`
}

func (x *ParameterizeRequest_ParametersArgs) Reset() {
	*x = ParameterizeRequest_ParametersArgs{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ParameterizeRequest_ParametersArgs) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ParameterizeRequest_ParametersArgs) ProtoMessage() {}

func (x *ParameterizeRequest_ParametersArgs) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[33]
	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 ParameterizeRequest_ParametersArgs.ProtoReflect.Descriptor instead.
func (*ParameterizeRequest_ParametersArgs) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{2, 0}
}

func (x *ParameterizeRequest_ParametersArgs) GetArgs() []string {
	if x != nil {
		return x.Args
	}
	return nil
}

// A parameter value, represented by an arbitrary array of bytes accompanied by a name and version. This is expected
// to be the format used by parameterized provider SDKs.
type ParameterizeRequest_ParametersValue struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The sub-package name for this sub-schema parameterization.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The sub-package version for this sub-schema parameterization.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// The embedded value from the sub-package.
	Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *ParameterizeRequest_ParametersValue) Reset() {
	*x = ParameterizeRequest_ParametersValue{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[34]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ParameterizeRequest_ParametersValue) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ParameterizeRequest_ParametersValue) ProtoMessage() {}

func (x *ParameterizeRequest_ParametersValue) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[34]
	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 ParameterizeRequest_ParametersValue.ProtoReflect.Descriptor instead.
func (*ParameterizeRequest_ParametersValue) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{2, 1}
}

func (x *ParameterizeRequest_ParametersValue) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ParameterizeRequest_ParametersValue) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *ParameterizeRequest_ParametersValue) GetValue() []byte {
	if x != nil {
		return x.Value
	}
	return nil
}

// The type of key-value pairs representing keys that are missing from a [](pulumirpc.ResourceProvider.Configure)
// call.
type ConfigureErrorMissingKeys_MissingKey struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The name of the missing configuration key.
	//
	// :::{note}
	// This should be the *Pulumi name* of the missing key, and not any provider-internal or upstream name. Names
	// that differ between Pulumi and an upstream provider should be translated prior to being returned.
	// :::
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// A description of the missing config key, as reported by the provider.
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
}

func (x *ConfigureErrorMissingKeys_MissingKey) Reset() {
	*x = ConfigureErrorMissingKeys_MissingKey{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[36]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ConfigureErrorMissingKeys_MissingKey) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ConfigureErrorMissingKeys_MissingKey) ProtoMessage() {}

func (x *ConfigureErrorMissingKeys_MissingKey) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[36]
	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 ConfigureErrorMissingKeys_MissingKey.ProtoReflect.Descriptor instead.
func (*ConfigureErrorMissingKeys_MissingKey) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{8, 0}
}

func (x *ConfigureErrorMissingKeys_MissingKey) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ConfigureErrorMissingKeys_MissingKey) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

// ArgumentDependencies describes the resources that a particular argument depends on.
type CallRequest_ArgumentDependencies struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Urns []string `protobuf:"bytes,1,rep,name=urns,proto3" json:"urns,omitempty"` // A list of URNs this argument depends on.
}

func (x *CallRequest_ArgumentDependencies) Reset() {
	*x = CallRequest_ArgumentDependencies{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CallRequest_ArgumentDependencies) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CallRequest_ArgumentDependencies) ProtoMessage() {}

func (x *CallRequest_ArgumentDependencies) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[37]
	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 CallRequest_ArgumentDependencies.ProtoReflect.Descriptor instead.
func (*CallRequest_ArgumentDependencies) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{11, 0}
}

func (x *CallRequest_ArgumentDependencies) GetUrns() []string {
	if x != nil {
		return x.Urns
	}
	return nil
}

// ReturnDependencies describes the resources that a particular return value depends on.
type CallResponse_ReturnDependencies struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Urns []string `protobuf:"bytes,1,rep,name=urns,proto3" json:"urns,omitempty"` // A list of URNs this return value depends on.
}

func (x *CallResponse_ReturnDependencies) Reset() {
	*x = CallResponse_ReturnDependencies{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[40]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CallResponse_ReturnDependencies) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CallResponse_ReturnDependencies) ProtoMessage() {}

func (x *CallResponse_ReturnDependencies) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[40]
	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 CallResponse_ReturnDependencies.ProtoReflect.Descriptor instead.
func (*CallResponse_ReturnDependencies) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{12, 0}
}

func (x *CallResponse_ReturnDependencies) GetUrns() []string {
	if x != nil {
		return x.Urns
	}
	return nil
}

// Configuration for automatic resource naming behavior. This structure contains fields that control how the provider
// handles resource names, including proposed names and naming modes.
type CheckRequest_AutonamingOptions struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The proposed name for the resource being checked. This may be used by the provider as a suggestion
	// for the final resource name, depending on the specified mode.
	ProposedName string                              `protobuf:"bytes,1,opt,name=proposed_name,json=proposedName,proto3" json:"proposed_name,omitempty"`
	Mode         CheckRequest_AutonamingOptions_Mode `protobuf:"varint,2,opt,name=mode,proto3,enum=pulumirpc.CheckRequest_AutonamingOptions_Mode" json:"mode,omitempty"`
}

func (x *CheckRequest_AutonamingOptions) Reset() {
	*x = CheckRequest_AutonamingOptions{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[42]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CheckRequest_AutonamingOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CheckRequest_AutonamingOptions) ProtoMessage() {}

func (x *CheckRequest_AutonamingOptions) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[42]
	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 CheckRequest_AutonamingOptions.ProtoReflect.Descriptor instead.
func (*CheckRequest_AutonamingOptions) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{13, 0}
}

func (x *CheckRequest_AutonamingOptions) GetProposedName() string {
	if x != nil {
		return x.ProposedName
	}
	return ""
}

func (x *CheckRequest_AutonamingOptions) GetMode() CheckRequest_AutonamingOptions_Mode {
	if x != nil {
		return x.Mode
	}
	return CheckRequest_AutonamingOptions_PROPOSE
}

// A `PropertyDependencies` list is a set of URNs that a particular property may depend on.
type ConstructRequest_PropertyDependencies struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// A list of URNs that this property depends on.
	Urns []string `protobuf:"bytes,1,rep,name=urns,proto3" json:"urns,omitempty"`
}

func (x *ConstructRequest_PropertyDependencies) Reset() {
	*x = ConstructRequest_PropertyDependencies{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[44]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ConstructRequest_PropertyDependencies) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ConstructRequest_PropertyDependencies) ProtoMessage() {}

func (x *ConstructRequest_PropertyDependencies) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[44]
	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 ConstructRequest_PropertyDependencies.ProtoReflect.Descriptor instead.
func (*ConstructRequest_PropertyDependencies) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{26, 0}
}

func (x *ConstructRequest_PropertyDependencies) GetUrns() []string {
	if x != nil {
		return x.Urns
	}
	return nil
}

// A `CustomTimeouts` object encapsulates a set of timeouts for the various CRUD operations that might be performed
// on this resource's nested resources. Timeout values are specified as duration strings, such as `"5ms"` (5
// milliseconds), `"40s"` (40 seconds), or `"1m30s"` (1 minute and 30 seconds). The following units of time are
// supported:
//
// * `ns`: nanoseconds
// * `us` or `µs`: microseconds
// * `ms`: milliseconds
// * `s`: seconds
// * `m`: minutes
// * `h`: hours
type ConstructRequest_CustomTimeouts struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// How long a caller is prepared to wait for a nested resource's [](pulumirpc.ResourceProvider.Create) operation
	// to complete.
	Create string `protobuf:"bytes,1,opt,name=create,proto3" json:"create,omitempty"`
	// How long a caller is prepared to wait for a nested resource's [](pulumirpc.ResourceProvider.Update) operation
	// to complete.
	Update string `protobuf:"bytes,2,opt,name=update,proto3" json:"update,omitempty"`
	// How long a caller is prepared to wait for a nested resource's [](pulumirpc.ResourceProvider.Delete) operation
	// to complete.
	Delete string `protobuf:"bytes,3,opt,name=delete,proto3" json:"delete,omitempty"`
}

func (x *ConstructRequest_CustomTimeouts) Reset() {
	*x = ConstructRequest_CustomTimeouts{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[45]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ConstructRequest_CustomTimeouts) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ConstructRequest_CustomTimeouts) ProtoMessage() {}

func (x *ConstructRequest_CustomTimeouts) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[45]
	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 ConstructRequest_CustomTimeouts.ProtoReflect.Descriptor instead.
func (*ConstructRequest_CustomTimeouts) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{26, 1}
}

func (x *ConstructRequest_CustomTimeouts) GetCreate() string {
	if x != nil {
		return x.Create
	}
	return ""
}

func (x *ConstructRequest_CustomTimeouts) GetUpdate() string {
	if x != nil {
		return x.Update
	}
	return ""
}

func (x *ConstructRequest_CustomTimeouts) GetDelete() string {
	if x != nil {
		return x.Delete
	}
	return ""
}

// A `PropertyDependencies` list is a set of URNs that a particular property may depend on.
type ConstructResponse_PropertyDependencies struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// A list of URNs that this property depends on.
	Urns []string `protobuf:"bytes,1,rep,name=urns,proto3" json:"urns,omitempty"`
}

func (x *ConstructResponse_PropertyDependencies) Reset() {
	*x = ConstructResponse_PropertyDependencies{}
	if protoimpl.UnsafeEnabled {
		mi := &file_pulumi_provider_proto_msgTypes[49]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ConstructResponse_PropertyDependencies) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ConstructResponse_PropertyDependencies) ProtoMessage() {}

func (x *ConstructResponse_PropertyDependencies) ProtoReflect() protoreflect.Message {
	mi := &file_pulumi_provider_proto_msgTypes[49]
	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 ConstructResponse_PropertyDependencies.ProtoReflect.Descriptor instead.
func (*ConstructResponse_PropertyDependencies) Descriptor() ([]byte, []int) {
	return file_pulumi_provider_proto_rawDescGZIP(), []int{27, 0}
}

func (x *ConstructResponse_PropertyDependencies) GetUrns() []string {
	if x != nil {
		return x.Urns
	}
	return nil
}

var File_pulumi_provider_proto protoreflect.FileDescriptor

var file_pulumi_provider_proto_rawDesc = []byte{
	0x0a, 0x15, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
	0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72,
	0x70, 0x63, 0x1a, 0x13, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69,
	0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x22, 0x95, 0x01, 0x0a, 0x18, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x48,
	0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
	0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x41,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x64,
	0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
	0x72, 0x6f, 0x6f, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2b, 0x0a,
	0x11, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f,
	0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61,
	0x6d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x1b, 0x0a, 0x19, 0x50, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xad, 0x02, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x61,
	0x6d, 0x65, 0x74, 0x65, 0x72, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x43, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
	0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65,
	0x74, 0x65, 0x72, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61,
	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x04,
	0x61, 0x72, 0x67, 0x73, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e,
	0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x24, 0x0a, 0x0e,
	0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x41, 0x72, 0x67, 0x73, 0x12, 0x12,
	0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72,
	0x67, 0x73, 0x1a, 0x55, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61, 0x72,
	0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x44, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x61, 0x6d,
	0x65, 0x74, 0x65, 0x72, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01,
	0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f,
	0x73, 0x75, 0x62, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
	0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x75, 0x62, 0x70, 0x61, 0x63, 0x6b,
	0x61, 0x67, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x11, 0x73, 0x75, 0x62, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x22, 0x2b, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d,
	0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68,
	0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d,
	0x61, 0x22, 0xfd, 0x02, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62,
	0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 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, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73,
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73,
	0x12, 0x2b, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 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, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x24, 0x0a,
	0x0d, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x53, 0x65, 0x63, 0x72,
	0x65, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x63,
	0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x28, 0x0a,
	0x10, 0x73, 0x65, 0x6e, 0x64, 0x73, 0x5f, 0x6f, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74,
	0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x73, 0x4f, 0x6c,
	0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x1a, 0x73, 0x65, 0x6e, 0x64, 0x73,
	0x5f, 0x6f, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x64,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x73, 0x65, 0x6e,
	0x64, 0x73, 0x4f, 0x6c, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x54, 0x6f, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x1a, 0x3c, 0x0a, 0x0e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73,
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
	0x01, 0x22, 0xff, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x70,
	0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d,
	0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x28, 0x0a,
	0x0f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73,
	0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x70,
	0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x73, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75,
	0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74,
	0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x21, 0x73, 0x75, 0x70, 0x70, 0x6f,
	0x72, 0x74, 0x73, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6e, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x63,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x1f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x41, 0x75, 0x74, 0x6f,
	0x6e, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x22, 0xb2, 0x01, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
	0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79,
	0x73, 0x12, 0x51, 0x0a, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x73,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72,
	0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x45, 0x72, 0x72, 0x6f,
	0x72, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x73, 0x2e, 0x4d, 0x69, 0x73,
	0x73, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67,
	0x4b, 0x65, 0x79, 0x73, 0x1a, 0x42, 0x0a, 0x0a, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4b,
	0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,
	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8b, 0x01, 0x0a, 0x0d, 0x49, 0x6e, 0x76,
	0x6f, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x6f,
	0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x6f, 0x6b, 0x12, 0x2b, 0x0a, 0x04,
	0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 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, 0x04, 0x61, 0x72, 0x67, 0x73, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x07, 0x52,
	0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
	0x6f, 0x6e, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x73, 0x52, 0x11, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c,
	0x6f, 0x61, 0x64, 0x55, 0x52, 0x4c, 0x22, 0x76, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x75,
	0x72, 0x6e, 0x18, 0x01, 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, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x12, 0x33, 0x0a, 0x08, 0x66, 0x61, 0x69,
	0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x75,
	0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69,
	0x6c, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x22, 0xae,
	0x06, 0x0a, 0x0b, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10,
	0x0a, 0x03, 0x74, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x6f, 0x6b,
	0x12, 0x2b, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 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, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x55, 0x0a,
	0x0f, 0x61, 0x72, 0x67, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73,
	0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72,
	0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41,
	0x72, 0x67, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x52, 0x0f, 0x61, 0x72, 0x67, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e,
	0x63, 0x69, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14,
	0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73,
	0x74, 0x61, 0x63, 0x6b, 0x12, 0x3a, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63,
	0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74,
	0x4b, 0x65, 0x79, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x16, 0x0a, 0x06,
	0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72,
	0x79, 0x52, 0x75, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c,
	0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c,
	0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f,
	0x69, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x69, 0x74,
	0x6f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x72,
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32,
	0x0a, 0x15, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x61,
	0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75,
	0x65, 0x73, 0x1a, 0x2a, 0x0a, 0x14, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65,
	0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x72,
	0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x75, 0x72, 0x6e, 0x73, 0x1a, 0x6f,
	0x0a, 0x14, 0x41, 0x72, 0x67, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65,
	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69,
	0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e,
	0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e,
	0x63, 0x69, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
	0x39, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
	0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05,
	0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x0d, 0x10, 0x0e, 0x4a, 0x04, 0x08, 0x10,
	0x10, 0x11, 0x4a, 0x04, 0x08, 0x0f, 0x10, 0x10, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
	0x65, 0x72, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x70, 0x6c, 0x75,
	0x67, 0x69, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x52, 0x4c, 0x52, 0x0f,
	0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x52,
	0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22,
	0xf2, 0x02, 0x0a, 0x0c, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x2f, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x18, 0x01, 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, 0x72, 0x65, 0x74, 0x75, 0x72,
	0x6e, 0x12, 0x33, 0x0a, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e,
	0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x61,
	0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x12, 0x5f, 0x0a, 0x12, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e,
	0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43,
	0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x75,
	0x72, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x52, 0x12, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e,
	0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x28, 0x0a, 0x12, 0x52, 0x65, 0x74, 0x75, 0x72,
	0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x12, 0x0a,
	0x04, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x75, 0x72, 0x6e,
	0x73, 0x1a, 0x71, 0x0a, 0x17, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e,
	0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x40,
	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
	0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x44, 0x65, 0x70,
	0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x3a, 0x02, 0x38, 0x01, 0x22, 0xd1, 0x03, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x2b, 0x0a, 0x04, 0x6f, 0x6c, 0x64, 0x73, 0x18,
	0x02, 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, 0x04,
	0x6f, 0x6c, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x04, 0x6e, 0x65, 0x77, 0x73, 0x18, 0x03, 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, 0x04, 0x6e, 0x65, 0x77,
	0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x65, 0x65, 0x64, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x65, 0x65,
	0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x61, 0x75, 0x74,
	0x6f, 0x6e, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e,
	0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6e, 0x61, 0x6d, 0x69, 0x6e,
	0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x6e, 0x61,
	0x6d, 0x69, 0x6e, 0x67, 0x1a, 0xab, 0x01, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x6f, 0x6e, 0x61, 0x6d,
	0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72,
	0x6f, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12,
	0x42, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e,
	0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6e, 0x61, 0x6d, 0x69, 0x6e,
	0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d,
	0x6f, 0x64, 0x65, 0x22, 0x2d, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x50,
	0x52, 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x46, 0x4f,
	0x52, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45,
	0x10, 0x02, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e,
	0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x75, 0x0a, 0x0d, 0x43, 0x68, 0x65, 0x63,
	0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x69, 0x6e, 0x70,
	0x75, 0x74, 0x73, 0x18, 0x01, 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, 0x12, 0x33, 0x0a, 0x08, 0x66, 0x61,
	0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70,
	0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61,
	0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x22,
	0x42, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12,
	0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72,
	0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61,
	0x73, 0x6f, 0x6e, 0x22, 0x8f, 0x02, 0x0a, 0x0b, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x2b, 0x0a, 0x04, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x03, 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, 0x04, 0x6f, 0x6c,
	0x64, 0x73, 0x12, 0x2b, 0x0a, 0x04, 0x6e, 0x65, 0x77, 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, 0x04, 0x6e, 0x65, 0x77, 0x73, 0x12,
	0x24, 0x0a, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73,
	0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x43, 0x68,
	0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x0a, 0x6f, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x70,
	0x75, 0x74, 0x73, 0x18, 0x06, 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, 0x09, 0x6f, 0x6c, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x12, 0x0a,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
	0x74, 0x79, 0x44, 0x69, 0x66, 0x66, 0x12, 0x30, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63,
	0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x44, 0x69, 0x66, 0x66, 0x2e, 0x4b, 0x69,
	0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75,
	0x74, 0x44, 0x69, 0x66, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x6e, 0x70,
	0x75, 0x74, 0x44, 0x69, 0x66, 0x66, 0x22, 0x60, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x07,
	0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x44, 0x44, 0x5f, 0x52,
	0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45,
	0x54, 0x45, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x52,
	0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x44, 0x41,
	0x54, 0x45, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x52,
	0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x05, 0x22, 0xdd, 0x03, 0x0a, 0x0c, 0x44, 0x69, 0x66,
	0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70,
	0x6c, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70,
	0x6c, 0x61, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73,
	0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12,
	0x30, 0x0a, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x52,
	0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63,
	0x65, 0x12, 0x3d, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x23, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x44,
	0x69, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x69, 0x66, 0x66,
	0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73,
	0x12, 0x14, 0x0a, 0x05, 0x64, 0x69, 0x66, 0x66, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x05, 0x64, 0x69, 0x66, 0x66, 0x73, 0x12, 0x4d, 0x0a, 0x0c, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
	0x65, 0x64, 0x44, 0x69, 0x66, 0x66, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70,
	0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x44, 0x69,
	0x66, 0x66, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65,
	0x64, 0x44, 0x69, 0x66, 0x66, 0x12, 0x28, 0x0a, 0x0f, 0x68, 0x61, 0x73, 0x44, 0x65, 0x74, 0x61,
	0x69, 0x6c, 0x65, 0x64, 0x44, 0x69, 0x66, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f,
	0x68, 0x61, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x44, 0x69, 0x66, 0x66, 0x1a,
	0x58, 0x0a, 0x11, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x44, 0x69, 0x66, 0x66, 0x45,
	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70,
	0x63, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x44, 0x69, 0x66, 0x66, 0x52, 0x05,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3d, 0x0a, 0x0b, 0x44, 0x69, 0x66,
	0x66, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x49, 0x46, 0x46,
	0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x49,
	0x46, 0x46, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x49, 0x46,
	0x46, 0x5f, 0x53, 0x4f, 0x4d, 0x45, 0x10, 0x02, 0x22, 0xb6, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72,
	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x37, 0x0a, 0x0a,
	0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 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, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65,
	0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12,
	0x18, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a,
	0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70,
	0x65, 0x22, 0x59, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x02, 0x69, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
	0x73, 0x18, 0x02, 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, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xc1, 0x01, 0x0a,
	0x0b, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03,
	0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x37,
	0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 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, 0x0a, 0x70, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 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, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04,
	0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
	0x22, 0x88, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
	0x64, 0x12, 0x37, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18,
	0x02, 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, 0x0a,
	0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x69, 0x6e,
	0x70, 0x75, 0x74, 0x73, 0x18, 0x03, 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, 0x22, 0xc5, 0x02, 0x0a, 0x0d,
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a,
	0x03, 0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12,
	0x2b, 0x0a, 0x04, 0x6f, 0x6c, 0x64, 0x73, 0x18, 0x03, 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, 0x04, 0x6f, 0x6c, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x04,
	0x6e, 0x65, 0x77, 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, 0x04, 0x6e, 0x65, 0x77, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d,
	0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65,
	0x6f, 0x75, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61,
	0x6e, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x67, 0x6e, 0x6f,
	0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x65,
	0x76, 0x69, 0x65, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x65, 0x76,
	0x69, 0x65, 0x77, 0x12, 0x36, 0x0a, 0x0a, 0x6f, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74,
	0x73, 0x18, 0x08, 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, 0x09, 0x6f, 0x6c, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
	0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74,
	0x79, 0x70, 0x65, 0x22, 0x49, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
	0x69, 0x65, 0x73, 0x18, 0x01, 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, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xe4,
	0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
	0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
	0x72, 0x6e, 0x12, 0x37, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
	0x18, 0x03, 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,
	0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x74,
	0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x74, 0x69,
	0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x36, 0x0a, 0x0a, 0x6f, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x70,
	0x75, 0x74, 0x73, 0x18, 0x05, 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, 0x09, 0x6f, 0x6c, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x12, 0x0a,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xad, 0x0b, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72,
	0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x3f, 0x0a, 0x06, 0x63, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 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, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x64,
	0x72, 0x79, 0x52, 0x75, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79,
	0x52, 0x75, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x12,
	0x28, 0x0a, 0x0f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
	0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f,
	0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
	0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x69, 0x6e, 0x70,
	0x75, 0x74, 0x73, 0x18, 0x0a, 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, 0x12, 0x60, 0x0a, 0x11, 0x69, 0x6e,
	0x70, 0x75, 0x74, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18,
	0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 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, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e,
	0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x69, 0x6e, 0x70, 0x75, 0x74,
	0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x09,
	0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x2a, 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, 0x2e, 0x50, 0x72, 0x6f,
	0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x70, 0x72, 0x6f,
	0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64,
	0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65,
	0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x18, 0x10,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x63, 0x72,
	0x65, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72,
	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72,
	0x6f, 0x74, 0x65, 0x63, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x6f,
	0x74, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18,
	0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x38,
	0x0a, 0x17, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x72,
	0x65, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x17, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65,
	0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74,
	0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2a, 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, 0x2e, 0x43, 0x75,
	0x73, 0x74, 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x52, 0x0e, 0x63, 0x75,
	0x73, 0x74, 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b,
	0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x12, 0x30,
	0x0a, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x52, 0x65,
	0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65,
	0x12, 0x24, 0x0a, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
	0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x43,
	0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63,
	0x65, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x10, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67,
	0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x4f, 0x6e, 0x44, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x72, 0x65, 0x74, 0x61,
	0x69, 0x6e, 0x4f, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x63,
	0x63, 0x65, 0x70, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c,
	0x75, 0x65, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x61, 0x63, 0x63, 0x65, 0x70,
	0x74, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x2a,
	0x0a, 0x14, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64,
	0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x75, 0x72, 0x6e, 0x73, 0x1a, 0x58, 0x0a, 0x0e, 0x43, 0x75,
	0x73, 0x74, 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06,
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06,
	0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
	0x76, 0x0a, 0x16, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e,
	0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 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, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79,
	0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3c, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x76, 0x69,
	0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdc, 0x02, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72,
	0x75, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75,
	0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x2d, 0x0a,
	0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 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, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x61, 0x0a, 0x11,
	0x73, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65,
	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 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, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e,
	0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x73, 0x74,
	0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x1a,
	0x2a, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x44, 0x65, 0x70, 0x65, 0x6e,
	0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x72, 0x6e, 0x73, 0x18,
	0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x75, 0x72, 0x6e, 0x73, 0x1a, 0x77, 0x0a, 0x16, 0x53,
	0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73,
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x47, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 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, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x44, 0x65, 0x70,
	0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x3a, 0x02, 0x38, 0x01, 0x22, 0xad, 0x01, 0x0a, 0x17, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
	0x12, 0x37, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02,
	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, 0x0a, 0x70,
	0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x61,
	0x73, 0x6f, 0x6e, 0x73, 0x18, 0x03, 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, 0x22, 0x41, 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, 0x12, 0x1a, 0x0a, 0x08, 0x70,
	0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
	0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 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, 0x22, 0x26, 0x0a,
	0x12, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 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, 0x33, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x70,
	0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09,
	0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x32, 0xb3, 0x0b, 0x0a, 0x10, 0x52,
	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12,
	0x58, 0x0a, 0x09, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x12, 0x23, 0x2e, 0x70,
	0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
	0x72, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x24, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x50, 0x61, 0x72,
	0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x69, 0x7a, 0x65, 0x12, 0x1e, 0x2e, 0x70, 0x75, 0x6c, 0x75,
	0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x69,
	0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x75, 0x6c, 0x75,
	0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x69,
	0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 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, 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, 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,
	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, 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, 0x12, 0x4b, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e,
	0x67, 0x12, 0x1c, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65,
	0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x1d, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4d,
	0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
	0x12, 0x4e, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12,
	0x1d, 0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4d,
	0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e,
	0x2e, 0x70, 0x75, 0x6c, 0x75, 0x6d, 0x69, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61,
	0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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 (
	file_pulumi_provider_proto_rawDescOnce sync.Once
	file_pulumi_provider_proto_rawDescData = file_pulumi_provider_proto_rawDesc
)

func file_pulumi_provider_proto_rawDescGZIP() []byte {
	file_pulumi_provider_proto_rawDescOnce.Do(func() {
		file_pulumi_provider_proto_rawDescData = protoimpl.X.CompressGZIP(file_pulumi_provider_proto_rawDescData)
	})
	return file_pulumi_provider_proto_rawDescData
}

var file_pulumi_provider_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_pulumi_provider_proto_msgTypes = make([]protoimpl.MessageInfo, 51)
var file_pulumi_provider_proto_goTypes = []interface{}{
	(CheckRequest_AutonamingOptions_Mode)(0),    // 0: pulumirpc.CheckRequest.AutonamingOptions.Mode
	(PropertyDiff_Kind)(0),                      // 1: pulumirpc.PropertyDiff.Kind
	(DiffResponse_DiffChanges)(0),               // 2: pulumirpc.DiffResponse.DiffChanges
	(*ProviderHandshakeRequest)(nil),            // 3: pulumirpc.ProviderHandshakeRequest
	(*ProviderHandshakeResponse)(nil),           // 4: pulumirpc.ProviderHandshakeResponse
	(*ParameterizeRequest)(nil),                 // 5: pulumirpc.ParameterizeRequest
	(*ParameterizeResponse)(nil),                // 6: pulumirpc.ParameterizeResponse
	(*GetSchemaRequest)(nil),                    // 7: pulumirpc.GetSchemaRequest
	(*GetSchemaResponse)(nil),                   // 8: pulumirpc.GetSchemaResponse
	(*ConfigureRequest)(nil),                    // 9: pulumirpc.ConfigureRequest
	(*ConfigureResponse)(nil),                   // 10: pulumirpc.ConfigureResponse
	(*ConfigureErrorMissingKeys)(nil),           // 11: pulumirpc.ConfigureErrorMissingKeys
	(*InvokeRequest)(nil),                       // 12: pulumirpc.InvokeRequest
	(*InvokeResponse)(nil),                      // 13: pulumirpc.InvokeResponse
	(*CallRequest)(nil),                         // 14: pulumirpc.CallRequest
	(*CallResponse)(nil),                        // 15: pulumirpc.CallResponse
	(*CheckRequest)(nil),                        // 16: pulumirpc.CheckRequest
	(*CheckResponse)(nil),                       // 17: pulumirpc.CheckResponse
	(*CheckFailure)(nil),                        // 18: pulumirpc.CheckFailure
	(*DiffRequest)(nil),                         // 19: pulumirpc.DiffRequest
	(*PropertyDiff)(nil),                        // 20: pulumirpc.PropertyDiff
	(*DiffResponse)(nil),                        // 21: pulumirpc.DiffResponse
	(*CreateRequest)(nil),                       // 22: pulumirpc.CreateRequest
	(*CreateResponse)(nil),                      // 23: pulumirpc.CreateResponse
	(*ReadRequest)(nil),                         // 24: pulumirpc.ReadRequest
	(*ReadResponse)(nil),                        // 25: pulumirpc.ReadResponse
	(*UpdateRequest)(nil),                       // 26: pulumirpc.UpdateRequest
	(*UpdateResponse)(nil),                      // 27: pulumirpc.UpdateResponse
	(*DeleteRequest)(nil),                       // 28: pulumirpc.DeleteRequest
	(*ConstructRequest)(nil),                    // 29: pulumirpc.ConstructRequest
	(*ConstructResponse)(nil),                   // 30: pulumirpc.ConstructResponse
	(*ErrorResourceInitFailed)(nil),             // 31: pulumirpc.ErrorResourceInitFailed
	(*GetMappingRequest)(nil),                   // 32: pulumirpc.GetMappingRequest
	(*GetMappingResponse)(nil),                  // 33: pulumirpc.GetMappingResponse
	(*GetMappingsRequest)(nil),                  // 34: pulumirpc.GetMappingsRequest
	(*GetMappingsResponse)(nil),                 // 35: pulumirpc.GetMappingsResponse
	(*ParameterizeRequest_ParametersArgs)(nil),  // 36: pulumirpc.ParameterizeRequest.ParametersArgs
	(*ParameterizeRequest_ParametersValue)(nil), // 37: pulumirpc.ParameterizeRequest.ParametersValue
	nil, // 38: pulumirpc.ConfigureRequest.VariablesEntry
	(*ConfigureErrorMissingKeys_MissingKey)(nil), // 39: pulumirpc.ConfigureErrorMissingKeys.MissingKey
	(*CallRequest_ArgumentDependencies)(nil),     // 40: pulumirpc.CallRequest.ArgumentDependencies
	nil,                                          // 41: pulumirpc.CallRequest.ArgDependenciesEntry
	nil,                                          // 42: pulumirpc.CallRequest.ConfigEntry
	(*CallResponse_ReturnDependencies)(nil),      // 43: pulumirpc.CallResponse.ReturnDependencies
	nil,                                          // 44: pulumirpc.CallResponse.ReturnDependenciesEntry
	(*CheckRequest_AutonamingOptions)(nil),       // 45: pulumirpc.CheckRequest.AutonamingOptions
	nil,                                          // 46: pulumirpc.DiffResponse.DetailedDiffEntry
	(*ConstructRequest_PropertyDependencies)(nil), // 47: pulumirpc.ConstructRequest.PropertyDependencies
	(*ConstructRequest_CustomTimeouts)(nil),       // 48: pulumirpc.ConstructRequest.CustomTimeouts
	nil,                                           // 49: pulumirpc.ConstructRequest.ConfigEntry
	nil,                                           // 50: pulumirpc.ConstructRequest.InputDependenciesEntry
	nil,                                           // 51: pulumirpc.ConstructRequest.ProvidersEntry
	(*ConstructResponse_PropertyDependencies)(nil), // 52: pulumirpc.ConstructResponse.PropertyDependencies
	nil,                     // 53: pulumirpc.ConstructResponse.StateDependenciesEntry
	(*structpb.Struct)(nil), // 54: google.protobuf.Struct
	(*emptypb.Empty)(nil),   // 55: google.protobuf.Empty
	(*PluginAttach)(nil),    // 56: pulumirpc.PluginAttach
	(*PluginInfo)(nil),      // 57: pulumirpc.PluginInfo
}
var file_pulumi_provider_proto_depIdxs = []int32{
	36, // 0: pulumirpc.ParameterizeRequest.args:type_name -> pulumirpc.ParameterizeRequest.ParametersArgs
	37, // 1: pulumirpc.ParameterizeRequest.value:type_name -> pulumirpc.ParameterizeRequest.ParametersValue
	38, // 2: pulumirpc.ConfigureRequest.variables:type_name -> pulumirpc.ConfigureRequest.VariablesEntry
	54, // 3: pulumirpc.ConfigureRequest.args:type_name -> google.protobuf.Struct
	39, // 4: pulumirpc.ConfigureErrorMissingKeys.missingKeys:type_name -> pulumirpc.ConfigureErrorMissingKeys.MissingKey
	54, // 5: pulumirpc.InvokeRequest.args:type_name -> google.protobuf.Struct
	54, // 6: pulumirpc.InvokeResponse.return:type_name -> google.protobuf.Struct
	18, // 7: pulumirpc.InvokeResponse.failures:type_name -> pulumirpc.CheckFailure
	54, // 8: pulumirpc.CallRequest.args:type_name -> google.protobuf.Struct
	41, // 9: pulumirpc.CallRequest.argDependencies:type_name -> pulumirpc.CallRequest.ArgDependenciesEntry
	42, // 10: pulumirpc.CallRequest.config:type_name -> pulumirpc.CallRequest.ConfigEntry
	54, // 11: pulumirpc.CallResponse.return:type_name -> google.protobuf.Struct
	18, // 12: pulumirpc.CallResponse.failures:type_name -> pulumirpc.CheckFailure
	44, // 13: pulumirpc.CallResponse.returnDependencies:type_name -> pulumirpc.CallResponse.ReturnDependenciesEntry
	54, // 14: pulumirpc.CheckRequest.olds:type_name -> google.protobuf.Struct
	54, // 15: pulumirpc.CheckRequest.news:type_name -> google.protobuf.Struct
	45, // 16: pulumirpc.CheckRequest.autonaming:type_name -> pulumirpc.CheckRequest.AutonamingOptions
	54, // 17: pulumirpc.CheckResponse.inputs:type_name -> google.protobuf.Struct
	18, // 18: pulumirpc.CheckResponse.failures:type_name -> pulumirpc.CheckFailure
	54, // 19: pulumirpc.DiffRequest.olds:type_name -> google.protobuf.Struct
	54, // 20: pulumirpc.DiffRequest.news:type_name -> google.protobuf.Struct
	54, // 21: pulumirpc.DiffRequest.old_inputs:type_name -> google.protobuf.Struct
	1,  // 22: pulumirpc.PropertyDiff.kind:type_name -> pulumirpc.PropertyDiff.Kind
	2,  // 23: pulumirpc.DiffResponse.changes:type_name -> pulumirpc.DiffResponse.DiffChanges
	46, // 24: pulumirpc.DiffResponse.detailedDiff:type_name -> pulumirpc.DiffResponse.DetailedDiffEntry
	54, // 25: pulumirpc.CreateRequest.properties:type_name -> google.protobuf.Struct
	54, // 26: pulumirpc.CreateResponse.properties:type_name -> google.protobuf.Struct
	54, // 27: pulumirpc.ReadRequest.properties:type_name -> google.protobuf.Struct
	54, // 28: pulumirpc.ReadRequest.inputs:type_name -> google.protobuf.Struct
	54, // 29: pulumirpc.ReadResponse.properties:type_name -> google.protobuf.Struct
	54, // 30: pulumirpc.ReadResponse.inputs:type_name -> google.protobuf.Struct
	54, // 31: pulumirpc.UpdateRequest.olds:type_name -> google.protobuf.Struct
	54, // 32: pulumirpc.UpdateRequest.news:type_name -> google.protobuf.Struct
	54, // 33: pulumirpc.UpdateRequest.old_inputs:type_name -> google.protobuf.Struct
	54, // 34: pulumirpc.UpdateResponse.properties:type_name -> google.protobuf.Struct
	54, // 35: pulumirpc.DeleteRequest.properties:type_name -> google.protobuf.Struct
	54, // 36: pulumirpc.DeleteRequest.old_inputs:type_name -> google.protobuf.Struct
	49, // 37: pulumirpc.ConstructRequest.config:type_name -> pulumirpc.ConstructRequest.ConfigEntry
	54, // 38: pulumirpc.ConstructRequest.inputs:type_name -> google.protobuf.Struct
	50, // 39: pulumirpc.ConstructRequest.inputDependencies:type_name -> pulumirpc.ConstructRequest.InputDependenciesEntry
	51, // 40: pulumirpc.ConstructRequest.providers:type_name -> pulumirpc.ConstructRequest.ProvidersEntry
	48, // 41: pulumirpc.ConstructRequest.customTimeouts:type_name -> pulumirpc.ConstructRequest.CustomTimeouts
	54, // 42: pulumirpc.ConstructResponse.state:type_name -> google.protobuf.Struct
	53, // 43: pulumirpc.ConstructResponse.stateDependencies:type_name -> pulumirpc.ConstructResponse.StateDependenciesEntry
	54, // 44: pulumirpc.ErrorResourceInitFailed.properties:type_name -> google.protobuf.Struct
	54, // 45: pulumirpc.ErrorResourceInitFailed.inputs:type_name -> google.protobuf.Struct
	40, // 46: pulumirpc.CallRequest.ArgDependenciesEntry.value:type_name -> pulumirpc.CallRequest.ArgumentDependencies
	43, // 47: pulumirpc.CallResponse.ReturnDependenciesEntry.value:type_name -> pulumirpc.CallResponse.ReturnDependencies
	0,  // 48: pulumirpc.CheckRequest.AutonamingOptions.mode:type_name -> pulumirpc.CheckRequest.AutonamingOptions.Mode
	20, // 49: pulumirpc.DiffResponse.DetailedDiffEntry.value:type_name -> pulumirpc.PropertyDiff
	47, // 50: pulumirpc.ConstructRequest.InputDependenciesEntry.value:type_name -> pulumirpc.ConstructRequest.PropertyDependencies
	52, // 51: pulumirpc.ConstructResponse.StateDependenciesEntry.value:type_name -> pulumirpc.ConstructResponse.PropertyDependencies
	3,  // 52: pulumirpc.ResourceProvider.Handshake:input_type -> pulumirpc.ProviderHandshakeRequest
	5,  // 53: pulumirpc.ResourceProvider.Parameterize:input_type -> pulumirpc.ParameterizeRequest
	7,  // 54: pulumirpc.ResourceProvider.GetSchema:input_type -> pulumirpc.GetSchemaRequest
	16, // 55: pulumirpc.ResourceProvider.CheckConfig:input_type -> pulumirpc.CheckRequest
	19, // 56: pulumirpc.ResourceProvider.DiffConfig:input_type -> pulumirpc.DiffRequest
	9,  // 57: pulumirpc.ResourceProvider.Configure:input_type -> pulumirpc.ConfigureRequest
	12, // 58: pulumirpc.ResourceProvider.Invoke:input_type -> pulumirpc.InvokeRequest
	12, // 59: pulumirpc.ResourceProvider.StreamInvoke:input_type -> pulumirpc.InvokeRequest
	14, // 60: pulumirpc.ResourceProvider.Call:input_type -> pulumirpc.CallRequest
	16, // 61: pulumirpc.ResourceProvider.Check:input_type -> pulumirpc.CheckRequest
	19, // 62: pulumirpc.ResourceProvider.Diff:input_type -> pulumirpc.DiffRequest
	22, // 63: pulumirpc.ResourceProvider.Create:input_type -> pulumirpc.CreateRequest
	24, // 64: pulumirpc.ResourceProvider.Read:input_type -> pulumirpc.ReadRequest
	26, // 65: pulumirpc.ResourceProvider.Update:input_type -> pulumirpc.UpdateRequest
	28, // 66: pulumirpc.ResourceProvider.Delete:input_type -> pulumirpc.DeleteRequest
	29, // 67: pulumirpc.ResourceProvider.Construct:input_type -> pulumirpc.ConstructRequest
	55, // 68: pulumirpc.ResourceProvider.Cancel:input_type -> google.protobuf.Empty
	55, // 69: pulumirpc.ResourceProvider.GetPluginInfo:input_type -> google.protobuf.Empty
	56, // 70: pulumirpc.ResourceProvider.Attach:input_type -> pulumirpc.PluginAttach
	32, // 71: pulumirpc.ResourceProvider.GetMapping:input_type -> pulumirpc.GetMappingRequest
	34, // 72: pulumirpc.ResourceProvider.GetMappings:input_type -> pulumirpc.GetMappingsRequest
	4,  // 73: pulumirpc.ResourceProvider.Handshake:output_type -> pulumirpc.ProviderHandshakeResponse
	6,  // 74: pulumirpc.ResourceProvider.Parameterize:output_type -> pulumirpc.ParameterizeResponse
	8,  // 75: pulumirpc.ResourceProvider.GetSchema:output_type -> pulumirpc.GetSchemaResponse
	17, // 76: pulumirpc.ResourceProvider.CheckConfig:output_type -> pulumirpc.CheckResponse
	21, // 77: pulumirpc.ResourceProvider.DiffConfig:output_type -> pulumirpc.DiffResponse
	10, // 78: pulumirpc.ResourceProvider.Configure:output_type -> pulumirpc.ConfigureResponse
	13, // 79: pulumirpc.ResourceProvider.Invoke:output_type -> pulumirpc.InvokeResponse
	13, // 80: pulumirpc.ResourceProvider.StreamInvoke:output_type -> pulumirpc.InvokeResponse
	15, // 81: pulumirpc.ResourceProvider.Call:output_type -> pulumirpc.CallResponse
	17, // 82: pulumirpc.ResourceProvider.Check:output_type -> pulumirpc.CheckResponse
	21, // 83: pulumirpc.ResourceProvider.Diff:output_type -> pulumirpc.DiffResponse
	23, // 84: pulumirpc.ResourceProvider.Create:output_type -> pulumirpc.CreateResponse
	25, // 85: pulumirpc.ResourceProvider.Read:output_type -> pulumirpc.ReadResponse
	27, // 86: pulumirpc.ResourceProvider.Update:output_type -> pulumirpc.UpdateResponse
	55, // 87: pulumirpc.ResourceProvider.Delete:output_type -> google.protobuf.Empty
	30, // 88: pulumirpc.ResourceProvider.Construct:output_type -> pulumirpc.ConstructResponse
	55, // 89: pulumirpc.ResourceProvider.Cancel:output_type -> google.protobuf.Empty
	57, // 90: pulumirpc.ResourceProvider.GetPluginInfo:output_type -> pulumirpc.PluginInfo
	55, // 91: pulumirpc.ResourceProvider.Attach:output_type -> google.protobuf.Empty
	33, // 92: pulumirpc.ResourceProvider.GetMapping:output_type -> pulumirpc.GetMappingResponse
	35, // 93: pulumirpc.ResourceProvider.GetMappings:output_type -> pulumirpc.GetMappingsResponse
	73, // [73:94] is the sub-list for method output_type
	52, // [52:73] is the sub-list for method input_type
	52, // [52:52] is the sub-list for extension type_name
	52, // [52:52] is the sub-list for extension extendee
	0,  // [0:52] is the sub-list for field type_name
}

func init() { file_pulumi_provider_proto_init() }
func file_pulumi_provider_proto_init() {
	if File_pulumi_provider_proto != nil {
		return
	}
	file_pulumi_plugin_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_pulumi_provider_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProviderHandshakeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProviderHandshakeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ParameterizeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ParameterizeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetSchemaRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetSchemaResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigureRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigureResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigureErrorMissingKeys); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InvokeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InvokeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CallRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CallResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CheckRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CheckResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CheckFailure); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DiffRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PropertyDiff); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DiffResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReadRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReadResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteRequest); 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.(*ConstructRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConstructResponse); 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.(*ErrorResourceInitFailed); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[29].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[30].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[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetMappingsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetMappingsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ParameterizeRequest_ParametersArgs); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ParameterizeRequest_ParametersValue); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConfigureErrorMissingKeys_MissingKey); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CallRequest_ArgumentDependencies); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CallResponse_ReturnDependencies); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CheckRequest_AutonamingOptions); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConstructRequest_PropertyDependencies); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConstructRequest_CustomTimeouts); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pulumi_provider_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ConstructResponse_PropertyDependencies); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_pulumi_provider_proto_msgTypes[2].OneofWrappers = []interface{}{
		(*ParameterizeRequest_Args)(nil),
		(*ParameterizeRequest_Value)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_pulumi_provider_proto_rawDesc,
			NumEnums:      3,
			NumMessages:   51,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_pulumi_provider_proto_goTypes,
		DependencyIndexes: file_pulumi_provider_proto_depIdxs,
		EnumInfos:         file_pulumi_provider_proto_enumTypes,
		MessageInfos:      file_pulumi_provider_proto_msgTypes,
	}.Build()
	File_pulumi_provider_proto = out.File
	file_pulumi_provider_proto_rawDesc = nil
	file_pulumi_provider_proto_goTypes = nil
	file_pulumi_provider_proto_depIdxs = nil
}