// Code generated by protoc-gen-go. DO NOT EDIT.
// source: provider.proto

package pulumirpc

import (
	context "context"
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	empty "github.com/golang/protobuf/ptypes/empty"
	_struct "github.com/golang/protobuf/ptypes/struct"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

type PropertyDiff_Kind int32

const (
	PropertyDiff_ADD            PropertyDiff_Kind = 0
	PropertyDiff_ADD_REPLACE    PropertyDiff_Kind = 1
	PropertyDiff_DELETE         PropertyDiff_Kind = 2
	PropertyDiff_DELETE_REPLACE PropertyDiff_Kind = 3
	PropertyDiff_UPDATE         PropertyDiff_Kind = 4
	PropertyDiff_UPDATE_REPLACE PropertyDiff_Kind = 5
)

var PropertyDiff_Kind_name = map[int32]string{
	0: "ADD",
	1: "ADD_REPLACE",
	2: "DELETE",
	3: "DELETE_REPLACE",
	4: "UPDATE",
	5: "UPDATE_REPLACE",
}

var 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) String() string {
	return proto.EnumName(PropertyDiff_Kind_name, int32(x))
}

func (PropertyDiff_Kind) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{11, 0}
}

type DiffResponse_DiffChanges int32

const (
	DiffResponse_DIFF_UNKNOWN DiffResponse_DiffChanges = 0
	DiffResponse_DIFF_NONE    DiffResponse_DiffChanges = 1
	DiffResponse_DIFF_SOME    DiffResponse_DiffChanges = 2
)

var DiffResponse_DiffChanges_name = map[int32]string{
	0: "DIFF_UNKNOWN",
	1: "DIFF_NONE",
	2: "DIFF_SOME",
}

var DiffResponse_DiffChanges_value = map[string]int32{
	"DIFF_UNKNOWN": 0,
	"DIFF_NONE":    1,
	"DIFF_SOME":    2,
}

func (x DiffResponse_DiffChanges) String() string {
	return proto.EnumName(DiffResponse_DiffChanges_name, int32(x))
}

func (DiffResponse_DiffChanges) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{12, 0}
}

type GetSchemaRequest struct {
	Version              int32    `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetSchemaRequest) Reset()         { *m = GetSchemaRequest{} }
func (m *GetSchemaRequest) String() string { return proto.CompactTextString(m) }
func (*GetSchemaRequest) ProtoMessage()    {}
func (*GetSchemaRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{0}
}

func (m *GetSchemaRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetSchemaRequest.Unmarshal(m, b)
}
func (m *GetSchemaRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetSchemaRequest.Marshal(b, m, deterministic)
}
func (m *GetSchemaRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetSchemaRequest.Merge(m, src)
}
func (m *GetSchemaRequest) XXX_Size() int {
	return xxx_messageInfo_GetSchemaRequest.Size(m)
}
func (m *GetSchemaRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetSchemaRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetSchemaRequest proto.InternalMessageInfo

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

type GetSchemaResponse struct {
	Schema               string   `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetSchemaResponse) Reset()         { *m = GetSchemaResponse{} }
func (m *GetSchemaResponse) String() string { return proto.CompactTextString(m) }
func (*GetSchemaResponse) ProtoMessage()    {}
func (*GetSchemaResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{1}
}

func (m *GetSchemaResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetSchemaResponse.Unmarshal(m, b)
}
func (m *GetSchemaResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetSchemaResponse.Marshal(b, m, deterministic)
}
func (m *GetSchemaResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetSchemaResponse.Merge(m, src)
}
func (m *GetSchemaResponse) XXX_Size() int {
	return xxx_messageInfo_GetSchemaResponse.Size(m)
}
func (m *GetSchemaResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_GetSchemaResponse.DiscardUnknown(m)
}

var xxx_messageInfo_GetSchemaResponse proto.InternalMessageInfo

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

type ConfigureRequest struct {
	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"`
	Args                 *_struct.Struct   `protobuf:"bytes,2,opt,name=args,proto3" json:"args,omitempty"`
	AcceptSecrets        bool              `protobuf:"varint,3,opt,name=acceptSecrets,proto3" json:"acceptSecrets,omitempty"`
	AcceptResources      bool              `protobuf:"varint,4,opt,name=acceptResources,proto3" json:"acceptResources,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *ConfigureRequest) Reset()         { *m = ConfigureRequest{} }
func (m *ConfigureRequest) String() string { return proto.CompactTextString(m) }
func (*ConfigureRequest) ProtoMessage()    {}
func (*ConfigureRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{2}
}

func (m *ConfigureRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ConfigureRequest.Unmarshal(m, b)
}
func (m *ConfigureRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ConfigureRequest.Marshal(b, m, deterministic)
}
func (m *ConfigureRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConfigureRequest.Merge(m, src)
}
func (m *ConfigureRequest) XXX_Size() int {
	return xxx_messageInfo_ConfigureRequest.Size(m)
}
func (m *ConfigureRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ConfigureRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ConfigureRequest proto.InternalMessageInfo

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

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

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

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

type ConfigureResponse struct {
	AcceptSecrets        bool     `protobuf:"varint,1,opt,name=acceptSecrets,proto3" json:"acceptSecrets,omitempty"`
	SupportsPreview      bool     `protobuf:"varint,2,opt,name=supportsPreview,proto3" json:"supportsPreview,omitempty"`
	AcceptResources      bool     `protobuf:"varint,3,opt,name=acceptResources,proto3" json:"acceptResources,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ConfigureResponse) Reset()         { *m = ConfigureResponse{} }
func (m *ConfigureResponse) String() string { return proto.CompactTextString(m) }
func (*ConfigureResponse) ProtoMessage()    {}
func (*ConfigureResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{3}
}

func (m *ConfigureResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ConfigureResponse.Unmarshal(m, b)
}
func (m *ConfigureResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ConfigureResponse.Marshal(b, m, deterministic)
}
func (m *ConfigureResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConfigureResponse.Merge(m, src)
}
func (m *ConfigureResponse) XXX_Size() int {
	return xxx_messageInfo_ConfigureResponse.Size(m)
}
func (m *ConfigureResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_ConfigureResponse.DiscardUnknown(m)
}

var xxx_messageInfo_ConfigureResponse proto.InternalMessageInfo

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

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

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

// ConfigureErrorMissingKeys is sent as a Detail on an error returned from `ResourceProvider.Configure`.
type ConfigureErrorMissingKeys struct {
	MissingKeys          []*ConfigureErrorMissingKeys_MissingKey `protobuf:"bytes,1,rep,name=missingKeys,proto3" json:"missingKeys,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                `json:"-"`
	XXX_unrecognized     []byte                                  `json:"-"`
	XXX_sizecache        int32                                   `json:"-"`
}

func (m *ConfigureErrorMissingKeys) Reset()         { *m = ConfigureErrorMissingKeys{} }
func (m *ConfigureErrorMissingKeys) String() string { return proto.CompactTextString(m) }
func (*ConfigureErrorMissingKeys) ProtoMessage()    {}
func (*ConfigureErrorMissingKeys) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{4}
}

func (m *ConfigureErrorMissingKeys) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ConfigureErrorMissingKeys.Unmarshal(m, b)
}
func (m *ConfigureErrorMissingKeys) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ConfigureErrorMissingKeys.Marshal(b, m, deterministic)
}
func (m *ConfigureErrorMissingKeys) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConfigureErrorMissingKeys.Merge(m, src)
}
func (m *ConfigureErrorMissingKeys) XXX_Size() int {
	return xxx_messageInfo_ConfigureErrorMissingKeys.Size(m)
}
func (m *ConfigureErrorMissingKeys) XXX_DiscardUnknown() {
	xxx_messageInfo_ConfigureErrorMissingKeys.DiscardUnknown(m)
}

var xxx_messageInfo_ConfigureErrorMissingKeys proto.InternalMessageInfo

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

type ConfigureErrorMissingKeys_MissingKey struct {
	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Description          string   `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ConfigureErrorMissingKeys_MissingKey) Reset()         { *m = ConfigureErrorMissingKeys_MissingKey{} }
func (m *ConfigureErrorMissingKeys_MissingKey) String() string { return proto.CompactTextString(m) }
func (*ConfigureErrorMissingKeys_MissingKey) ProtoMessage()    {}
func (*ConfigureErrorMissingKeys_MissingKey) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{4, 0}
}

func (m *ConfigureErrorMissingKeys_MissingKey) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ConfigureErrorMissingKeys_MissingKey.Unmarshal(m, b)
}
func (m *ConfigureErrorMissingKeys_MissingKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ConfigureErrorMissingKeys_MissingKey.Marshal(b, m, deterministic)
}
func (m *ConfigureErrorMissingKeys_MissingKey) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConfigureErrorMissingKeys_MissingKey.Merge(m, src)
}
func (m *ConfigureErrorMissingKeys_MissingKey) XXX_Size() int {
	return xxx_messageInfo_ConfigureErrorMissingKeys_MissingKey.Size(m)
}
func (m *ConfigureErrorMissingKeys_MissingKey) XXX_DiscardUnknown() {
	xxx_messageInfo_ConfigureErrorMissingKeys_MissingKey.DiscardUnknown(m)
}

var xxx_messageInfo_ConfigureErrorMissingKeys_MissingKey proto.InternalMessageInfo

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

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

