package pulumirpc

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import empty "github.com/golang/protobuf/ptypes/empty"
import _struct "github.com/golang/protobuf/ptypes/struct"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

const _ = proto.ProtoPackageIsVersion2 

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_provider_a22c3696aa3684b0, []int{9, 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_provider_a22c3696aa3684b0, []int{10, 0}
}

type ConfigureRequest struct {
	Variables            map[string]string `protobuf:"bytes,1,rep,name=variables" json:"variables,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	Args                 *_struct.Struct   `protobuf:"bytes,2,opt,name=args" json:"args,omitempty"`
	AcceptSecrets        bool              `protobuf:"varint,3,opt,name=acceptSecrets" json:"acceptSecrets,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_provider_a22c3696aa3684b0, []int{0}
}
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 (dst *ConfigureRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConfigureRequest.Merge(dst, 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
}

type ConfigureResponse struct {
	AcceptSecrets        bool     `protobuf:"varint,1,opt,name=acceptSecrets" json:"acceptSecrets,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_provider_a22c3696aa3684b0, []int{1}
}
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 (dst *ConfigureResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConfigureResponse.Merge(dst, 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
}

type ConfigureErrorMissingKeys struct {
	MissingKeys          []*ConfigureErrorMissingKeys_MissingKey `protobuf:"bytes,1,rep,name=missingKeys" 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_provider_a22c3696aa3684b0, []int{2}
}
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 (dst *ConfigureErrorMissingKeys) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConfigureErrorMissingKeys.Merge(dst, 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" json:"name,omitempty"`
	Description          string   `protobuf:"bytes,2,opt,name=description" 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_provider_a22c3696aa3684b0, []int{2, 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 (dst *ConfigureErrorMissingKeys_MissingKey) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConfigureErrorMissingKeys_MissingKey.Merge(dst, 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" json:"tok,omitempty"`
	Args                 *_struct.Struct `protobuf:"bytes,2,opt,name=args" json:"args,omitempty"`
	Provider             string          `protobuf:"bytes,3,opt,name=provider" json:"provider,omitempty"`
	Version              string          `protobuf:"bytes,4,opt,name=version" json:"version,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_provider_a22c3696aa3684b0, []int{3}
}
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 (dst *InvokeRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InvokeRequest.Merge(dst, 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 ""
}

type InvokeResponse struct {
	Return               *_struct.Struct `protobuf:"bytes,1,opt,name=return" json:"return,omitempty"`
	Failures             []*CheckFailure `protobuf:"bytes,2,rep,name=failures" 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_provider_a22c3696aa3684b0, []int{4}
}
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 (dst *InvokeResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InvokeResponse.Merge(dst, 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" json:"urn,omitempty"`
	Olds                 *_struct.Struct `protobuf:"bytes,2,opt,name=olds" json:"olds,omitempty"`
	News                 *_struct.Struct `protobuf:"bytes,3,opt,name=news" 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_provider_a22c3696aa3684b0, []int{5}
}
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 (dst *CheckRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CheckRequest.Merge(dst, 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" json:"inputs,omitempty"`
	Failures             []*CheckFailure `protobuf:"bytes,2,rep,name=failures" 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_provider_a22c3696aa3684b0, []int{6}
}
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 (dst *CheckResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CheckResponse.Merge(dst, 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" json:"property,omitempty"`
	Reason               string   `protobuf:"bytes,2,opt,name=reason" 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_provider_a22c3696aa3684b0, []int{7}
}
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 (dst *CheckFailure) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CheckFailure.Merge(dst, 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" json:"id,omitempty"`
	Urn                  string          `protobuf:"bytes,2,opt,name=urn" json:"urn,omitempty"`
	Olds                 *_struct.Struct `protobuf:"bytes,3,opt,name=olds" json:"olds,omitempty"`
	News                 *_struct.Struct `protobuf:"bytes,4,opt,name=news" json:"news,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_provider_a22c3696aa3684b0, []int{8}
}
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 (dst *DiffRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DiffRequest.Merge(dst, 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
}

type PropertyDiff struct {
	Kind                 PropertyDiff_Kind `protobuf:"varint,1,opt,name=kind,enum=pulumirpc.PropertyDiff_Kind" json:"kind,omitempty"`
	InputDiff            bool              `protobuf:"varint,2,opt,name=inputDiff" 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_provider_a22c3696aa3684b0, []int{9}
}
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 (dst *PropertyDiff) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PropertyDiff.Merge(dst, 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" json:"replaces,omitempty"`
	Stables             []string                 `protobuf:"bytes,2,rep,name=stables" json:"stables,omitempty"`
	DeleteBeforeReplace bool                     `protobuf:"varint,3,opt,name=deleteBeforeReplace" json:"deleteBeforeReplace,omitempty"`
	Changes             DiffResponse_DiffChanges `protobuf:"varint,4,opt,name=changes,enum=pulumirpc.DiffResponse_DiffChanges" json:"changes,omitempty"`
	Diffs               []string                 `protobuf:"bytes,5,rep,name=diffs" json:"diffs,omitempty"`

	DetailedDiff         map[string]*PropertyDiff `protobuf:"bytes,6,rep,name=detailedDiff" json:"detailedDiff,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	HasDetailedDiff      bool                     `protobuf:"varint,7,opt,name=hasDetailedDiff" 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_provider_a22c3696aa3684b0, []int{10}
}
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 (dst *DiffResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DiffResponse.Merge(dst, 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" json:"urn,omitempty"`
	Properties           *_struct.Struct `protobuf:"bytes,2,opt,name=properties" json:"properties,omitempty"`
	Timeout              float64         `protobuf:"fixed64,3,opt,name=timeout" json:"timeout,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_provider_a22c3696aa3684b0, []int{11}
}
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 (dst *CreateRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateRequest.Merge(dst, 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
}

type CreateResponse struct {
	Id                   string          `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Properties           *_struct.Struct `protobuf:"bytes,2,opt,name=properties" 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_provider_a22c3696aa3684b0, []int{12}
}
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 (dst *CreateResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateResponse.Merge(dst, 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" json:"id,omitempty"`
	Urn                  string          `protobuf:"bytes,2,opt,name=urn" json:"urn,omitempty"`
	Properties           *_struct.Struct `protobuf:"bytes,3,opt,name=properties" json:"properties,omitempty"`
	Inputs               *_struct.Struct `protobuf:"bytes,4,opt,name=inputs" 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_provider_a22c3696aa3684b0, []int{13}
}
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 (dst *ReadRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReadRequest.Merge(dst, 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" json:"id,omitempty"`
	Properties           *_struct.Struct `protobuf:"bytes,2,opt,name=properties" json:"properties,omitempty"`
	Inputs               *_struct.Struct `protobuf:"bytes,3,opt,name=inputs" 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_provider_a22c3696aa3684b0, []int{14}
}
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 (dst *ReadResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReadResponse.Merge(dst, 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" json:"id,omitempty"`
	Urn                  string          `protobuf:"bytes,2,opt,name=urn" json:"urn,omitempty"`
	Olds                 *_struct.Struct `protobuf:"bytes,3,opt,name=olds" json:"olds,omitempty"`
	News                 *_struct.Struct `protobuf:"bytes,4,opt,name=news" json:"news,omitempty"`
	Timeout              float64         `protobuf:"fixed64,5,opt,name=timeout" json:"timeout,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_provider_a22c3696aa3684b0, []int{15}
}
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 (dst *UpdateRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpdateRequest.Merge(dst, 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
}

type UpdateResponse struct {
	Properties           *_struct.Struct `protobuf:"bytes,1,opt,name=properties" 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_provider_a22c3696aa3684b0, []int{16}
}
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 (dst *UpdateResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpdateResponse.Merge(dst, 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" json:"id,omitempty"`
	Urn                  string          `protobuf:"bytes,2,opt,name=urn" json:"urn,omitempty"`
	Properties           *_struct.Struct `protobuf:"bytes,3,opt,name=properties" json:"properties,omitempty"`
	Timeout              float64         `protobuf:"fixed64,4,opt,name=timeout" 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_provider_a22c3696aa3684b0, []int{17}
}
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 (dst *DeleteRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteRequest.Merge(dst, 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 ErrorResourceInitFailed struct {
	Id                   string          `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Properties           *_struct.Struct `protobuf:"bytes,2,opt,name=properties" json:"properties,omitempty"`
	Reasons              []string        `protobuf:"bytes,3,rep,name=reasons" json:"reasons,omitempty"`
	Inputs               *_struct.Struct `protobuf:"bytes,4,opt,name=inputs" 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_provider_a22c3696aa3684b0, []int{18}
}
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 (dst *ErrorResourceInitFailed) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ErrorResourceInitFailed.Merge(dst, 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.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((*ErrorResourceInitFailed)(nil), "pulumirpc.ErrorResourceInitFailed")
	proto.RegisterEnum("pulumirpc.PropertyDiff_Kind", PropertyDiff_Kind_name, PropertyDiff_Kind_value)
	proto.RegisterEnum("pulumirpc.DiffResponse_DiffChanges", DiffResponse_DiffChanges_name, DiffResponse_DiffChanges_value)
}

var _ context.Context
var _ grpc.ClientConn

const _ = grpc.SupportPackageIsVersion4

type ResourceProviderClient interface {

	CheckConfig(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error)

	DiffConfig(ctx context.Context, in *DiffRequest, opts ...grpc.CallOption) (*DiffResponse, error)

	Configure(ctx context.Context, in *ConfigureRequest, opts ...grpc.CallOption) (*ConfigureResponse, error)

	Invoke(ctx context.Context, in *InvokeRequest, opts ...grpc.CallOption) (*InvokeResponse, error)

	Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error)

	Diff(ctx context.Context, in *DiffRequest, opts ...grpc.CallOption) (*DiffResponse, error)

	Create(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*CreateResponse, error)

	Read(ctx context.Context, in *ReadRequest, opts ...grpc.CallOption) (*ReadResponse, error)

	Update(ctx context.Context, in *UpdateRequest, opts ...grpc.CallOption) (*UpdateResponse, error)

	Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*empty.Empty, error)

	Cancel(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error)

	GetPluginInfo(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*PluginInfo, error)
}

type resourceProviderClient struct {
	cc *grpc.ClientConn
}

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

func (c *resourceProviderClient) CheckConfig(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) {
	out := new(CheckResponse)
	err := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/CheckConfig", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/DiffConfig", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/Configure", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/Invoke", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resourceProviderClient) Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) {
	out := new(CheckResponse)
	err := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/Check", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/Diff", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/Create", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/Read", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/Update", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/Delete", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/Cancel", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/GetPluginInfo", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

type ResourceProviderServer interface {

	CheckConfig(context.Context, *CheckRequest) (*CheckResponse, error)

	DiffConfig(context.Context, *DiffRequest) (*DiffResponse, error)

	Configure(context.Context, *ConfigureRequest) (*ConfigureResponse, error)

	Invoke(context.Context, *InvokeRequest) (*InvokeResponse, error)

	Check(context.Context, *CheckRequest) (*CheckResponse, error)

	Diff(context.Context, *DiffRequest) (*DiffResponse, error)

	Create(context.Context, *CreateRequest) (*CreateResponse, error)

	Read(context.Context, *ReadRequest) (*ReadResponse, error)

	Update(context.Context, *UpdateRequest) (*UpdateResponse, error)

	Delete(context.Context, *DeleteRequest) (*empty.Empty, error)

	Cancel(context.Context, *empty.Empty) (*empty.Empty, error)

	GetPluginInfo(context.Context, *empty.Empty) (*PluginInfo, error)
}

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

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_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_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: "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: "Cancel",
			Handler:    _ResourceProvider_Cancel_Handler,
		},
		{
			MethodName: "GetPluginInfo",
			Handler:    _ResourceProvider_GetPluginInfo_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "provider.proto",
}

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

var fileDescriptor_provider_a22c3696aa3684b0 = []byte{

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

package pulumirpc

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import empty "github.com/golang/protobuf/ptypes/empty"
import _struct "github.com/golang/protobuf/ptypes/struct"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

// 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.ProtoPackageIsVersion2 // 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_provider_a22c3696aa3684b0, []int{9, 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_provider_a22c3696aa3684b0, []int{10, 0}
}

type ConfigureRequest struct {
	Variables            map[string]string `protobuf:"bytes,1,rep,name=variables" json:"variables,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	Args                 *_struct.Struct   `protobuf:"bytes,2,opt,name=args" json:"args,omitempty"`
	AcceptSecrets        bool              `protobuf:"varint,3,opt,name=acceptSecrets" json:"acceptSecrets,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_provider_a22c3696aa3684b0, []int{0}
}
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 (dst *ConfigureRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConfigureRequest.Merge(dst, 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
}

type ConfigureResponse struct {
	AcceptSecrets        bool     `protobuf:"varint,1,opt,name=acceptSecrets" json:"acceptSecrets,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_provider_a22c3696aa3684b0, []int{1}
}
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 (dst *ConfigureResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConfigureResponse.Merge(dst, 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
}

// 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" 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_provider_a22c3696aa3684b0, []int{2}
}
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 (dst *ConfigureErrorMissingKeys) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConfigureErrorMissingKeys.Merge(dst, 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" json:"name,omitempty"`
	Description          string   `protobuf:"bytes,2,opt,name=description" 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_provider_a22c3696aa3684b0, []int{2, 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 (dst *ConfigureErrorMissingKeys_MissingKey) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConfigureErrorMissingKeys_MissingKey.Merge(dst, 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" json:"tok,omitempty"`
	Args                 *_struct.Struct `protobuf:"bytes,2,opt,name=args" json:"args,omitempty"`
	Provider             string          `protobuf:"bytes,3,opt,name=provider" json:"provider,omitempty"`
	Version              string          `protobuf:"bytes,4,opt,name=version" json:"version,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_provider_a22c3696aa3684b0, []int{3}
}
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 (dst *InvokeRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InvokeRequest.Merge(dst, 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 ""
}

type InvokeResponse struct {
	Return               *_struct.Struct `protobuf:"bytes,1,opt,name=return" json:"return,omitempty"`
	Failures             []*CheckFailure `protobuf:"bytes,2,rep,name=failures" 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_provider_a22c3696aa3684b0, []int{4}
}
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 (dst *InvokeResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InvokeResponse.Merge(dst, 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" json:"urn,omitempty"`
	Olds                 *_struct.Struct `protobuf:"bytes,2,opt,name=olds" json:"olds,omitempty"`
	News                 *_struct.Struct `protobuf:"bytes,3,opt,name=news" 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_provider_a22c3696aa3684b0, []int{5}
}
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 (dst *CheckRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CheckRequest.Merge(dst, 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" json:"inputs,omitempty"`
	Failures             []*CheckFailure `protobuf:"bytes,2,rep,name=failures" 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_provider_a22c3696aa3684b0, []int{6}
}
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 (dst *CheckResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CheckResponse.Merge(dst, 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" json:"property,omitempty"`
	Reason               string   `protobuf:"bytes,2,opt,name=reason" 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_provider_a22c3696aa3684b0, []int{7}
}
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 (dst *CheckFailure) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CheckFailure.Merge(dst, 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" json:"id,omitempty"`
	Urn                  string          `protobuf:"bytes,2,opt,name=urn" json:"urn,omitempty"`
	Olds                 *_struct.Struct `protobuf:"bytes,3,opt,name=olds" json:"olds,omitempty"`
	News                 *_struct.Struct `protobuf:"bytes,4,opt,name=news" json:"news,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_provider_a22c3696aa3684b0, []int{8}
}
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 (dst *DiffRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DiffRequest.Merge(dst, 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
}

type PropertyDiff struct {
	Kind                 PropertyDiff_Kind `protobuf:"varint,1,opt,name=kind,enum=pulumirpc.PropertyDiff_Kind" json:"kind,omitempty"`
	InputDiff            bool              `protobuf:"varint,2,opt,name=inputDiff" 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_provider_a22c3696aa3684b0, []int{9}
}
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 (dst *PropertyDiff) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PropertyDiff.Merge(dst, 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" json:"replaces,omitempty"`
	Stables             []string                 `protobuf:"bytes,2,rep,name=stables" json:"stables,omitempty"`
	DeleteBeforeReplace bool                     `protobuf:"varint,3,opt,name=deleteBeforeReplace" json:"deleteBeforeReplace,omitempty"`
	Changes             DiffResponse_DiffChanges `protobuf:"varint,4,opt,name=changes,enum=pulumirpc.DiffResponse_DiffChanges" json:"changes,omitempty"`
	Diffs               []string                 `protobuf:"bytes,5,rep,name=diffs" 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" json:"detailedDiff,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	HasDetailedDiff      bool                     `protobuf:"varint,7,opt,name=hasDetailedDiff" 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_provider_a22c3696aa3684b0, []int{10}
}
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 (dst *DiffResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DiffResponse.Merge(dst, 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" json:"urn,omitempty"`
	Properties           *_struct.Struct `protobuf:"bytes,2,opt,name=properties" json:"properties,omitempty"`
	Timeout              float64         `protobuf:"fixed64,3,opt,name=timeout" json:"timeout,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_provider_a22c3696aa3684b0, []int{11}
}
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 (dst *CreateRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateRequest.Merge(dst, 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
}

type CreateResponse struct {
	Id                   string          `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Properties           *_struct.Struct `protobuf:"bytes,2,opt,name=properties" 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_provider_a22c3696aa3684b0, []int{12}
}
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 (dst *CreateResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateResponse.Merge(dst, 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" json:"id,omitempty"`
	Urn                  string          `protobuf:"bytes,2,opt,name=urn" json:"urn,omitempty"`
	Properties           *_struct.Struct `protobuf:"bytes,3,opt,name=properties" json:"properties,omitempty"`
	Inputs               *_struct.Struct `protobuf:"bytes,4,opt,name=inputs" 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_provider_a22c3696aa3684b0, []int{13}
}
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 (dst *ReadRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReadRequest.Merge(dst, 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" json:"id,omitempty"`
	Properties           *_struct.Struct `protobuf:"bytes,2,opt,name=properties" json:"properties,omitempty"`
	Inputs               *_struct.Struct `protobuf:"bytes,3,opt,name=inputs" 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_provider_a22c3696aa3684b0, []int{14}
}
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 (dst *ReadResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReadResponse.Merge(dst, 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" json:"id,omitempty"`
	Urn                  string          `protobuf:"bytes,2,opt,name=urn" json:"urn,omitempty"`
	Olds                 *_struct.Struct `protobuf:"bytes,3,opt,name=olds" json:"olds,omitempty"`
	News                 *_struct.Struct `protobuf:"bytes,4,opt,name=news" json:"news,omitempty"`
	Timeout              float64         `protobuf:"fixed64,5,opt,name=timeout" json:"timeout,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_provider_a22c3696aa3684b0, []int{15}
}
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 (dst *UpdateRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpdateRequest.Merge(dst, 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
}

type UpdateResponse struct {
	Properties           *_struct.Struct `protobuf:"bytes,1,opt,name=properties" 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_provider_a22c3696aa3684b0, []int{16}
}
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 (dst *UpdateResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpdateResponse.Merge(dst, 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" json:"id,omitempty"`
	Urn                  string          `protobuf:"bytes,2,opt,name=urn" json:"urn,omitempty"`
	Properties           *_struct.Struct `protobuf:"bytes,3,opt,name=properties" json:"properties,omitempty"`
	Timeout              float64         `protobuf:"fixed64,4,opt,name=timeout" 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_provider_a22c3696aa3684b0, []int{17}
}
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 (dst *DeleteRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeleteRequest.Merge(dst, 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
}

// 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" json:"id,omitempty"`
	Properties           *_struct.Struct `protobuf:"bytes,2,opt,name=properties" json:"properties,omitempty"`
	Reasons              []string        `protobuf:"bytes,3,rep,name=reasons" json:"reasons,omitempty"`
	Inputs               *_struct.Struct `protobuf:"bytes,4,opt,name=inputs" 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_provider_a22c3696aa3684b0, []int{18}
}
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 (dst *ErrorResourceInitFailed) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ErrorResourceInitFailed.Merge(dst, 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.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((*ErrorResourceInitFailed)(nil), "pulumirpc.ErrorResourceInitFailed")
	proto.RegisterEnum("pulumirpc.PropertyDiff_Kind", PropertyDiff_Kind_name, PropertyDiff_Kind_value)
	proto.RegisterEnum("pulumirpc.DiffResponse_DiffChanges", DiffResponse_DiffChanges_name, DiffResponse_DiffChanges_value)
}

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

// 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.SupportPackageIsVersion4

// Client API for ResourceProvider service

type ResourceProviderClient interface {
	// 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)
	// 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 "transacational").
	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)
	// 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.ClientConn
}

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

func (c *resourceProviderClient) CheckConfig(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) {
	out := new(CheckResponse)
	err := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/CheckConfig", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/DiffConfig", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/Configure", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/Invoke", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *resourceProviderClient) Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) {
	out := new(CheckResponse)
	err := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/Check", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/Diff", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/Create", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/Read", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/Update", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/Delete", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/Cancel", in, out, c.cc, 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 := grpc.Invoke(ctx, "/pulumirpc.ResourceProvider/GetPluginInfo", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for ResourceProvider service

type ResourceProviderServer interface {
	// 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)
	// 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 "transacational").
	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)
	// 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)
}

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

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_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_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: "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: "Cancel",
			Handler:    _ResourceProvider_Cancel_Handler,
		},
		{
			MethodName: "GetPluginInfo",
			Handler:    _ResourceProvider_GetPluginInfo_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "provider.proto",
}

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

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