type InvokeRequest struct {
	Tok                  string          `protobuf:"bytes,1,opt,name=tok,proto3" json:"tok,omitempty"`
	Args                 *_struct.Struct `protobuf:"bytes,2,opt,name=args,proto3" json:"args,omitempty"`
	Provider             string          `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"`
	Version              string          `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
	AcceptResources      bool            `protobuf:"varint,5,opt,name=acceptResources,proto3" json:"acceptResources,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *InvokeRequest) Reset()         { *m = InvokeRequest{} }
func (m *InvokeRequest) String() string { return proto.CompactTextString(m) }
func (*InvokeRequest) ProtoMessage()    {}
func (*InvokeRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{5}
}

func (m *InvokeRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_InvokeRequest.Unmarshal(m, b)
}
func (m *InvokeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_InvokeRequest.Marshal(b, m, deterministic)
}
func (m *InvokeRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InvokeRequest.Merge(m, src)
}
func (m *InvokeRequest) XXX_Size() int {
	return xxx_messageInfo_InvokeRequest.Size(m)
}
func (m *InvokeRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_InvokeRequest.DiscardUnknown(m)
}

var xxx_messageInfo_InvokeRequest proto.InternalMessageInfo

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

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

func (m *InvokeRequest) GetProvider() string {
	if m != nil {
		return m.Provider
	}
	return ""
}

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

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

type InvokeResponse struct {
	Return               *_struct.Struct `protobuf:"bytes,1,opt,name=return,proto3" json:"return,omitempty"`
	Failures             []*CheckFailure `protobuf:"bytes,2,rep,name=failures,proto3" json:"failures,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *InvokeResponse) Reset()         { *m = InvokeResponse{} }
func (m *InvokeResponse) String() string { return proto.CompactTextString(m) }
func (*InvokeResponse) ProtoMessage()    {}
func (*InvokeResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{6}
}

func (m *InvokeResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_InvokeResponse.Unmarshal(m, b)
}
func (m *InvokeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_InvokeResponse.Marshal(b, m, deterministic)
}
func (m *InvokeResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InvokeResponse.Merge(m, src)
}
func (m *InvokeResponse) XXX_Size() int {
	return xxx_messageInfo_InvokeResponse.Size(m)
}
func (m *InvokeResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_InvokeResponse.DiscardUnknown(m)
}

var xxx_messageInfo_InvokeResponse proto.InternalMessageInfo

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

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

type CheckRequest struct {
	Urn                  string          `protobuf:"bytes,1,opt,name=urn,proto3" json:"urn,omitempty"`
	Olds                 *_struct.Struct `protobuf:"bytes,2,opt,name=olds,proto3" json:"olds,omitempty"`
	News                 *_struct.Struct `protobuf:"bytes,3,opt,name=news,proto3" json:"news,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *CheckRequest) Reset()         { *m = CheckRequest{} }
func (m *CheckRequest) String() string { return proto.CompactTextString(m) }
func (*CheckRequest) ProtoMessage()    {}
func (*CheckRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{7}
}

func (m *CheckRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CheckRequest.Unmarshal(m, b)
}
func (m *CheckRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CheckRequest.Marshal(b, m, deterministic)
}
func (m *CheckRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CheckRequest.Merge(m, src)
}
func (m *CheckRequest) XXX_Size() int {
	return xxx_messageInfo_CheckRequest.Size(m)
}
func (m *CheckRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CheckRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CheckRequest proto.InternalMessageInfo

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

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

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

type CheckResponse struct {
	Inputs               *_struct.Struct `protobuf:"bytes,1,opt,name=inputs,proto3" json:"inputs,omitempty"`
	Failures             []*CheckFailure `protobuf:"bytes,2,rep,name=failures,proto3" json:"failures,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *CheckResponse) Reset()         { *m = CheckResponse{} }
func (m *CheckResponse) String() string { return proto.CompactTextString(m) }
func (*CheckResponse) ProtoMessage()    {}
func (*CheckResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{8}
}

func (m *CheckResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CheckResponse.Unmarshal(m, b)
}
func (m *CheckResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CheckResponse.Marshal(b, m, deterministic)
}
func (m *CheckResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CheckResponse.Merge(m, src)
}
func (m *CheckResponse) XXX_Size() int {
	return xxx_messageInfo_CheckResponse.Size(m)
}
func (m *CheckResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_CheckResponse.DiscardUnknown(m)
}

var xxx_messageInfo_CheckResponse proto.InternalMessageInfo

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

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

type CheckFailure struct {
	Property             string   `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"`
	Reason               string   `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CheckFailure) Reset()         { *m = CheckFailure{} }
func (m *CheckFailure) String() string { return proto.CompactTextString(m) }
func (*CheckFailure) ProtoMessage()    {}
func (*CheckFailure) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{9}
}

func (m *CheckFailure) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CheckFailure.Unmarshal(m, b)
}
func (m *CheckFailure) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CheckFailure.Marshal(b, m, deterministic)
}
func (m *CheckFailure) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CheckFailure.Merge(m, src)
}
func (m *CheckFailure) XXX_Size() int {
	return xxx_messageInfo_CheckFailure.Size(m)
}
func (m *CheckFailure) XXX_DiscardUnknown() {
	xxx_messageInfo_CheckFailure.DiscardUnknown(m)
}

var xxx_messageInfo_CheckFailure proto.InternalMessageInfo

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

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

type DiffRequest struct {
	Id                   string          `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Urn                  string          `protobuf:"bytes,2,opt,name=urn,proto3" json:"urn,omitempty"`
	Olds                 *_struct.Struct `protobuf:"bytes,3,opt,name=olds,proto3" json:"olds,omitempty"`
	News                 *_struct.Struct `protobuf:"bytes,4,opt,name=news,proto3" json:"news,omitempty"`
	IgnoreChanges        []string        `protobuf:"bytes,5,rep,name=ignoreChanges,proto3" json:"ignoreChanges,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *DiffRequest) Reset()         { *m = DiffRequest{} }
func (m *DiffRequest) String() string { return proto.CompactTextString(m) }
func (*DiffRequest) ProtoMessage()    {}
func (*DiffRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{10}
}

func (m *DiffRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DiffRequest.Unmarshal(m, b)
}
func (m *DiffRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DiffRequest.Marshal(b, m, deterministic)
}
func (m *DiffRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DiffRequest.Merge(m, src)
}
func (m *DiffRequest) XXX_Size() int {
	return xxx_messageInfo_DiffRequest.Size(m)
}
func (m *DiffRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DiffRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DiffRequest proto.InternalMessageInfo

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

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

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

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

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

type PropertyDiff struct {
	Kind                 PropertyDiff_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=pulumirpc.PropertyDiff_Kind" json:"kind,omitempty"`
	InputDiff            bool              `protobuf:"varint,2,opt,name=inputDiff,proto3" json:"inputDiff,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *PropertyDiff) Reset()         { *m = PropertyDiff{} }
func (m *PropertyDiff) String() string { return proto.CompactTextString(m) }
func (*PropertyDiff) ProtoMessage()    {}
func (*PropertyDiff) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{11}
}

func (m *PropertyDiff) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PropertyDiff.Unmarshal(m, b)
}
func (m *PropertyDiff) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PropertyDiff.Marshal(b, m, deterministic)
}
func (m *PropertyDiff) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PropertyDiff.Merge(m, src)
}
func (m *PropertyDiff) XXX_Size() int {
	return xxx_messageInfo_PropertyDiff.Size(m)
}
func (m *PropertyDiff) XXX_DiscardUnknown() {
	xxx_messageInfo_PropertyDiff.DiscardUnknown(m)
}

var xxx_messageInfo_PropertyDiff proto.InternalMessageInfo

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

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

type DiffResponse struct {
	Replaces            []string                 `protobuf:"bytes,1,rep,name=replaces,proto3" json:"replaces,omitempty"`
	Stables             []string                 `protobuf:"bytes,2,rep,name=stables,proto3" json:"stables,omitempty"`
	DeleteBeforeReplace bool                     `protobuf:"varint,3,opt,name=deleteBeforeReplace,proto3" json:"deleteBeforeReplace,omitempty"`
	Changes             DiffResponse_DiffChanges `protobuf:"varint,4,opt,name=changes,proto3,enum=pulumirpc.DiffResponse_DiffChanges" json:"changes,omitempty"`
	Diffs               []string                 `protobuf:"bytes,5,rep,name=diffs,proto3" json:"diffs,omitempty"`
	// detailedDiff is an optional field that contains map from each changed property to the type of the change.
	//
	// The keys of this map are property paths. These paths are essentially Javascript property access expressions
	// in which all elements are literals, and obey the following EBNF-ish grammar:
	//
	//   propertyName := [a-zA-Z_$] { [a-zA-Z0-9_$] }
	//   quotedPropertyName := '"' ( '\' '"' | [^"] ) { ( '\' '"' | [^"] ) } '"'
	//   arrayIndex := { [0-9] }
	//
	//   propertyIndex := '[' ( quotedPropertyName | arrayIndex ) ']'
	//   rootProperty := ( propertyName | propertyIndex )
	//   propertyAccessor := ( ( '.' propertyName ) |  propertyIndex )
	//   path := rootProperty { propertyAccessor }
	//
	// Examples of valid keys:
	// - root
	// - root.nested
	// - root["nested"]
	// - root.double.nest
	// - root["double"].nest
	// - root["double"]["nest"]
	// - root.array[0]
	// - root.array[100]
	// - root.array[0].nested
	// - root.array[0][1].nested
	// - root.nested.array[0].double[1]
	// - root["key with \"escaped\" quotes"]
	// - root["key with a ."]
	// - ["root key with \"escaped\" quotes"].nested
	// - ["root key with a ."][100]
	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"`
	HasDetailedDiff      bool                     `protobuf:"varint,7,opt,name=hasDetailedDiff,proto3" json:"hasDetailedDiff,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *DiffResponse) Reset()         { *m = DiffResponse{} }
func (m *DiffResponse) String() string { return proto.CompactTextString(m) }
func (*DiffResponse) ProtoMessage()    {}
func (*DiffResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{12}
}

func (m *DiffResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DiffResponse.Unmarshal(m, b)
}
func (m *DiffResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DiffResponse.Marshal(b, m, deterministic)
}
func (m *DiffResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DiffResponse.Merge(m, src)
}
func (m *DiffResponse) XXX_Size() int {
	return xxx_messageInfo_DiffResponse.Size(m)
}
func (m *DiffResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_DiffResponse.DiscardUnknown(m)
}

var xxx_messageInfo_DiffResponse proto.InternalMessageInfo

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

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

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

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

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

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

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

type CreateRequest struct {
	Urn                  string          `protobuf:"bytes,1,opt,name=urn,proto3" json:"urn,omitempty"`
	Properties           *_struct.Struct `protobuf:"bytes,2,opt,name=properties,proto3" json:"properties,omitempty"`
	Timeout              float64         `protobuf:"fixed64,3,opt,name=timeout,proto3" json:"timeout,omitempty"`
	Preview              bool            `protobuf:"varint,4,opt,name=preview,proto3" json:"preview,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *CreateRequest) Reset()         { *m = CreateRequest{} }
func (m *CreateRequest) String() string { return proto.CompactTextString(m) }
func (*CreateRequest) ProtoMessage()    {}
func (*CreateRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{13}
}

func (m *CreateRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateRequest.Unmarshal(m, b)
}
func (m *CreateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateRequest.Marshal(b, m, deterministic)
}
func (m *CreateRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateRequest.Merge(m, src)
}
func (m *CreateRequest) XXX_Size() int {
	return xxx_messageInfo_CreateRequest.Size(m)
}
func (m *CreateRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CreateRequest proto.InternalMessageInfo

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

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

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

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

type CreateResponse struct {
	Id                   string          `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Properties           *_struct.Struct `protobuf:"bytes,2,opt,name=properties,proto3" json:"properties,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *CreateResponse) Reset()         { *m = CreateResponse{} }
func (m *CreateResponse) String() string { return proto.CompactTextString(m) }
func (*CreateResponse) ProtoMessage()    {}
func (*CreateResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{14}
}

func (m *CreateResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateResponse.Unmarshal(m, b)
}
func (m *CreateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateResponse.Marshal(b, m, deterministic)
}
func (m *CreateResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateResponse.Merge(m, src)
}
func (m *CreateResponse) XXX_Size() int {
	return xxx_messageInfo_CreateResponse.Size(m)
}
func (m *CreateResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateResponse.DiscardUnknown(m)
}

var xxx_messageInfo_CreateResponse proto.InternalMessageInfo

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

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

type ReadRequest struct {
	Id                   string          `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Urn                  string          `protobuf:"bytes,2,opt,name=urn,proto3" json:"urn,omitempty"`
	Properties           *_struct.Struct `protobuf:"bytes,3,opt,name=properties,proto3" json:"properties,omitempty"`
	Inputs               *_struct.Struct `protobuf:"bytes,4,opt,name=inputs,proto3" json:"inputs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *ReadRequest) Reset()         { *m = ReadRequest{} }
func (m *ReadRequest) String() string { return proto.CompactTextString(m) }
func (*ReadRequest) ProtoMessage()    {}
func (*ReadRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{15}
}

func (m *ReadRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReadRequest.Unmarshal(m, b)
}
func (m *ReadRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReadRequest.Marshal(b, m, deterministic)
}
func (m *ReadRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReadRequest.Merge(m, src)
}
func (m *ReadRequest) XXX_Size() int {
	return xxx_messageInfo_ReadRequest.Size(m)
}
func (m *ReadRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ReadRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ReadRequest proto.InternalMessageInfo

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

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

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

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

type ReadResponse struct {
	Id                   string          `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Properties           *_struct.Struct `protobuf:"bytes,2,opt,name=properties,proto3" json:"properties,omitempty"`
	Inputs               *_struct.Struct `protobuf:"bytes,3,opt,name=inputs,proto3" json:"inputs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *ReadResponse) Reset()         { *m = ReadResponse{} }
func (m *ReadResponse) String() string { return proto.CompactTextString(m) }
func (*ReadResponse) ProtoMessage()    {}
func (*ReadResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{16}
}

func (m *ReadResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReadResponse.Unmarshal(m, b)
}
func (m *ReadResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReadResponse.Marshal(b, m, deterministic)
}
func (m *ReadResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReadResponse.Merge(m, src)
}
func (m *ReadResponse) XXX_Size() int {
	return xxx_messageInfo_ReadResponse.Size(m)
}
func (m *ReadResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_ReadResponse.DiscardUnknown(m)
}

var xxx_messageInfo_ReadResponse proto.InternalMessageInfo

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

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

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

type UpdateRequest struct {
	Id                   string          `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Urn                  string          `protobuf:"bytes,2,opt,name=urn,proto3" json:"urn,omitempty"`
	Olds                 *_struct.Struct `protobuf:"bytes,3,opt,name=olds,proto3" json:"olds,omitempty"`
	News                 *_struct.Struct `protobuf:"bytes,4,opt,name=news,proto3" json:"news,omitempty"`
	Timeout              float64         `protobuf:"fixed64,5,opt,name=timeout,proto3" json:"timeout,omitempty"`
	IgnoreChanges        []string        `protobuf:"bytes,6,rep,name=ignoreChanges,proto3" json:"ignoreChanges,omitempty"`
	Preview              bool            `protobuf:"varint,7,opt,name=preview,proto3" json:"preview,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *UpdateRequest) Reset()         { *m = UpdateRequest{} }
func (m *UpdateRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateRequest) ProtoMessage()    {}
func (*UpdateRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{17}
}

func (m *UpdateRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UpdateRequest.Unmarshal(m, b)
}
func (m *UpdateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UpdateRequest.Marshal(b, m, deterministic)
}
func (m *UpdateRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpdateRequest.Merge(m, src)
}
func (m *UpdateRequest) XXX_Size() int {
	return xxx_messageInfo_UpdateRequest.Size(m)
}
func (m *UpdateRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_UpdateRequest.DiscardUnknown(m)
}

var xxx_messageInfo_UpdateRequest proto.InternalMessageInfo

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

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

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

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

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

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

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

type UpdateResponse struct {
	Properties           *_struct.Struct `protobuf:"bytes,1,opt,name=properties,proto3" json:"properties,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *UpdateResponse) Reset()         { *m = UpdateResponse{} }
func (m *UpdateResponse) String() string { return proto.CompactTextString(m) }
func (*UpdateResponse) ProtoMessage()    {}
func (*UpdateResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{18}
}

func (m *UpdateResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UpdateResponse.Unmarshal(m, b)
}
func (m *UpdateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UpdateResponse.Marshal(b, m, deterministic)
}
func (m *UpdateResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpdateResponse.Merge(m, src)
}
func (m *UpdateResponse) XXX_Size() int {
	return xxx_messageInfo_UpdateResponse.Size(m)
}
func (m *UpdateResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_UpdateResponse.DiscardUnknown(m)
}

var xxx_messageInfo_UpdateResponse proto.InternalMessageInfo

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

type DeleteRequest struct {
	Id                   string          `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Urn                  string          `protobuf:"bytes,2,opt,name=urn,proto3" json:"urn,omitempty"`
	Properties           *_struct.Struct `protobuf:"bytes,3,opt,name=properties,proto3" json:"properties,omitempty"`
	Timeout              float64         `protobuf:"fixed64,4,opt,name=timeout,proto3" json:"timeout,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *DeleteRequest) Reset()         { *m = DeleteRequest{} }
func (m *DeleteRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteRequest) ProtoMessage()    {}
func (*DeleteRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{19}
}

func (m *DeleteRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeleteRequest.Unmarshal(m, b)
}
func (m *DeleteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeleteRequest.Marshal(b, m, deterministic)
}
func (m *DeleteRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteRequest.Merge(m, src)
}
func (m *DeleteRequest) XXX_Size() int {
	return xxx_messageInfo_DeleteRequest.Size(m)
}
func (m *DeleteRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_DeleteRequest.DiscardUnknown(m)
}

var xxx_messageInfo_DeleteRequest proto.InternalMessageInfo

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

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

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

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

type ConstructRequest struct {
	Project              string                                            `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	Stack                string                                            `protobuf:"bytes,2,opt,name=stack,proto3" json:"stack,omitempty"`
	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"`
	DryRun               bool                                              `protobuf:"varint,4,opt,name=dryRun,proto3" json:"dryRun,omitempty"`
	Parallel             int32                                             `protobuf:"varint,5,opt,name=parallel,proto3" json:"parallel,omitempty"`
	MonitorEndpoint      string                                            `protobuf:"bytes,6,opt,name=monitorEndpoint,proto3" json:"monitorEndpoint,omitempty"`
	Type                 string                                            `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"`
	Name                 string                                            `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"`
	Parent               string                                            `protobuf:"bytes,9,opt,name=parent,proto3" json:"parent,omitempty"`
	Inputs               *_struct.Struct                                   `protobuf:"bytes,10,opt,name=inputs,proto3" json:"inputs,omitempty"`
	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"`
	Protect              bool                                              `protobuf:"varint,12,opt,name=protect,proto3" json:"protect,omitempty"`
	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"`
	Aliases              []string                                          `protobuf:"bytes,14,rep,name=aliases,proto3" json:"aliases,omitempty"`
	Dependencies         []string                                          `protobuf:"bytes,15,rep,name=dependencies,proto3" json:"dependencies,omitempty"`
	ConfigSecretKeys     []string                                          `protobuf:"bytes,16,rep,name=configSecretKeys,proto3" json:"configSecretKeys,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                          `json:"-"`
	XXX_unrecognized     []byte                                            `json:"-"`
	XXX_sizecache        int32                                             `json:"-"`
}

func (m *ConstructRequest) Reset()         { *m = ConstructRequest{} }
func (m *ConstructRequest) String() string { return proto.CompactTextString(m) }
func (*ConstructRequest) ProtoMessage()    {}
func (*ConstructRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{20}
}

func (m *ConstructRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ConstructRequest.Unmarshal(m, b)
}
func (m *ConstructRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ConstructRequest.Marshal(b, m, deterministic)
}
func (m *ConstructRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConstructRequest.Merge(m, src)
}
func (m *ConstructRequest) XXX_Size() int {
	return xxx_messageInfo_ConstructRequest.Size(m)
}
func (m *ConstructRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_ConstructRequest.DiscardUnknown(m)
}

var xxx_messageInfo_ConstructRequest proto.InternalMessageInfo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// PropertyDependencies describes the resources that a particular property depends on.
type ConstructRequest_PropertyDependencies struct {
	Urns                 []string `protobuf:"bytes,1,rep,name=urns,proto3" json:"urns,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ConstructRequest_PropertyDependencies) Reset()         { *m = ConstructRequest_PropertyDependencies{} }
func (m *ConstructRequest_PropertyDependencies) String() string { return proto.CompactTextString(m) }
func (*ConstructRequest_PropertyDependencies) ProtoMessage()    {}
func (*ConstructRequest_PropertyDependencies) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{20, 0}
}

func (m *ConstructRequest_PropertyDependencies) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ConstructRequest_PropertyDependencies.Unmarshal(m, b)
}
func (m *ConstructRequest_PropertyDependencies) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ConstructRequest_PropertyDependencies.Marshal(b, m, deterministic)
}
func (m *ConstructRequest_PropertyDependencies) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConstructRequest_PropertyDependencies.Merge(m, src)
}
func (m *ConstructRequest_PropertyDependencies) XXX_Size() int {
	return xxx_messageInfo_ConstructRequest_PropertyDependencies.Size(m)
}
func (m *ConstructRequest_PropertyDependencies) XXX_DiscardUnknown() {
	xxx_messageInfo_ConstructRequest_PropertyDependencies.DiscardUnknown(m)
}

var xxx_messageInfo_ConstructRequest_PropertyDependencies proto.InternalMessageInfo

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

type ConstructResponse struct {
	Urn                  string                                             `protobuf:"bytes,1,opt,name=urn,proto3" json:"urn,omitempty"`
	State                *_struct.Struct                                    `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	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"`
	XXX_NoUnkeyedLiteral struct{}                                           `json:"-"`
	XXX_unrecognized     []byte                                             `json:"-"`
	XXX_sizecache        int32                                              `json:"-"`
}

func (m *ConstructResponse) Reset()         { *m = ConstructResponse{} }
func (m *ConstructResponse) String() string { return proto.CompactTextString(m) }
func (*ConstructResponse) ProtoMessage()    {}
func (*ConstructResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{21}
}

func (m *ConstructResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ConstructResponse.Unmarshal(m, b)
}
func (m *ConstructResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ConstructResponse.Marshal(b, m, deterministic)
}
func (m *ConstructResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConstructResponse.Merge(m, src)
}
func (m *ConstructResponse) XXX_Size() int {
	return xxx_messageInfo_ConstructResponse.Size(m)
}
func (m *ConstructResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_ConstructResponse.DiscardUnknown(m)
}

var xxx_messageInfo_ConstructResponse proto.InternalMessageInfo

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

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

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

// PropertyDependencies describes the resources that a particular property depends on.
type ConstructResponse_PropertyDependencies struct {
	Urns                 []string `protobuf:"bytes,1,rep,name=urns,proto3" json:"urns,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ConstructResponse_PropertyDependencies) Reset() {
	*m = ConstructResponse_PropertyDependencies{}
}
func (m *ConstructResponse_PropertyDependencies) String() string { return proto.CompactTextString(m) }
func (*ConstructResponse_PropertyDependencies) ProtoMessage()    {}
func (*ConstructResponse_PropertyDependencies) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{21, 0}
}

func (m *ConstructResponse_PropertyDependencies) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ConstructResponse_PropertyDependencies.Unmarshal(m, b)
}
func (m *ConstructResponse_PropertyDependencies) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ConstructResponse_PropertyDependencies.Marshal(b, m, deterministic)
}
func (m *ConstructResponse_PropertyDependencies) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConstructResponse_PropertyDependencies.Merge(m, src)
}
func (m *ConstructResponse_PropertyDependencies) XXX_Size() int {
	return xxx_messageInfo_ConstructResponse_PropertyDependencies.Size(m)
}
func (m *ConstructResponse_PropertyDependencies) XXX_DiscardUnknown() {
	xxx_messageInfo_ConstructResponse_PropertyDependencies.DiscardUnknown(m)
}

var xxx_messageInfo_ConstructResponse_PropertyDependencies proto.InternalMessageInfo

func (m *ConstructResponse_PropertyDependencies) GetUrns() []string {
	if m != nil {
		return m.Urns
	}
	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 {
	Id                   string          `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Properties           *_struct.Struct `protobuf:"bytes,2,opt,name=properties,proto3" json:"properties,omitempty"`
	Reasons              []string        `protobuf:"bytes,3,rep,name=reasons,proto3" json:"reasons,omitempty"`
	Inputs               *_struct.Struct `protobuf:"bytes,4,opt,name=inputs,proto3" json:"inputs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *ErrorResourceInitFailed) Reset()         { *m = ErrorResourceInitFailed{} }
func (m *ErrorResourceInitFailed) String() string { return proto.CompactTextString(m) }
func (*ErrorResourceInitFailed) ProtoMessage()    {}
func (*ErrorResourceInitFailed) Descriptor() ([]byte, []int) {
	return fileDescriptor_c6a9f3c02af3d1c8, []int{22}
}

func (m *ErrorResourceInitFailed) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ErrorResourceInitFailed.Unmarshal(m, b)
}
func (m *ErrorResourceInitFailed) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ErrorResourceInitFailed.Marshal(b, m, deterministic)
}
func (m *ErrorResourceInitFailed) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ErrorResourceInitFailed.Merge(m, src)
}
func (m *ErrorResourceInitFailed) XXX_Size() int {
	return xxx_messageInfo_ErrorResourceInitFailed.Size(m)
}
func (m *ErrorResourceInitFailed) XXX_DiscardUnknown() {
	xxx_messageInfo_ErrorResourceInitFailed.DiscardUnknown(m)
}

var xxx_messageInfo_ErrorResourceInitFailed proto.InternalMessageInfo

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

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

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

func (m *ErrorResourceInitFailed) GetInputs() *_struct.Struct {
	if m != nil {
		return m.Inputs
	}
	return nil
}

func init() {
	proto.RegisterEnum("pulumirpc.PropertyDiff_Kind", PropertyDiff_Kind_name, PropertyDiff_Kind_value)
	proto.RegisterEnum("pulumirpc.DiffResponse_DiffChanges", DiffResponse_DiffChanges_name, DiffResponse_DiffChanges_value)
	proto.RegisterType((*GetSchemaRequest)(nil), "pulumirpc.GetSchemaRequest")
	proto.RegisterType((*GetSchemaResponse)(nil), "pulumirpc.GetSchemaResponse")
	proto.RegisterType((*ConfigureRequest)(nil), "pulumirpc.ConfigureRequest")
	proto.RegisterMapType((map[string]string)(nil), "pulumirpc.ConfigureRequest.VariablesEntry")
	proto.RegisterType((*ConfigureResponse)(nil), "pulumirpc.ConfigureResponse")
	proto.RegisterType((*ConfigureErrorMissingKeys)(nil), "pulumirpc.ConfigureErrorMissingKeys")
	proto.RegisterType((*ConfigureErrorMissingKeys_MissingKey)(nil), "pulumirpc.ConfigureErrorMissingKeys.MissingKey")
	proto.RegisterType((*InvokeRequest)(nil), "pulumirpc.InvokeRequest")
	proto.RegisterType((*InvokeResponse)(nil), "pulumirpc.InvokeResponse")
	proto.RegisterType((*CheckRequest)(nil), "pulumirpc.CheckRequest")
	proto.RegisterType((*CheckResponse)(nil), "pulumirpc.CheckResponse")
	proto.RegisterType((*CheckFailure)(nil), "pulumirpc.CheckFailure")
	proto.RegisterType((*DiffRequest)(nil), "pulumirpc.DiffRequest")
	proto.RegisterType((*PropertyDiff)(nil), "pulumirpc.PropertyDiff")
	proto.RegisterType((*DiffResponse)(nil), "pulumirpc.DiffResponse")
	proto.RegisterMapType((map[string]*PropertyDiff)(nil), "pulumirpc.DiffResponse.DetailedDiffEntry")
	proto.RegisterType((*CreateRequest)(nil), "pulumirpc.CreateRequest")
	proto.RegisterType((*CreateResponse)(nil), "pulumirpc.CreateResponse")
	proto.RegisterType((*ReadRequest)(nil), "pulumirpc.ReadRequest")
	proto.RegisterType((*ReadResponse)(nil), "pulumirpc.ReadResponse")
	proto.RegisterType((*UpdateRequest)(nil), "pulumirpc.UpdateRequest")
	proto.RegisterType((*UpdateResponse)(nil), "pulumirpc.UpdateResponse")
	proto.RegisterType((*DeleteRequest)(nil), "pulumirpc.DeleteRequest")
	proto.RegisterType((*ConstructRequest)(nil), "pulumirpc.ConstructRequest")
	proto.RegisterMapType((map[string]string)(nil), "pulumirpc.ConstructRequest.ConfigEntry")
	proto.RegisterMapType((map[string]*ConstructRequest_PropertyDependencies)(nil), "pulumirpc.ConstructRequest.InputDependenciesEntry")
	proto.RegisterMapType((map[string]string)(nil), "pulumirpc.ConstructRequest.ProvidersEntry")
	proto.RegisterType((*ConstructRequest_PropertyDependencies)(nil), "pulumirpc.ConstructRequest.PropertyDependencies")
	proto.RegisterType((*ConstructResponse)(nil), "pulumirpc.ConstructResponse")
	proto.RegisterMapType((map[string]*ConstructResponse_PropertyDependencies)(nil), "pulumirpc.ConstructResponse.StateDependenciesEntry")
	proto.RegisterType((*ConstructResponse_PropertyDependencies)(nil), "pulumirpc.ConstructResponse.PropertyDependencies")
	proto.RegisterType((*ErrorResourceInitFailed)(nil), "pulumirpc.ErrorResourceInitFailed")
}

func init() { proto.RegisterFile("provider.proto", fileDescriptor_c6a9f3c02af3d1c8) }

var fileDescriptor_c6a9f3c02af3d1c8 = []byte{
	// 1689 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcd, 0x72, 0xdb, 0x46,
	0x12, 0x16, 0x48, 0x8a, 0x14, 0x9b, 0x3f, 0xa6, 0x66, 0xbd, 0x32, 0x4d, 0xeb, 0xa0, 0xc2, 0x6e,
	0xd5, 0x6a, 0xed, 0x35, 0xa5, 0x95, 0x0f, 0x89, 0x5d, 0x72, 0x39, 0x92, 0x48, 0x29, 0x2a, 0xdb,
	0xb2, 0x02, 0xd9, 0xf9, 0x39, 0xd9, 0x30, 0x38, 0xa4, 0x10, 0x91, 0x00, 0x32, 0x18, 0xd0, 0xa5,
	0x9c, 0x73, 0xc8, 0x25, 0xb9, 0xa6, 0x72, 0xca, 0x13, 0x24, 0xa9, 0xca, 0x13, 0xe4, 0x41, 0x92,
	0x63, 0x1e, 0x20, 0x6f, 0x90, 0x9a, 0x3f, 0x68, 0x86, 0x84, 0x7e, 0xe3, 0x4a, 0x6e, 0xe8, 0xe9,
	0x9e, 0x9e, 0xee, 0x6f, 0x7a, 0xfa, 0x07, 0x50, 0x8f, 0x48, 0x38, 0xf6, 0x7b, 0x98, 0xb4, 0x23,
	0x12, 0xd2, 0x10, 0x95, 0xa3, 0x64, 0x98, 0x8c, 0x7c, 0x12, 0x79, 0xad, 0x6a, 0x34, 0x4c, 0x06,
	0x7e, 0x20, 0x18, 0xad, 0x5b, 0x83, 0x30, 0x1c, 0x0c, 0xf1, 0x0a, 0xa7, 0x5e, 0x27, 0xfd, 0x15,
	0x3c, 0x8a, 0xe8, 0xb1, 0x64, 0x2e, 0x4e, 0x32, 0x63, 0x4a, 0x12, 0x8f, 0x0a, 0xae, 0xfd, 0x3f,
	0x68, 0xec, 0x60, 0x7a, 0xe0, 0x1d, 0xe2, 0x91, 0xeb, 0xe0, 0xcf, 0x12, 0x1c, 0x53, 0xd4, 0x84,
	0xd2, 0x18, 0x93, 0xd8, 0x0f, 0x83, 0xa6, 0xb5, 0x64, 0x2d, 0xcf, 0x3a, 0x8a, 0xb4, 0xef, 0xc0,
	0xbc, 0x26, 0x1d, 0x47, 0x61, 0x10, 0x63, 0xb4, 0x00, 0xc5, 0x98, 0xaf, 0x70, 0xe9, 0xb2, 0x23,
	0x29, 0xfb, 0x9b, 0x1c, 0x34, 0xb6, 0xc2, 0xa0, 0xef, 0x0f, 0x12, 0x82, 0x95, 0xee, 0xf7, 0xa1,
	0x3c, 0x76, 0x89, 0xef, 0xbe, 0x1e, 0xe2, 0xb8, 0x69, 0x2d, 0xe5, 0x97, 0x2b, 0x6b, 0xb7, 0xdb,
	0xa9, 0x5f, 0xed, 0x49, 0xf9, 0xf6, 0x87, 0x4a, 0xb8, 0x1b, 0x50, 0x72, 0xec, 0x9c, 0x6c, 0x46,
	0x77, 0xa0, 0xe0, 0x92, 0x41, 0xdc, 0xcc, 0x2d, 0x59, 0xcb, 0x95, 0xb5, 0x1b, 0x6d, 0xe1, 0x66,
	0x5b, 0xb9, 0xd9, 0x3e, 0xe0, 0x6e, 0x3a, 0x5c, 0x08, 0xfd, 0x1b, 0x6a, 0xae, 0xe7, 0xe1, 0x88,
	0x1e, 0x60, 0x8f, 0x60, 0x1a, 0x37, 0xf3, 0x4b, 0xd6, 0xf2, 0x9c, 0x63, 0x2e, 0xa2, 0x65, 0xb8,
	0x26, 0x16, 0x1c, 0x1c, 0x87, 0x09, 0xf1, 0x70, 0xdc, 0x2c, 0x70, 0xb9, 0xc9, 0xe5, 0xd6, 0x3a,
	0xd4, 0x4d, 0xcb, 0x50, 0x03, 0xf2, 0x47, 0xf8, 0x58, 0x42, 0xc0, 0x3e, 0xd1, 0x75, 0x98, 0x1d,
	0xbb, 0xc3, 0x04, 0x73, 0x0b, 0xcb, 0x8e, 0x20, 0x1e, 0xe4, 0xde, 0xb5, 0xec, 0xaf, 0x2c, 0x98,
	0xd7, 0x3c, 0x95, 0x38, 0x4e, 0xd9, 0x68, 0x9d, 0x62, 0x63, 0x9c, 0x44, 0x51, 0x48, 0x68, 0xbc,
	0x4f, 0xf0, 0xd8, 0xc7, 0x6f, 0xb8, 0xfe, 0x39, 0x67, 0x72, 0x39, 0xcb, 0x9b, 0x7c, 0xa6, 0x37,
	0xf6, 0x4f, 0x16, 0xdc, 0x4c, 0xed, 0xe9, 0x12, 0x12, 0x92, 0xa7, 0x7e, 0x1c, 0xfb, 0xc1, 0xe0,
	0x31, 0x3e, 0x8e, 0xd1, 0x07, 0x50, 0x19, 0x9d, 0x90, 0xf2, 0xd2, 0x56, 0xb2, 0x2e, 0x6d, 0x72,
	0x6b, 0xfb, 0xe4, 0xdb, 0xd1, 0x75, 0xb4, 0x36, 0x01, 0x4e, 0x58, 0x08, 0x41, 0x21, 0x70, 0x47,
	0x58, 0x62, 0xc7, 0xbf, 0xd1, 0x12, 0x54, 0x7a, 0x38, 0xf6, 0x88, 0x1f, 0x51, 0x16, 0x87, 0x02,
	0x42, 0x7d, 0xc9, 0xfe, 0xc1, 0x82, 0xda, 0x6e, 0x30, 0x0e, 0x8f, 0xd2, 0xd8, 0x6a, 0x40, 0x9e,
	0x86, 0x47, 0xea, 0x0a, 0x68, 0x78, 0x74, 0xb9, 0x18, 0x69, 0xc1, 0x9c, 0x7a, 0x70, 0x1c, 0xa8,
	0xb2, 0x93, 0xd2, 0xfa, 0x93, 0x28, 0x70, 0x96, 0x22, 0xb3, 0x50, 0x9e, 0xcd, 0x46, 0x79, 0x0c,
	0x75, 0x65, 0xaf, 0xbc, 0xf1, 0x15, 0x28, 0x12, 0x4c, 0x13, 0x22, 0xde, 0xd9, 0x19, 0x06, 0x4a,
	0x31, 0x74, 0x0f, 0xe6, 0xfa, 0xae, 0x3f, 0x4c, 0x08, 0x66, 0x3e, 0xe5, 0xf9, 0x16, 0xed, 0x1e,
	0x0e, 0xb1, 0x77, 0xb4, 0x2d, 0xf8, 0x4e, 0x2a, 0x68, 0x7f, 0x0e, 0x55, 0xce, 0xd1, 0x60, 0x52,
	0x47, 0x96, 0x1d, 0xf6, 0xc9, 0x60, 0x0a, 0x87, 0xbd, 0xf3, 0x61, 0x62, 0x42, 0x4c, 0x38, 0xc0,
	0x6f, 0x44, 0x2c, 0x9d, 0x25, 0xcc, 0x84, 0xec, 0x04, 0x6a, 0xf2, 0xec, 0x13, 0x97, 0xfd, 0x20,
	0x4a, 0x64, 0x74, 0x9f, 0xe5, 0xb2, 0x10, 0xbb, 0x9a, 0xcb, 0x9b, 0xd2, 0x65, 0xc9, 0x91, 0x57,
	0x1b, 0x61, 0x42, 0xd5, 0x0b, 0x4d, 0x69, 0x96, 0xbe, 0x08, 0x76, 0xe3, 0x34, 0xc8, 0x24, 0x65,
	0xff, 0x68, 0x41, 0xa5, 0xe3, 0xf7, 0xfb, 0x0a, 0xb6, 0x3a, 0xe4, 0xfc, 0x9e, 0xdc, 0x9d, 0xf3,
	0x7b, 0x0a, 0xc6, 0xdc, 0x34, 0x8c, 0xf9, 0xcb, 0xc0, 0x58, 0xb8, 0x00, 0x8c, 0x2c, 0x35, 0xf8,
	0x83, 0x20, 0x24, 0x78, 0xeb, 0xd0, 0x0d, 0x06, 0x3c, 0xc4, 0xf2, 0xcb, 0x65, 0xc7, 0x5c, 0xb4,
	0x7f, 0xb6, 0xa0, 0xba, 0x2f, 0xdd, 0x62, 0x96, 0xa3, 0x55, 0x28, 0x1c, 0xf9, 0x81, 0x30, 0xba,
	0xbe, 0xb6, 0xa8, 0xe1, 0xa6, 0x8b, 0xb5, 0x1f, 0xfb, 0x41, 0xcf, 0xe1, 0x92, 0x68, 0x11, 0xca,
	0x1c, 0x77, 0xb6, 0x2e, 0xf3, 0xca, 0xc9, 0x82, 0xfd, 0x0a, 0x0a, 0x4c, 0x16, 0x95, 0x20, 0xbf,
	0xd1, 0xe9, 0x34, 0x66, 0xd0, 0x35, 0xa8, 0x6c, 0x74, 0x3a, 0x2f, 0x9d, 0xee, 0xfe, 0x93, 0x8d,
	0xad, 0x6e, 0xc3, 0x42, 0x00, 0xc5, 0x4e, 0xf7, 0x49, 0xf7, 0x79, 0xb7, 0x91, 0x43, 0x08, 0xea,
	0xe2, 0x3b, 0xe5, 0xe7, 0x19, 0xff, 0xc5, 0x7e, 0x67, 0xe3, 0x79, 0xb7, 0x51, 0x60, 0x7c, 0xf1,
	0x9d, 0xf2, 0x67, 0xed, 0x5f, 0xf3, 0x50, 0x15, 0xa0, 0xcb, 0x78, 0x69, 0xc1, 0x1c, 0xc1, 0xd1,
	0xd0, 0xf5, 0x64, 0xb9, 0x28, 0x3b, 0x29, 0xcd, 0x1e, 0x65, 0x4c, 0x45, 0x25, 0xc9, 0x71, 0x96,
	0x22, 0xd1, 0x2a, 0xfc, 0xa3, 0x87, 0x87, 0x98, 0xe2, 0x4d, 0xdc, 0x0f, 0x59, 0x8a, 0xe5, 0x3b,
	0x64, 0xfa, 0xcb, 0x62, 0xa1, 0x87, 0x50, 0xf2, 0x24, 0xb6, 0x05, 0x8e, 0xd6, 0xbf, 0x34, 0xb4,
	0x74, 0x8b, 0x38, 0x21, 0x11, 0x77, 0xd4, 0x1e, 0x96, 0xeb, 0x7b, 0x7e, 0xbf, 0xaf, 0x2e, 0x46,
	0x10, 0xe8, 0x29, 0x54, 0x7b, 0x98, 0xba, 0xfe, 0x10, 0xf7, 0x38, 0xa0, 0x45, 0x1e, 0xbf, 0xff,
	0x3d, 0x55, 0xb3, 0x26, 0x2b, 0xca, 0x9d, 0xb1, 0x9d, 0xa5, 0x9a, 0x43, 0x37, 0xd6, 0xa5, 0x9a,
	0x25, 0x91, 0x6a, 0x26, 0x96, 0x5b, 0x1f, 0xc3, 0xfc, 0x94, 0xb2, 0x8c, 0x0a, 0x75, 0x57, 0xaf,
	0x50, 0xe6, 0xc3, 0xd2, 0x03, 0x44, 0x2f, 0x5d, 0x0f, 0xc5, 0xa3, 0x90, 0x00, 0xa0, 0x06, 0x54,
	0x3b, 0xbb, 0xdb, 0xdb, 0x2f, 0x5f, 0xec, 0x3d, 0xde, 0x7b, 0xf6, 0xd1, 0x5e, 0x63, 0x06, 0xd5,
	0xa0, 0xcc, 0x57, 0xf6, 0x9e, 0xed, 0xb1, 0x80, 0x50, 0xe4, 0xc1, 0xb3, 0xa7, 0xdd, 0x46, 0xce,
	0xfe, 0xda, 0x82, 0xda, 0x16, 0xc1, 0x2e, 0xc5, 0xa7, 0x67, 0xa3, 0x77, 0x00, 0xe4, 0xe3, 0xf4,
	0xf1, 0xb9, 0x39, 0x49, 0x13, 0x65, 0xf1, 0x40, 0xfd, 0x11, 0x0e, 0x13, 0xca, 0x6f, 0xda, 0x72,
	0x14, 0xc9, 0x38, 0x91, 0x2c, 0x96, 0xa2, 0xa0, 0x2b, 0xd2, 0xfe, 0x04, 0xea, 0xca, 0x1e, 0x19,
	0x71, 0x93, 0xef, 0xfc, 0xaa, 0xe6, 0xd8, 0xdf, 0x5a, 0x50, 0x71, 0xb0, 0xdb, 0xbb, 0x78, 0x02,
	0x31, 0x8f, 0xca, 0x5f, 0xdc, 0xf3, 0x93, 0xac, 0x5a, 0xb8, 0x50, 0x56, 0xb5, 0xbf, 0xb4, 0xa0,
	0x2a, 0x6c, 0x7b, 0xcb, 0x5e, 0x6b, 0xa6, 0xe4, 0x2f, 0x66, 0xca, 0x6f, 0x16, 0xd4, 0x5e, 0x44,
	0x3d, 0x2d, 0x24, 0xfe, 0xce, 0x4c, 0xab, 0xc5, 0xd0, 0xac, 0x19, 0x43, 0x53, 0x39, 0xb8, 0x98,
	0x91, 0x83, 0xf5, 0x48, 0x2b, 0x99, 0x91, 0xb6, 0x0b, 0x75, 0xe5, 0xa6, 0xc4, 0xdc, 0xc4, 0xd8,
	0xba, 0x78, 0x64, 0x7d, 0x61, 0x41, 0xad, 0xc3, 0x93, 0xd8, 0x5f, 0x10, 0x5b, 0x1a, 0x22, 0x05,
	0x03, 0x11, 0xfb, 0xbb, 0x12, 0x6f, 0xf0, 0xc5, 0x3c, 0xa1, 0x0d, 0x0f, 0x11, 0x09, 0x3f, 0xc5,
	0x1e, 0x95, 0xe6, 0x28, 0x92, 0xe5, 0xc8, 0x98, 0xba, 0xde, 0x91, 0xea, 0x87, 0x39, 0x81, 0x1e,
	0x41, 0xd1, 0xe3, 0xfd, 0x63, 0x33, 0xcf, 0xb3, 0xe3, 0x7f, 0xcc, 0xc6, 0xd2, 0x50, 0x2e, 0x3b,
	0x4d, 0x91, 0x1b, 0xe5, 0x36, 0x56, 0xbf, 0x7b, 0xe4, 0xd8, 0x49, 0x02, 0xf9, 0xb4, 0x25, 0xc5,
	0x6b, 0xbe, 0x4b, 0xdc, 0xe1, 0x10, 0x0f, 0xf9, 0x55, 0xce, 0x3a, 0x29, 0xcd, 0x32, 0xe9, 0x28,
	0x0c, 0x7c, 0x1a, 0x92, 0x6e, 0xd0, 0x8b, 0x42, 0x3f, 0xa0, 0xcd, 0x22, 0x37, 0x6a, 0x72, 0x99,
	0xf5, 0xa6, 0xf4, 0x38, 0xc2, 0xfc, 0x32, 0xcb, 0x0e, 0xff, 0x4e, 0xfb, 0xd5, 0x39, 0xad, 0x5f,
	0x5d, 0x80, 0x62, 0xe4, 0x12, 0x1c, 0xd0, 0x66, 0x59, 0x74, 0x11, 0x82, 0xd2, 0x9e, 0x03, 0x5c,
	0xac, 0xdf, 0x79, 0x05, 0xf3, 0xa2, 0xe0, 0xe2, 0x08, 0x07, 0x3d, 0x1c, 0x78, 0xec, 0xba, 0x2a,
	0x1c, 0x9a, 0xb5, 0xb3, 0xa0, 0xd9, 0x9d, 0xdc, 0x24, 0x50, 0x9a, 0x56, 0x26, 0x6f, 0x88, 0xb2,
	0x1b, 0xaa, 0xaa, 0x10, 0xe5, 0x24, 0x1b, 0xce, 0x54, 0xc7, 0x1b, 0x37, 0x6b, 0x59, 0xc3, 0x99,
	0x79, 0xe6, 0xbe, 0x12, 0x96, 0xc3, 0x59, 0xba, 0x99, 0x9d, 0xe1, 0x0e, 0x7d, 0x37, 0xc6, 0x71,
	0xb3, 0x2e, 0x4a, 0xb3, 0x24, 0x91, 0xcd, 0x6a, 0xa2, 0xe6, 0xda, 0x35, 0xce, 0x36, 0xd6, 0xd0,
	0x6d, 0x68, 0x88, 0xcb, 0x15, 0x43, 0x0f, 0x1f, 0x3b, 0x1a, 0x5c, 0x6e, 0x6a, 0xbd, 0x75, 0x1b,
	0xae, 0xa7, 0xb5, 0x4a, 0xd7, 0x81, 0xa0, 0x90, 0x90, 0x40, 0x35, 0x0d, 0xfc, 0xbb, 0x75, 0x1f,
	0x2a, 0x5a, 0x04, 0x5d, 0x66, 0x64, 0x6b, 0x8d, 0x61, 0x21, 0x1b, 0xe1, 0x0c, 0x2d, 0xdb, 0x66,
	0x59, 0x5d, 0x3d, 0x07, 0xc2, 0x29, 0xdb, 0xf5, 0x73, 0xd7, 0xa1, 0x6e, 0xa2, 0x7c, 0xa9, 0x41,
	0xf3, 0x97, 0x1c, 0x1f, 0x34, 0xd5, 0x91, 0x32, 0xef, 0x4c, 0x97, 0xdc, 0xbb, 0xfc, 0x69, 0x52,
	0x7c, 0x5e, 0xa2, 0x17, 0x52, 0xc8, 0x85, 0x79, 0xfe, 0x61, 0xc4, 0xa8, 0x78, 0xbe, 0xf7, 0xb2,
	0x9d, 0x95, 0x1d, 0xce, 0xc1, 0xe4, 0x2e, 0x19, 0xa4, 0x53, 0xda, 0x2e, 0x75, 0xad, 0x6f, 0x60,
	0x21, 0x5b, 0x71, 0x06, 0x56, 0x3b, 0xe6, 0xdd, 0xfc, 0xff, 0x4c, 0x73, 0xcf, 0xb9, 0x1c, 0xfb,
	0x7b, 0x0b, 0x6e, 0xf0, 0x99, 0x57, 0x0d, 0x79, 0xbb, 0x81, 0x4f, 0xb7, 0x79, 0xdb, 0xf5, 0xf6,
	0x0a, 0x6a, 0x13, 0x4a, 0x62, 0x22, 0x11, 0x10, 0x97, 0x1d, 0x45, 0x5e, 0xba, 0xea, 0xaf, 0xfd,
	0x5e, 0x82, 0x86, 0x32, 0x55, 0x45, 0x15, 0x7b, 0xf4, 0xe9, 0x3f, 0x1d, 0x74, 0x4b, 0xc3, 0x63,
	0xf2, 0xbf, 0x50, 0x6b, 0x31, 0x9b, 0x29, 0xc0, 0xb2, 0x67, 0xd0, 0x26, 0x54, 0xf8, 0xd4, 0x25,
	0xde, 0x18, 0x9a, 0x9a, 0xd3, 0x94, 0x9e, 0xe6, 0x34, 0x23, 0xd5, 0xf1, 0x08, 0x80, 0xf7, 0x97,
	0x32, 0xb7, 0x4f, 0xb5, 0xca, 0x42, 0xc3, 0x8d, 0x53, 0x5a, 0x68, 0x7b, 0x86, 0xb9, 0x93, 0xfe,
	0x8f, 0x30, 0xdc, 0x99, 0xfc, 0xb5, 0x64, 0xb8, 0x33, 0xf5, 0x37, 0x86, 0x9b, 0x52, 0x14, 0xf3,
	0x3a, 0xd2, 0x0d, 0x36, 0x7e, 0x39, 0xb4, 0x6e, 0x66, 0x70, 0x52, 0x05, 0x3b, 0x50, 0x3d, 0xa0,
	0x04, 0xbb, 0xa3, 0x3f, 0xa5, 0x66, 0xd5, 0x42, 0xeb, 0x30, 0xcb, 0x71, 0xba, 0x1a, 0xa4, 0xf7,
	0xa1, 0xc0, 0xc7, 0x87, 0x2b, 0x80, 0xf9, 0x08, 0x8a, 0xa2, 0x3b, 0x36, 0x6c, 0x37, 0x1a, 0x78,
	0xc3, 0x76, 0xb3, 0x95, 0x16, 0x67, 0xb3, 0x36, 0xd3, 0x38, 0x5b, 0xeb, 0x89, 0x8d, 0xb3, 0xf5,
	0x7e, 0x54, 0x9c, 0x2d, 0xfa, 0x25, 0xe3, 0x6c, 0xa3, 0x53, 0x34, 0xce, 0x36, 0x9b, 0x2b, 0x7b,
	0x06, 0xad, 0x43, 0x51, 0x34, 0x49, 0x86, 0x02, 0xa3, 0x6f, 0x6a, 0x2d, 0x4c, 0x3d, 0x99, 0xee,
	0x28, 0xa2, 0xc7, 0x69, 0x1c, 0x89, 0x84, 0x30, 0x19, 0x47, 0x46, 0x0a, 0x9f, 0x8c, 0x23, 0x33,
	0x87, 0xd8, 0x33, 0xe8, 0x01, 0x14, 0xb7, 0xdc, 0xc0, 0xc3, 0x43, 0x74, 0xca, 0x69, 0x67, 0x58,
	0xf1, 0x1e, 0xd4, 0x76, 0x30, 0xdd, 0xe7, 0x3f, 0x7b, 0x77, 0x83, 0x7e, 0x78, 0xaa, 0x8a, 0x7f,
	0xea, 0xb3, 0x5b, 0x2a, 0x6e, 0xcf, 0xbc, 0x2e, 0x72, 0xc1, 0x7b, 0x7f, 0x04, 0x00, 0x00, 0xff,
	0xff, 0x02, 0x31, 0x0a, 0x9b, 0x4d, 0x16, 0x00, 0x00,
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6

// ResourceProviderClient is the client API for ResourceProvider service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ResourceProviderClient interface {
	// GetSchema fetches the schema for this resource provider.
	GetSchema(ctx context.Context, in *GetSchemaRequest, opts ...grpc.CallOption) (*GetSchemaResponse, error)
	// CheckConfig validates the configuration for this resource provider.
	CheckConfig(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error)
	// DiffConfig checks the impact a hypothetical change to this provider's configuration will have on the provider.
	DiffConfig(ctx context.Context, in *DiffRequest, opts ...grpc.CallOption) (*DiffResponse, error)
	// Configure configures the resource provider with "globals" that control its behavior.
	Configure(ctx context.Context, in *ConfigureRequest, opts ...grpc.CallOption) (*ConfigureResponse, error)
	// Invoke dynamically executes a built-in function in the provider.
	Invoke(ctx context.Context, in *InvokeRequest, opts ...grpc.CallOption) (*InvokeResponse, error)
	// StreamInvoke dynamically executes a built-in function in the provider, which returns a stream
	// of responses.
	StreamInvoke(ctx context.Context, in *InvokeRequest, opts ...grpc.CallOption) (ResourceProvider_StreamInvokeClient, error)
	// Check validates that the given property bag is valid for a resource of the given type and returns the inputs
	// that should be passed to successive calls to Diff, Create, or Update for this resource. As a rule, the provider
	// inputs returned by a call to Check should preserve the original representation of the properties as present in
	// the program inputs. Though this rule is not required for correctness, violations thereof can negatively impact
	// the end-user experience, as the provider inputs are using for detecting and rendering diffs.
	Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error)
	// Diff checks what impacts a hypothetical update will have on the resource's properties.
	Diff(ctx context.Context, in *DiffRequest, opts ...grpc.CallOption) (*DiffResponse, error)
	// Create allocates a new instance of the provided resource and returns its unique ID afterwards.  (The input ID
	// must be blank.)  If this call fails, the resource must not have been created (i.e., it is "transactional").
	Create(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*CreateResponse, error)
	// Read the current live state associated with a resource.  Enough state must be include in the inputs to uniquely
	// identify the resource; this is typically just the resource ID, but may also include some properties.
	Read(ctx context.Context, in *ReadRequest, opts ...grpc.CallOption) (*ReadResponse, error)
	// Update updates an existing resource with new values.
	Update(ctx context.Context, in *UpdateRequest, opts ...grpc.CallOption) (*UpdateResponse, error)
	// Delete tears down an existing resource with the given ID.  If it fails, the resource is assumed to still exist.
	Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Construct creates a new instance of the provided component resource and returns its state.
	Construct(ctx context.Context, in *ConstructRequest, opts ...grpc.CallOption) (*ConstructResponse, error)
	// Cancel signals the provider to abort all outstanding resource operations.
	Cancel(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error)
	// GetPluginInfo returns generic information about this plugin, like its version.
	GetPluginInfo(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*PluginInfo, error)
}

type resourceProviderClient struct {
	cc grpc.ClientConnInterface
}

func NewResourceProviderClient(cc grpc.ClientConnInterface) ResourceProviderClient {
	return &resourceProviderClient{cc}
}

func (c *resourceProviderClient) GetSchema(ctx context.Context, in *GetSchemaRequest, opts ...grpc.CallOption) (*GetSchemaResponse, error) {
	out := new(GetSchemaResponse)
	err := c.cc.Invoke(ctx, "/pulumirpc.ResourceProvider/GetSchema", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resourceProviderClient) CheckConfig(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) {
	out := new(CheckResponse)
	err := c.cc.Invoke(ctx, "/pulumirpc.ResourceProvider/CheckConfig", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resourceProviderClient) DiffConfig(ctx context.Context, in *DiffRequest, opts ...grpc.CallOption) (*DiffResponse, error) {
	out := new(DiffResponse)
	err := c.cc.Invoke(ctx, "/pulumirpc.ResourceProvider/DiffConfig", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resourceProviderClient) Configure(ctx context.Context, in *ConfigureRequest, opts ...grpc.CallOption) (*ConfigureResponse, error) {
	out := new(ConfigureResponse)
	err := c.cc.Invoke(ctx, "/pulumirpc.ResourceProvider/Configure", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resourceProviderClient) Invoke(ctx context.Context, in *InvokeRequest, opts ...grpc.CallOption) (*InvokeResponse, error) {
	out := new(InvokeResponse)
	err := c.cc.Invoke(ctx, "/pulumirpc.ResourceProvider/Invoke", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resourceProviderClient) StreamInvoke(ctx context.Context, in *InvokeRequest, opts ...grpc.CallOption) (ResourceProvider_StreamInvokeClient, error) {
	stream, err := c.cc.NewStream(ctx, &_ResourceProvider_serviceDesc.Streams[0], "/pulumirpc.ResourceProvider/StreamInvoke", opts...)
	if err != nil {
		return nil, err
	}
	x := &resourceProviderStreamInvokeClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type ResourceProvider_StreamInvokeClient interface {
	Recv() (*InvokeResponse, error)
	grpc.ClientStream
}

type resourceProviderStreamInvokeClient struct {
	grpc.ClientStream
}

func (x *resourceProviderStreamInvokeClient) Recv() (*InvokeResponse, error) {
	m := new(InvokeResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *resourceProviderClient) Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) {
	out := new(CheckResponse)
	err := c.cc.Invoke(ctx, "/pulumirpc.ResourceProvider/Check", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resourceProviderClient) Diff(ctx context.Context, in *DiffRequest, opts ...grpc.CallOption) (*DiffResponse, error) {
	out := new(DiffResponse)
	err := c.cc.Invoke(ctx, "/pulumirpc.ResourceProvider/Diff", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resourceProviderClient) Create(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*CreateResponse, error) {
	out := new(CreateResponse)
	err := c.cc.Invoke(ctx, "/pulumirpc.ResourceProvider/Create", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resourceProviderClient) Read(ctx context.Context, in *ReadRequest, opts ...grpc.CallOption) (*ReadResponse, error) {
	out := new(ReadResponse)
	err := c.cc.Invoke(ctx, "/pulumirpc.ResourceProvider/Read", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resourceProviderClient) Update(ctx context.Context, in *UpdateRequest, opts ...grpc.CallOption) (*UpdateResponse, error) {
	out := new(UpdateResponse)
	err := c.cc.Invoke(ctx, "/pulumirpc.ResourceProvider/Update", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resourceProviderClient) Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/pulumirpc.ResourceProvider/Delete", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resourceProviderClient) Construct(ctx context.Context, in *ConstructRequest, opts ...grpc.CallOption) (*ConstructResponse, error) {
	out := new(ConstructResponse)
	err := c.cc.Invoke(ctx, "/pulumirpc.ResourceProvider/Construct", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resourceProviderClient) Cancel(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/pulumirpc.ResourceProvider/Cancel", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resourceProviderClient) GetPluginInfo(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*PluginInfo, error) {
	out := new(PluginInfo)
	err := c.cc.Invoke(ctx, "/pulumirpc.ResourceProvider/GetPluginInfo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// ResourceProviderServer is the server API for ResourceProvider service.
type ResourceProviderServer interface {
	// GetSchema fetches the schema for this resource provider.
	GetSchema(context.Context, *GetSchemaRequest) (*GetSchemaResponse, error)
	// CheckConfig validates the configuration for this resource provider.
	CheckConfig(context.Context, *CheckRequest) (*CheckResponse, error)
	// DiffConfig checks the impact a hypothetical change to this provider's configuration will have on the provider.
	DiffConfig(context.Context, *DiffRequest) (*DiffResponse, error)
	// Configure configures the resource provider with "globals" that control its behavior.
	Configure(context.Context, *ConfigureRequest) (*ConfigureResponse, error)
	// Invoke dynamically executes a built-in function in the provider.
	Invoke(context.Context, *InvokeRequest) (*InvokeResponse, error)
	// StreamInvoke dynamically executes a built-in function in the provider, which returns a stream
	// of responses.
	StreamInvoke(*InvokeRequest, ResourceProvider_StreamInvokeServer) error
	// Check validates that the given property bag is valid for a resource of the given type and returns the inputs
	// that should be passed to successive calls to Diff, Create, or Update for this resource. As a rule, the provider
	// inputs returned by a call to Check should preserve the original representation of the properties as present in
	// the program inputs. Though this rule is not required for correctness, violations thereof can negatively impact
	// the end-user experience, as the provider inputs are using for detecting and rendering diffs.
	Check(context.Context, *CheckRequest) (*CheckResponse, error)
	// Diff checks what impacts a hypothetical update will have on the resource's properties.
	Diff(context.Context, *DiffRequest) (*DiffResponse, error)
	// Create allocates a new instance of the provided resource and returns its unique ID afterwards.  (The input ID
	// must be blank.)  If this call fails, the resource must not have been created (i.e., it is "transactional").
	Create(context.Context, *CreateRequest) (*CreateResponse, error)
	// Read the current live state associated with a resource.  Enough state must be include in the inputs to uniquely
	// identify the resource; this is typically just the resource ID, but may also include some properties.
	Read(context.Context, *ReadRequest) (*ReadResponse, error)
	// Update updates an existing resource with new values.
	Update(context.Context, *UpdateRequest) (*UpdateResponse, error)
	// Delete tears down an existing resource with the given ID.  If it fails, the resource is assumed to still exist.
	Delete(context.Context, *DeleteRequest) (*empty.Empty, error)
	// Construct creates a new instance of the provided component resource and returns its state.
	Construct(context.Context, *ConstructRequest) (*ConstructResponse, error)
	// Cancel signals the provider to abort all outstanding resource operations.
	Cancel(context.Context, *empty.Empty) (*empty.Empty, error)
	// GetPluginInfo returns generic information about this plugin, like its version.
	GetPluginInfo(context.Context, *empty.Empty) (*PluginInfo, error)
}

// UnimplementedResourceProviderServer can be embedded to have forward compatible implementations.
type UnimplementedResourceProviderServer struct {
}

func (*UnimplementedResourceProviderServer) GetSchema(ctx context.Context, req *GetSchemaRequest) (*GetSchemaResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetSchema not implemented")
}
func (*UnimplementedResourceProviderServer) CheckConfig(ctx context.Context, req *CheckRequest) (*CheckResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CheckConfig not implemented")
}
func (*UnimplementedResourceProviderServer) DiffConfig(ctx context.Context, req *DiffRequest) (*DiffResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DiffConfig not implemented")
}
func (*UnimplementedResourceProviderServer) Configure(ctx context.Context, req *ConfigureRequest) (*ConfigureResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Configure not implemented")
}
func (*UnimplementedResourceProviderServer) Invoke(ctx context.Context, req *InvokeRequest) (*InvokeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Invoke not implemented")
}
func (*UnimplementedResourceProviderServer) StreamInvoke(req *InvokeRequest, srv ResourceProvider_StreamInvokeServer) error {
	return status.Errorf(codes.Unimplemented, "method StreamInvoke not implemented")
}
func (*UnimplementedResourceProviderServer) Check(ctx context.Context, req *CheckRequest) (*CheckResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Check not implemented")
}
func (*UnimplementedResourceProviderServer) Diff(ctx context.Context, req *DiffRequest) (*DiffResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Diff not implemented")
}
func (*UnimplementedResourceProviderServer) Create(ctx context.Context, req *CreateRequest) (*CreateResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Create not implemented")
}
func (*UnimplementedResourceProviderServer) Read(ctx context.Context, req *ReadRequest) (*ReadResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Read not implemented")
}
func (*UnimplementedResourceProviderServer) Update(ctx context.Context, req *UpdateRequest) (*UpdateResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Update not implemented")
}
func (*UnimplementedResourceProviderServer) Delete(ctx context.Context, req *DeleteRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented")
}
func (*UnimplementedResourceProviderServer) Construct(ctx context.Context, req *ConstructRequest) (*ConstructResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Construct not implemented")
}
func (*UnimplementedResourceProviderServer) Cancel(ctx context.Context, req *empty.Empty) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Cancel not implemented")
}
func (*UnimplementedResourceProviderServer) GetPluginInfo(ctx context.Context, req *empty.Empty) (*PluginInfo, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetPluginInfo not implemented")
}

func RegisterResourceProviderServer(s *grpc.Server, srv ResourceProviderServer) {
	s.RegisterService(&_ResourceProvider_serviceDesc, srv)
}

func _ResourceProvider_GetSchema_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetSchemaRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResourceProviderServer).GetSchema(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pulumirpc.ResourceProvider/GetSchema",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResourceProviderServer).GetSchema(ctx, req.(*GetSchemaRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResourceProvider_CheckConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CheckRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResourceProviderServer).CheckConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pulumirpc.ResourceProvider/CheckConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResourceProviderServer).CheckConfig(ctx, req.(*CheckRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResourceProvider_DiffConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DiffRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResourceProviderServer).DiffConfig(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pulumirpc.ResourceProvider/DiffConfig",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResourceProviderServer).DiffConfig(ctx, req.(*DiffRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResourceProvider_Configure_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ConfigureRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResourceProviderServer).Configure(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pulumirpc.ResourceProvider/Configure",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResourceProviderServer).Configure(ctx, req.(*ConfigureRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResourceProvider_Invoke_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(InvokeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResourceProviderServer).Invoke(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pulumirpc.ResourceProvider/Invoke",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResourceProviderServer).Invoke(ctx, req.(*InvokeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResourceProvider_StreamInvoke_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(InvokeRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(ResourceProviderServer).StreamInvoke(m, &resourceProviderStreamInvokeServer{stream})
}

type ResourceProvider_StreamInvokeServer interface {
	Send(*InvokeResponse) error
	grpc.ServerStream
}

type resourceProviderStreamInvokeServer struct {
	grpc.ServerStream
}

func (x *resourceProviderStreamInvokeServer) Send(m *InvokeResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _ResourceProvider_Check_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CheckRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResourceProviderServer).Check(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pulumirpc.ResourceProvider/Check",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResourceProviderServer).Check(ctx, req.(*CheckRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResourceProvider_Diff_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DiffRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResourceProviderServer).Diff(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pulumirpc.ResourceProvider/Diff",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResourceProviderServer).Diff(ctx, req.(*DiffRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResourceProvider_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResourceProviderServer).Create(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pulumirpc.ResourceProvider/Create",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResourceProviderServer).Create(ctx, req.(*CreateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResourceProvider_Read_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReadRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResourceProviderServer).Read(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pulumirpc.ResourceProvider/Read",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResourceProviderServer).Read(ctx, req.(*ReadRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResourceProvider_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResourceProviderServer).Update(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pulumirpc.ResourceProvider/Update",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResourceProviderServer).Update(ctx, req.(*UpdateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResourceProvider_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResourceProviderServer).Delete(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pulumirpc.ResourceProvider/Delete",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResourceProviderServer).Delete(ctx, req.(*DeleteRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResourceProvider_Construct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ConstructRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResourceProviderServer).Construct(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pulumirpc.ResourceProvider/Construct",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResourceProviderServer).Construct(ctx, req.(*ConstructRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResourceProvider_Cancel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResourceProviderServer).Cancel(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pulumirpc.ResourceProvider/Cancel",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResourceProviderServer).Cancel(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _ResourceProvider_GetPluginInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ResourceProviderServer).GetPluginInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pulumirpc.ResourceProvider/GetPluginInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ResourceProviderServer).GetPluginInfo(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

var _ResourceProvider_serviceDesc = grpc.ServiceDesc{
	ServiceName: "pulumirpc.ResourceProvider",
	HandlerType: (*ResourceProviderServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetSchema",
			Handler:    _ResourceProvider_GetSchema_Handler,
		},
		{
			MethodName: "CheckConfig",
			Handler:    _ResourceProvider_CheckConfig_Handler,
		},
		{
			MethodName: "DiffConfig",
			Handler:    _ResourceProvider_DiffConfig_Handler,
		},
		{
			MethodName: "Configure",
			Handler:    _ResourceProvider_Configure_Handler,
		},
		{
			MethodName: "Invoke",
			Handler:    _ResourceProvider_Invoke_Handler,
		},
		{
			MethodName: "Check",
			Handler:    _ResourceProvider_Check_Handler,
		},
		{
			MethodName: "Diff",
			Handler:    _ResourceProvider_Diff_Handler,
		},
		{
			MethodName: "Create",
			Handler:    _ResourceProvider_Create_Handler,
		},
		{
			MethodName: "Read",
			Handler:    _ResourceProvider_Read_Handler,
		},
		{
			MethodName: "Update",
			Handler:    _ResourceProvider_Update_Handler,
		},
		{
			MethodName: "Delete",
			Handler:    _ResourceProvider_Delete_Handler,
		},
		{
			MethodName: "Construct",
			Handler:    _ResourceProvider_Construct_Handler,
		},
		{
			MethodName: "Cancel",
			Handler:    _ResourceProvider_Cancel_Handler,
		},
		{
			MethodName: "GetPluginInfo",
			Handler:    _ResourceProvider_GetPluginInfo_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "StreamInvoke",
			Handler:       _ResourceProvider_StreamInvoke_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "provider.proto",
}
