diff --git a/internal/logging/context.go b/internal/logging/context.go index 9ae6cc50d..2afdc89a5 100644 --- a/internal/logging/context.go +++ b/internal/logging/context.go @@ -109,6 +109,15 @@ func ActionContext(ctx context.Context, action string) context.Context { return ctx } +// StateStoreContext injects the state store type into logger contexts. +func StateStoreContext(ctx context.Context, stateStore string) context.Context { + ctx = tfsdklog.SetField(ctx, KeyStateStoreType, stateStore) + ctx = tfsdklog.SubsystemSetField(ctx, SubsystemProto, KeyStateStoreType, stateStore) + ctx = tflog.SetField(ctx, KeyStateStoreType, stateStore) + + return ctx +} + // RpcContext injects the RPC name into logger contexts. func RpcContext(ctx context.Context, rpc string) context.Context { ctx = tfsdklog.SetField(ctx, KeyRPC, rpc) diff --git a/internal/logging/keys.go b/internal/logging/keys.go index 7d3252de3..44e9d2040 100644 --- a/internal/logging/keys.go +++ b/internal/logging/keys.go @@ -66,6 +66,9 @@ const ( // The action being operated on KeyActionType = "tf_action_type" + // The type of state store being operated on, such as "terraform_fs" + KeyStateStoreType = "tf_state_store_type" + // Path to protocol data file, such as "/tmp/example.json" KeyProtocolDataFile = "tf_proto_data_file" diff --git a/tfprotov6/internal/fromproto/state_store.go b/tfprotov6/internal/fromproto/state_store.go new file mode 100644 index 000000000..6061e05d8 --- /dev/null +++ b/tfprotov6/internal/fromproto/state_store.go @@ -0,0 +1,63 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package fromproto + +import ( + "github.com/hashicorp/terraform-plugin-go/tfprotov6" + "github.com/hashicorp/terraform-plugin-go/tfprotov6/internal/tfplugin6" +) + +func ValidateStateStoreRequest(in *tfplugin6.ValidateStateStore_Request) *tfprotov6.ValidateStateStoreRequest { + if in == nil { + return nil + } + + return &tfprotov6.ValidateStateStoreRequest{ + TypeName: in.TypeName, + Config: DynamicValue(in.Config), + } +} + +func ConfigureStateStoreRequest(in *tfplugin6.ConfigureStateStore_Request) *tfprotov6.ConfigureStateStoreRequest { + if in == nil { + return nil + } + + return &tfprotov6.ConfigureStateStoreRequest{ + TypeName: in.TypeName, + Config: DynamicValue(in.Config), + } +} + +func ReadStateBytesRequest(in *tfplugin6.ReadStateBytes_Request) *tfprotov6.ReadStateBytesRequest { + if in == nil { + return nil + } + + return &tfprotov6.ReadStateBytesRequest{ + TypeName: in.TypeName, + StateId: in.StateId, + } +} + +func GetStatesRequest(in *tfplugin6.GetStates_Request) *tfprotov6.GetStatesRequest { + if in == nil { + return nil + } + + return &tfprotov6.GetStatesRequest{ + TypeName: in.TypeName, + } +} + +func DeleteStateRequest(in *tfplugin6.DeleteState_Request) *tfprotov6.DeleteStateRequest { + if in == nil { + return nil + } + + return &tfprotov6.DeleteStateRequest{ + TypeName: in.TypeName, + StateId: in.StateId, + } +} diff --git a/tfprotov6/internal/tfplugin6/tfplugin6.pb.go b/tfprotov6/internal/tfplugin6/tfplugin6.pb.go index 1bb5dfa93..4f8f247a7 100644 --- a/tfprotov6/internal/tfplugin6/tfplugin6.pb.go +++ b/tfprotov6/internal/tfplugin6/tfplugin6.pb.go @@ -2144,6 +2144,274 @@ func (*InvokeAction) Descriptor() ([]byte, []int) { return file_tfplugin6_proto_rawDescGZIP(), []int{40} } +type ValidateStateStore struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ValidateStateStore) Reset() { + *x = ValidateStateStore{} + mi := &file_tfplugin6_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ValidateStateStore) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidateStateStore) ProtoMessage() {} + +func (x *ValidateStateStore) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidateStateStore.ProtoReflect.Descriptor instead. +func (*ValidateStateStore) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{41} +} + +type ConfigureStateStore struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConfigureStateStore) Reset() { + *x = ConfigureStateStore{} + mi := &file_tfplugin6_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConfigureStateStore) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigureStateStore) ProtoMessage() {} + +func (x *ConfigureStateStore) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigureStateStore.ProtoReflect.Descriptor instead. +func (*ConfigureStateStore) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{42} +} + +type ReadStateBytes struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReadStateBytes) Reset() { + *x = ReadStateBytes{} + mi := &file_tfplugin6_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReadStateBytes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadStateBytes) ProtoMessage() {} + +func (x *ReadStateBytes) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReadStateBytes.ProtoReflect.Descriptor instead. +func (*ReadStateBytes) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{43} +} + +type WriteStateBytes struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WriteStateBytes) Reset() { + *x = WriteStateBytes{} + mi := &file_tfplugin6_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WriteStateBytes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteStateBytes) ProtoMessage() {} + +func (x *WriteStateBytes) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteStateBytes.ProtoReflect.Descriptor instead. +func (*WriteStateBytes) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{44} +} + +type StateRange struct { + state protoimpl.MessageState `protogen:"open.v1"` + Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` + End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StateRange) Reset() { + *x = StateRange{} + mi := &file_tfplugin6_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StateRange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StateRange) ProtoMessage() {} + +func (x *StateRange) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StateRange.ProtoReflect.Descriptor instead. +func (*StateRange) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{45} +} + +func (x *StateRange) GetStart() int64 { + if x != nil { + return x.Start + } + return 0 +} + +func (x *StateRange) GetEnd() int64 { + if x != nil { + return x.End + } + return 0 +} + +type GetStates struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetStates) Reset() { + *x = GetStates{} + mi := &file_tfplugin6_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetStates) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStates) ProtoMessage() {} + +func (x *GetStates) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[46] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetStates.ProtoReflect.Descriptor instead. +func (*GetStates) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{46} +} + +type DeleteState struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteState) Reset() { + *x = DeleteState{} + mi := &file_tfplugin6_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteState) ProtoMessage() {} + +func (x *DeleteState) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[47] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteState.ProtoReflect.Descriptor instead. +func (*DeleteState) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{47} +} + type AttributePath_Step struct { state protoimpl.MessageState `protogen:"open.v1"` // Types that are valid to be assigned to Selector: @@ -2158,7 +2426,7 @@ type AttributePath_Step struct { func (x *AttributePath_Step) Reset() { *x = AttributePath_Step{} - mi := &file_tfplugin6_proto_msgTypes[41] + mi := &file_tfplugin6_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2170,7 +2438,7 @@ func (x *AttributePath_Step) String() string { func (*AttributePath_Step) ProtoMessage() {} func (x *AttributePath_Step) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[41] + mi := &file_tfplugin6_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2254,7 +2522,7 @@ type StopProvider_Request struct { func (x *StopProvider_Request) Reset() { *x = StopProvider_Request{} - mi := &file_tfplugin6_proto_msgTypes[42] + mi := &file_tfplugin6_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2266,7 +2534,7 @@ func (x *StopProvider_Request) String() string { func (*StopProvider_Request) ProtoMessage() {} func (x *StopProvider_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[42] + mi := &file_tfplugin6_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2291,7 +2559,7 @@ type StopProvider_Response struct { func (x *StopProvider_Response) Reset() { *x = StopProvider_Response{} - mi := &file_tfplugin6_proto_msgTypes[43] + mi := &file_tfplugin6_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2303,7 +2571,7 @@ func (x *StopProvider_Response) String() string { func (*StopProvider_Response) ProtoMessage() {} func (x *StopProvider_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[43] + mi := &file_tfplugin6_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2340,7 +2608,7 @@ type Schema_Block struct { func (x *Schema_Block) Reset() { *x = Schema_Block{} - mi := &file_tfplugin6_proto_msgTypes[45] + mi := &file_tfplugin6_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2352,7 +2620,7 @@ func (x *Schema_Block) String() string { func (*Schema_Block) ProtoMessage() {} func (x *Schema_Block) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[45] + mi := &file_tfplugin6_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2433,7 +2701,7 @@ type Schema_Attribute struct { func (x *Schema_Attribute) Reset() { *x = Schema_Attribute{} - mi := &file_tfplugin6_proto_msgTypes[46] + mi := &file_tfplugin6_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2445,7 +2713,7 @@ func (x *Schema_Attribute) String() string { func (*Schema_Attribute) ProtoMessage() {} func (x *Schema_Attribute) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[46] + mi := &file_tfplugin6_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2551,7 +2819,7 @@ type Schema_NestedBlock struct { func (x *Schema_NestedBlock) Reset() { *x = Schema_NestedBlock{} - mi := &file_tfplugin6_proto_msgTypes[47] + mi := &file_tfplugin6_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2563,7 +2831,7 @@ func (x *Schema_NestedBlock) String() string { func (*Schema_NestedBlock) ProtoMessage() {} func (x *Schema_NestedBlock) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[47] + mi := &file_tfplugin6_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2631,7 +2899,7 @@ type Schema_Object struct { func (x *Schema_Object) Reset() { *x = Schema_Object{} - mi := &file_tfplugin6_proto_msgTypes[48] + mi := &file_tfplugin6_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2643,7 +2911,7 @@ func (x *Schema_Object) String() string { func (*Schema_Object) ProtoMessage() {} func (x *Schema_Object) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[48] + mi := &file_tfplugin6_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2712,7 +2980,7 @@ type ResourceIdentitySchema_IdentityAttribute struct { func (x *ResourceIdentitySchema_IdentityAttribute) Reset() { *x = ResourceIdentitySchema_IdentityAttribute{} - mi := &file_tfplugin6_proto_msgTypes[49] + mi := &file_tfplugin6_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2724,7 +2992,7 @@ func (x *ResourceIdentitySchema_IdentityAttribute) String() string { func (*ResourceIdentitySchema_IdentityAttribute) ProtoMessage() {} func (x *ResourceIdentitySchema_IdentityAttribute) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[49] + mi := &file_tfplugin6_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2800,7 +3068,7 @@ type Function_Parameter struct { func (x *Function_Parameter) Reset() { *x = Function_Parameter{} - mi := &file_tfplugin6_proto_msgTypes[50] + mi := &file_tfplugin6_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2812,7 +3080,7 @@ func (x *Function_Parameter) String() string { func (*Function_Parameter) ProtoMessage() {} func (x *Function_Parameter) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[50] + mi := &file_tfplugin6_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2880,7 +3148,7 @@ type Function_Return struct { func (x *Function_Return) Reset() { *x = Function_Return{} - mi := &file_tfplugin6_proto_msgTypes[51] + mi := &file_tfplugin6_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2892,7 +3160,7 @@ func (x *Function_Return) String() string { func (*Function_Return) ProtoMessage() {} func (x *Function_Return) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[51] + mi := &file_tfplugin6_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2923,7 +3191,7 @@ type ActionSchema_Unlinked struct { func (x *ActionSchema_Unlinked) Reset() { *x = ActionSchema_Unlinked{} - mi := &file_tfplugin6_proto_msgTypes[52] + mi := &file_tfplugin6_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2935,7 +3203,7 @@ func (x *ActionSchema_Unlinked) String() string { func (*ActionSchema_Unlinked) ProtoMessage() {} func (x *ActionSchema_Unlinked) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[52] + mi := &file_tfplugin6_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2959,7 +3227,7 @@ type GetMetadata_Request struct { func (x *GetMetadata_Request) Reset() { *x = GetMetadata_Request{} - mi := &file_tfplugin6_proto_msgTypes[53] + mi := &file_tfplugin6_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2971,7 +3239,7 @@ func (x *GetMetadata_Request) String() string { func (*GetMetadata_Request) ProtoMessage() {} func (x *GetMetadata_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[53] + mi := &file_tfplugin6_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3004,7 +3272,7 @@ type GetMetadata_Response struct { func (x *GetMetadata_Response) Reset() { *x = GetMetadata_Response{} - mi := &file_tfplugin6_proto_msgTypes[54] + mi := &file_tfplugin6_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3016,7 +3284,7 @@ func (x *GetMetadata_Response) String() string { func (*GetMetadata_Response) ProtoMessage() {} func (x *GetMetadata_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[54] + mi := &file_tfplugin6_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3098,7 +3366,7 @@ type GetMetadata_FunctionMetadata struct { func (x *GetMetadata_FunctionMetadata) Reset() { *x = GetMetadata_FunctionMetadata{} - mi := &file_tfplugin6_proto_msgTypes[55] + mi := &file_tfplugin6_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3110,7 +3378,7 @@ func (x *GetMetadata_FunctionMetadata) String() string { func (*GetMetadata_FunctionMetadata) ProtoMessage() {} func (x *GetMetadata_FunctionMetadata) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[55] + mi := &file_tfplugin6_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3142,7 +3410,7 @@ type GetMetadata_DataSourceMetadata struct { func (x *GetMetadata_DataSourceMetadata) Reset() { *x = GetMetadata_DataSourceMetadata{} - mi := &file_tfplugin6_proto_msgTypes[56] + mi := &file_tfplugin6_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3154,7 +3422,7 @@ func (x *GetMetadata_DataSourceMetadata) String() string { func (*GetMetadata_DataSourceMetadata) ProtoMessage() {} func (x *GetMetadata_DataSourceMetadata) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[56] + mi := &file_tfplugin6_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3186,7 +3454,7 @@ type GetMetadata_ResourceMetadata struct { func (x *GetMetadata_ResourceMetadata) Reset() { *x = GetMetadata_ResourceMetadata{} - mi := &file_tfplugin6_proto_msgTypes[57] + mi := &file_tfplugin6_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3198,7 +3466,7 @@ func (x *GetMetadata_ResourceMetadata) String() string { func (*GetMetadata_ResourceMetadata) ProtoMessage() {} func (x *GetMetadata_ResourceMetadata) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[57] + mi := &file_tfplugin6_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3230,7 +3498,7 @@ type GetMetadata_EphemeralResourceMetadata struct { func (x *GetMetadata_EphemeralResourceMetadata) Reset() { *x = GetMetadata_EphemeralResourceMetadata{} - mi := &file_tfplugin6_proto_msgTypes[58] + mi := &file_tfplugin6_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3242,7 +3510,7 @@ func (x *GetMetadata_EphemeralResourceMetadata) String() string { func (*GetMetadata_EphemeralResourceMetadata) ProtoMessage() {} func (x *GetMetadata_EphemeralResourceMetadata) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[58] + mi := &file_tfplugin6_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3274,7 +3542,7 @@ type GetMetadata_ListResourceMetadata struct { func (x *GetMetadata_ListResourceMetadata) Reset() { *x = GetMetadata_ListResourceMetadata{} - mi := &file_tfplugin6_proto_msgTypes[59] + mi := &file_tfplugin6_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3286,7 +3554,7 @@ func (x *GetMetadata_ListResourceMetadata) String() string { func (*GetMetadata_ListResourceMetadata) ProtoMessage() {} func (x *GetMetadata_ListResourceMetadata) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[59] + mi := &file_tfplugin6_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3318,7 +3586,7 @@ type GetMetadata_ActionMetadata struct { func (x *GetMetadata_ActionMetadata) Reset() { *x = GetMetadata_ActionMetadata{} - mi := &file_tfplugin6_proto_msgTypes[60] + mi := &file_tfplugin6_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3330,7 +3598,7 @@ func (x *GetMetadata_ActionMetadata) String() string { func (*GetMetadata_ActionMetadata) ProtoMessage() {} func (x *GetMetadata_ActionMetadata) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[60] + mi := &file_tfplugin6_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3361,7 +3629,7 @@ type GetProviderSchema_Request struct { func (x *GetProviderSchema_Request) Reset() { *x = GetProviderSchema_Request{} - mi := &file_tfplugin6_proto_msgTypes[61] + mi := &file_tfplugin6_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3373,7 +3641,7 @@ func (x *GetProviderSchema_Request) String() string { func (*GetProviderSchema_Request) ProtoMessage() {} func (x *GetProviderSchema_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[61] + mi := &file_tfplugin6_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3401,6 +3669,7 @@ type GetProviderSchema_Response struct { Functions map[string]*Function `protobuf:"bytes,7,rep,name=functions,proto3" json:"functions,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` EphemeralResourceSchemas map[string]*Schema `protobuf:"bytes,8,rep,name=ephemeral_resource_schemas,json=ephemeralResourceSchemas,proto3" json:"ephemeral_resource_schemas,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` ListResourceSchemas map[string]*Schema `protobuf:"bytes,9,rep,name=list_resource_schemas,json=listResourceSchemas,proto3" json:"list_resource_schemas,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + StateStoreSchemas map[string]*Schema `protobuf:"bytes,10,rep,name=state_store_schemas,json=stateStoreSchemas,proto3" json:"state_store_schemas,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` ActionSchemas map[string]*ActionSchema `protobuf:"bytes,11,rep,name=action_schemas,json=actionSchemas,proto3" json:"action_schemas,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -3408,7 +3677,7 @@ type GetProviderSchema_Response struct { func (x *GetProviderSchema_Response) Reset() { *x = GetProviderSchema_Response{} - mi := &file_tfplugin6_proto_msgTypes[62] + mi := &file_tfplugin6_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3420,7 +3689,7 @@ func (x *GetProviderSchema_Response) String() string { func (*GetProviderSchema_Response) ProtoMessage() {} func (x *GetProviderSchema_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[62] + mi := &file_tfplugin6_proto_msgTypes[69] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3499,6 +3768,13 @@ func (x *GetProviderSchema_Response) GetListResourceSchemas() map[string]*Schema return nil } +func (x *GetProviderSchema_Response) GetStateStoreSchemas() map[string]*Schema { + if x != nil { + return x.StateStoreSchemas + } + return nil +} + func (x *GetProviderSchema_Response) GetActionSchemas() map[string]*ActionSchema { if x != nil { return x.ActionSchemas @@ -3515,7 +3791,7 @@ type ValidateProviderConfig_Request struct { func (x *ValidateProviderConfig_Request) Reset() { *x = ValidateProviderConfig_Request{} - mi := &file_tfplugin6_proto_msgTypes[69] + mi := &file_tfplugin6_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3527,7 +3803,7 @@ func (x *ValidateProviderConfig_Request) String() string { func (*ValidateProviderConfig_Request) ProtoMessage() {} func (x *ValidateProviderConfig_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[69] + mi := &file_tfplugin6_proto_msgTypes[77] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3559,7 +3835,7 @@ type ValidateProviderConfig_Response struct { func (x *ValidateProviderConfig_Response) Reset() { *x = ValidateProviderConfig_Response{} - mi := &file_tfplugin6_proto_msgTypes[70] + mi := &file_tfplugin6_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3571,7 +3847,7 @@ func (x *ValidateProviderConfig_Response) String() string { func (*ValidateProviderConfig_Response) ProtoMessage() {} func (x *ValidateProviderConfig_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[70] + mi := &file_tfplugin6_proto_msgTypes[78] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3620,7 +3896,7 @@ type UpgradeResourceState_Request struct { func (x *UpgradeResourceState_Request) Reset() { *x = UpgradeResourceState_Request{} - mi := &file_tfplugin6_proto_msgTypes[71] + mi := &file_tfplugin6_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3632,7 +3908,7 @@ func (x *UpgradeResourceState_Request) String() string { func (*UpgradeResourceState_Request) ProtoMessage() {} func (x *UpgradeResourceState_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[71] + mi := &file_tfplugin6_proto_msgTypes[79] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3685,7 +3961,7 @@ type UpgradeResourceState_Response struct { func (x *UpgradeResourceState_Response) Reset() { *x = UpgradeResourceState_Response{} - mi := &file_tfplugin6_proto_msgTypes[72] + mi := &file_tfplugin6_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3697,7 +3973,7 @@ func (x *UpgradeResourceState_Response) String() string { func (*UpgradeResourceState_Response) ProtoMessage() {} func (x *UpgradeResourceState_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[72] + mi := &file_tfplugin6_proto_msgTypes[80] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3738,7 +4014,7 @@ type ValidateResourceConfig_Request struct { func (x *ValidateResourceConfig_Request) Reset() { *x = ValidateResourceConfig_Request{} - mi := &file_tfplugin6_proto_msgTypes[73] + mi := &file_tfplugin6_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3750,7 +4026,7 @@ func (x *ValidateResourceConfig_Request) String() string { func (*ValidateResourceConfig_Request) ProtoMessage() {} func (x *ValidateResourceConfig_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[73] + mi := &file_tfplugin6_proto_msgTypes[81] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3796,7 +4072,7 @@ type ValidateResourceConfig_Response struct { func (x *ValidateResourceConfig_Response) Reset() { *x = ValidateResourceConfig_Response{} - mi := &file_tfplugin6_proto_msgTypes[74] + mi := &file_tfplugin6_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3808,7 +4084,7 @@ func (x *ValidateResourceConfig_Response) String() string { func (*ValidateResourceConfig_Response) ProtoMessage() {} func (x *ValidateResourceConfig_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[74] + mi := &file_tfplugin6_proto_msgTypes[82] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3841,7 +4117,7 @@ type ValidateDataResourceConfig_Request struct { func (x *ValidateDataResourceConfig_Request) Reset() { *x = ValidateDataResourceConfig_Request{} - mi := &file_tfplugin6_proto_msgTypes[75] + mi := &file_tfplugin6_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3853,7 +4129,7 @@ func (x *ValidateDataResourceConfig_Request) String() string { func (*ValidateDataResourceConfig_Request) ProtoMessage() {} func (x *ValidateDataResourceConfig_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[75] + mi := &file_tfplugin6_proto_msgTypes[83] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3892,7 +4168,7 @@ type ValidateDataResourceConfig_Response struct { func (x *ValidateDataResourceConfig_Response) Reset() { *x = ValidateDataResourceConfig_Response{} - mi := &file_tfplugin6_proto_msgTypes[76] + mi := &file_tfplugin6_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3904,7 +4180,7 @@ func (x *ValidateDataResourceConfig_Response) String() string { func (*ValidateDataResourceConfig_Response) ProtoMessage() {} func (x *ValidateDataResourceConfig_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[76] + mi := &file_tfplugin6_proto_msgTypes[84] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3938,7 +4214,7 @@ type ConfigureProvider_Request struct { func (x *ConfigureProvider_Request) Reset() { *x = ConfigureProvider_Request{} - mi := &file_tfplugin6_proto_msgTypes[77] + mi := &file_tfplugin6_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3950,7 +4226,7 @@ func (x *ConfigureProvider_Request) String() string { func (*ConfigureProvider_Request) ProtoMessage() {} func (x *ConfigureProvider_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[77] + mi := &file_tfplugin6_proto_msgTypes[85] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3996,7 +4272,7 @@ type ConfigureProvider_Response struct { func (x *ConfigureProvider_Response) Reset() { *x = ConfigureProvider_Response{} - mi := &file_tfplugin6_proto_msgTypes[78] + mi := &file_tfplugin6_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4008,7 +4284,7 @@ func (x *ConfigureProvider_Response) String() string { func (*ConfigureProvider_Response) ProtoMessage() {} func (x *ConfigureProvider_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[78] + mi := &file_tfplugin6_proto_msgTypes[86] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4053,7 +4329,7 @@ type ReadResource_Request struct { func (x *ReadResource_Request) Reset() { *x = ReadResource_Request{} - mi := &file_tfplugin6_proto_msgTypes[79] + mi := &file_tfplugin6_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4065,7 +4341,7 @@ func (x *ReadResource_Request) String() string { func (*ReadResource_Request) ProtoMessage() {} func (x *ReadResource_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[79] + mi := &file_tfplugin6_proto_msgTypes[87] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4138,7 +4414,7 @@ type ReadResource_Response struct { func (x *ReadResource_Response) Reset() { *x = ReadResource_Response{} - mi := &file_tfplugin6_proto_msgTypes[80] + mi := &file_tfplugin6_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4150,7 +4426,7 @@ func (x *ReadResource_Response) String() string { func (*ReadResource_Response) ProtoMessage() {} func (x *ReadResource_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[80] + mi := &file_tfplugin6_proto_msgTypes[88] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4217,7 +4493,7 @@ type PlanResourceChange_Request struct { func (x *PlanResourceChange_Request) Reset() { *x = PlanResourceChange_Request{} - mi := &file_tfplugin6_proto_msgTypes[81] + mi := &file_tfplugin6_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4229,7 +4505,7 @@ func (x *PlanResourceChange_Request) String() string { func (*PlanResourceChange_Request) ProtoMessage() {} func (x *PlanResourceChange_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[81] + mi := &file_tfplugin6_proto_msgTypes[89] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4329,7 +4605,7 @@ type PlanResourceChange_Response struct { func (x *PlanResourceChange_Response) Reset() { *x = PlanResourceChange_Response{} - mi := &file_tfplugin6_proto_msgTypes[82] + mi := &file_tfplugin6_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4341,7 +4617,7 @@ func (x *PlanResourceChange_Response) String() string { func (*PlanResourceChange_Response) ProtoMessage() {} func (x *PlanResourceChange_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[82] + mi := &file_tfplugin6_proto_msgTypes[90] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4421,7 +4697,7 @@ type ApplyResourceChange_Request struct { func (x *ApplyResourceChange_Request) Reset() { *x = ApplyResourceChange_Request{} - mi := &file_tfplugin6_proto_msgTypes[83] + mi := &file_tfplugin6_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4433,7 +4709,7 @@ func (x *ApplyResourceChange_Request) String() string { func (*ApplyResourceChange_Request) ProtoMessage() {} func (x *ApplyResourceChange_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[83] + mi := &file_tfplugin6_proto_msgTypes[91] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4522,7 +4798,7 @@ type ApplyResourceChange_Response struct { func (x *ApplyResourceChange_Response) Reset() { *x = ApplyResourceChange_Response{} - mi := &file_tfplugin6_proto_msgTypes[84] + mi := &file_tfplugin6_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4534,7 +4810,7 @@ func (x *ApplyResourceChange_Response) String() string { func (*ApplyResourceChange_Response) ProtoMessage() {} func (x *ApplyResourceChange_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[84] + mi := &file_tfplugin6_proto_msgTypes[92] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4597,7 +4873,7 @@ type ImportResourceState_Request struct { func (x *ImportResourceState_Request) Reset() { *x = ImportResourceState_Request{} - mi := &file_tfplugin6_proto_msgTypes[85] + mi := &file_tfplugin6_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4609,7 +4885,7 @@ func (x *ImportResourceState_Request) String() string { func (*ImportResourceState_Request) ProtoMessage() {} func (x *ImportResourceState_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[85] + mi := &file_tfplugin6_proto_msgTypes[93] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4665,7 +4941,7 @@ type ImportResourceState_ImportedResource struct { func (x *ImportResourceState_ImportedResource) Reset() { *x = ImportResourceState_ImportedResource{} - mi := &file_tfplugin6_proto_msgTypes[86] + mi := &file_tfplugin6_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4677,7 +4953,7 @@ func (x *ImportResourceState_ImportedResource) String() string { func (*ImportResourceState_ImportedResource) ProtoMessage() {} func (x *ImportResourceState_ImportedResource) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[86] + mi := &file_tfplugin6_proto_msgTypes[94] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4734,7 +5010,7 @@ type ImportResourceState_Response struct { func (x *ImportResourceState_Response) Reset() { *x = ImportResourceState_Response{} - mi := &file_tfplugin6_proto_msgTypes[87] + mi := &file_tfplugin6_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4746,7 +5022,7 @@ func (x *ImportResourceState_Response) String() string { func (*ImportResourceState_Response) ProtoMessage() {} func (x *ImportResourceState_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[87] + mi := &file_tfplugin6_proto_msgTypes[95] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4813,7 +5089,7 @@ type MoveResourceState_Request struct { func (x *MoveResourceState_Request) Reset() { *x = MoveResourceState_Request{} - mi := &file_tfplugin6_proto_msgTypes[88] + mi := &file_tfplugin6_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4825,7 +5101,7 @@ func (x *MoveResourceState_Request) String() string { func (*MoveResourceState_Request) ProtoMessage() {} func (x *MoveResourceState_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[88] + mi := &file_tfplugin6_proto_msgTypes[96] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4912,7 +5188,7 @@ type MoveResourceState_Response struct { func (x *MoveResourceState_Response) Reset() { *x = MoveResourceState_Response{} - mi := &file_tfplugin6_proto_msgTypes[89] + mi := &file_tfplugin6_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4924,7 +5200,7 @@ func (x *MoveResourceState_Response) String() string { func (*MoveResourceState_Response) ProtoMessage() {} func (x *MoveResourceState_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[89] + mi := &file_tfplugin6_proto_msgTypes[97] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4980,7 +5256,7 @@ type ReadDataSource_Request struct { func (x *ReadDataSource_Request) Reset() { *x = ReadDataSource_Request{} - mi := &file_tfplugin6_proto_msgTypes[90] + mi := &file_tfplugin6_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4992,7 +5268,7 @@ func (x *ReadDataSource_Request) String() string { func (*ReadDataSource_Request) ProtoMessage() {} func (x *ReadDataSource_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[90] + mi := &file_tfplugin6_proto_msgTypes[98] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5049,7 +5325,7 @@ type ReadDataSource_Response struct { func (x *ReadDataSource_Response) Reset() { *x = ReadDataSource_Response{} - mi := &file_tfplugin6_proto_msgTypes[91] + mi := &file_tfplugin6_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5061,7 +5337,7 @@ func (x *ReadDataSource_Response) String() string { func (*ReadDataSource_Response) ProtoMessage() {} func (x *ReadDataSource_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[91] + mi := &file_tfplugin6_proto_msgTypes[99] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5106,7 +5382,7 @@ type GetFunctions_Request struct { func (x *GetFunctions_Request) Reset() { *x = GetFunctions_Request{} - mi := &file_tfplugin6_proto_msgTypes[92] + mi := &file_tfplugin6_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5118,7 +5394,7 @@ func (x *GetFunctions_Request) String() string { func (*GetFunctions_Request) ProtoMessage() {} func (x *GetFunctions_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[92] + mi := &file_tfplugin6_proto_msgTypes[100] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5146,7 +5422,7 @@ type GetFunctions_Response struct { func (x *GetFunctions_Response) Reset() { *x = GetFunctions_Response{} - mi := &file_tfplugin6_proto_msgTypes[93] + mi := &file_tfplugin6_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5158,7 +5434,7 @@ func (x *GetFunctions_Response) String() string { func (*GetFunctions_Response) ProtoMessage() {} func (x *GetFunctions_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[93] + mi := &file_tfplugin6_proto_msgTypes[101] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5200,7 +5476,7 @@ type CallFunction_Request struct { func (x *CallFunction_Request) Reset() { *x = CallFunction_Request{} - mi := &file_tfplugin6_proto_msgTypes[95] + mi := &file_tfplugin6_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5212,7 +5488,7 @@ func (x *CallFunction_Request) String() string { func (*CallFunction_Request) ProtoMessage() {} func (x *CallFunction_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[95] + mi := &file_tfplugin6_proto_msgTypes[103] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5254,7 +5530,7 @@ type CallFunction_Response struct { func (x *CallFunction_Response) Reset() { *x = CallFunction_Response{} - mi := &file_tfplugin6_proto_msgTypes[96] + mi := &file_tfplugin6_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5266,7 +5542,7 @@ func (x *CallFunction_Response) String() string { func (*CallFunction_Response) ProtoMessage() {} func (x *CallFunction_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[96] + mi := &file_tfplugin6_proto_msgTypes[104] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5306,7 +5582,7 @@ type ValidateEphemeralResourceConfig_Request struct { func (x *ValidateEphemeralResourceConfig_Request) Reset() { *x = ValidateEphemeralResourceConfig_Request{} - mi := &file_tfplugin6_proto_msgTypes[97] + mi := &file_tfplugin6_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5318,7 +5594,7 @@ func (x *ValidateEphemeralResourceConfig_Request) String() string { func (*ValidateEphemeralResourceConfig_Request) ProtoMessage() {} func (x *ValidateEphemeralResourceConfig_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[97] + mi := &file_tfplugin6_proto_msgTypes[105] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5357,7 +5633,7 @@ type ValidateEphemeralResourceConfig_Response struct { func (x *ValidateEphemeralResourceConfig_Response) Reset() { *x = ValidateEphemeralResourceConfig_Response{} - mi := &file_tfplugin6_proto_msgTypes[98] + mi := &file_tfplugin6_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5369,7 +5645,7 @@ func (x *ValidateEphemeralResourceConfig_Response) String() string { func (*ValidateEphemeralResourceConfig_Response) ProtoMessage() {} func (x *ValidateEphemeralResourceConfig_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[98] + mi := &file_tfplugin6_proto_msgTypes[106] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5403,7 +5679,7 @@ type OpenEphemeralResource_Request struct { func (x *OpenEphemeralResource_Request) Reset() { *x = OpenEphemeralResource_Request{} - mi := &file_tfplugin6_proto_msgTypes[99] + mi := &file_tfplugin6_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5415,7 +5691,7 @@ func (x *OpenEphemeralResource_Request) String() string { func (*OpenEphemeralResource_Request) ProtoMessage() {} func (x *OpenEphemeralResource_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[99] + mi := &file_tfplugin6_proto_msgTypes[107] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5467,7 +5743,7 @@ type OpenEphemeralResource_Response struct { func (x *OpenEphemeralResource_Response) Reset() { *x = OpenEphemeralResource_Response{} - mi := &file_tfplugin6_proto_msgTypes[100] + mi := &file_tfplugin6_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5479,7 +5755,7 @@ func (x *OpenEphemeralResource_Response) String() string { func (*OpenEphemeralResource_Response) ProtoMessage() {} func (x *OpenEphemeralResource_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[100] + mi := &file_tfplugin6_proto_msgTypes[108] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5540,7 +5816,7 @@ type RenewEphemeralResource_Request struct { func (x *RenewEphemeralResource_Request) Reset() { *x = RenewEphemeralResource_Request{} - mi := &file_tfplugin6_proto_msgTypes[101] + mi := &file_tfplugin6_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5552,7 +5828,7 @@ func (x *RenewEphemeralResource_Request) String() string { func (*RenewEphemeralResource_Request) ProtoMessage() {} func (x *RenewEphemeralResource_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[101] + mi := &file_tfplugin6_proto_msgTypes[109] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5593,7 +5869,7 @@ type RenewEphemeralResource_Response struct { func (x *RenewEphemeralResource_Response) Reset() { *x = RenewEphemeralResource_Response{} - mi := &file_tfplugin6_proto_msgTypes[102] + mi := &file_tfplugin6_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5605,7 +5881,7 @@ func (x *RenewEphemeralResource_Response) String() string { func (*RenewEphemeralResource_Response) ProtoMessage() {} func (x *RenewEphemeralResource_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[102] + mi := &file_tfplugin6_proto_msgTypes[110] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5652,7 +5928,7 @@ type CloseEphemeralResource_Request struct { func (x *CloseEphemeralResource_Request) Reset() { *x = CloseEphemeralResource_Request{} - mi := &file_tfplugin6_proto_msgTypes[103] + mi := &file_tfplugin6_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5664,7 +5940,7 @@ func (x *CloseEphemeralResource_Request) String() string { func (*CloseEphemeralResource_Request) ProtoMessage() {} func (x *CloseEphemeralResource_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[103] + mi := &file_tfplugin6_proto_msgTypes[111] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5703,7 +5979,7 @@ type CloseEphemeralResource_Response struct { func (x *CloseEphemeralResource_Response) Reset() { *x = CloseEphemeralResource_Response{} - mi := &file_tfplugin6_proto_msgTypes[104] + mi := &file_tfplugin6_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5715,7 +5991,7 @@ func (x *CloseEphemeralResource_Response) String() string { func (*CloseEphemeralResource_Response) ProtoMessage() {} func (x *CloseEphemeralResource_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[104] + mi := &file_tfplugin6_proto_msgTypes[112] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5746,7 +6022,7 @@ type GetResourceIdentitySchemas_Request struct { func (x *GetResourceIdentitySchemas_Request) Reset() { *x = GetResourceIdentitySchemas_Request{} - mi := &file_tfplugin6_proto_msgTypes[105] + mi := &file_tfplugin6_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5758,7 +6034,7 @@ func (x *GetResourceIdentitySchemas_Request) String() string { func (*GetResourceIdentitySchemas_Request) ProtoMessage() {} func (x *GetResourceIdentitySchemas_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[105] + mi := &file_tfplugin6_proto_msgTypes[113] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5786,7 +6062,7 @@ type GetResourceIdentitySchemas_Response struct { func (x *GetResourceIdentitySchemas_Response) Reset() { *x = GetResourceIdentitySchemas_Response{} - mi := &file_tfplugin6_proto_msgTypes[106] + mi := &file_tfplugin6_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5798,7 +6074,7 @@ func (x *GetResourceIdentitySchemas_Response) String() string { func (*GetResourceIdentitySchemas_Response) ProtoMessage() {} func (x *GetResourceIdentitySchemas_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[106] + mi := &file_tfplugin6_proto_msgTypes[114] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5845,7 +6121,7 @@ type UpgradeResourceIdentity_Request struct { func (x *UpgradeResourceIdentity_Request) Reset() { *x = UpgradeResourceIdentity_Request{} - mi := &file_tfplugin6_proto_msgTypes[108] + mi := &file_tfplugin6_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5857,7 +6133,7 @@ func (x *UpgradeResourceIdentity_Request) String() string { func (*UpgradeResourceIdentity_Request) ProtoMessage() {} func (x *UpgradeResourceIdentity_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[108] + mi := &file_tfplugin6_proto_msgTypes[116] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5906,7 +6182,7 @@ type UpgradeResourceIdentity_Response struct { func (x *UpgradeResourceIdentity_Response) Reset() { *x = UpgradeResourceIdentity_Response{} - mi := &file_tfplugin6_proto_msgTypes[109] + mi := &file_tfplugin6_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5918,7 +6194,7 @@ func (x *UpgradeResourceIdentity_Response) String() string { func (*UpgradeResourceIdentity_Response) ProtoMessage() {} func (x *UpgradeResourceIdentity_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[109] + mi := &file_tfplugin6_proto_msgTypes[117] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5966,7 +6242,7 @@ type ListResource_Request struct { func (x *ListResource_Request) Reset() { *x = ListResource_Request{} - mi := &file_tfplugin6_proto_msgTypes[110] + mi := &file_tfplugin6_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5978,7 +6254,7 @@ func (x *ListResource_Request) String() string { func (*ListResource_Request) ProtoMessage() {} func (x *ListResource_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[110] + mi := &file_tfplugin6_proto_msgTypes[118] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6038,7 +6314,7 @@ type ListResource_Event struct { func (x *ListResource_Event) Reset() { *x = ListResource_Event{} - mi := &file_tfplugin6_proto_msgTypes[111] + mi := &file_tfplugin6_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6050,7 +6326,7 @@ func (x *ListResource_Event) String() string { func (*ListResource_Event) ProtoMessage() {} func (x *ListResource_Event) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[111] + mi := &file_tfplugin6_proto_msgTypes[119] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6106,7 +6382,7 @@ type ValidateListResourceConfig_Request struct { func (x *ValidateListResourceConfig_Request) Reset() { *x = ValidateListResourceConfig_Request{} - mi := &file_tfplugin6_proto_msgTypes[112] + mi := &file_tfplugin6_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6118,7 +6394,7 @@ func (x *ValidateListResourceConfig_Request) String() string { func (*ValidateListResourceConfig_Request) ProtoMessage() {} func (x *ValidateListResourceConfig_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[112] + mi := &file_tfplugin6_proto_msgTypes[120] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6171,7 +6447,7 @@ type ValidateListResourceConfig_Response struct { func (x *ValidateListResourceConfig_Response) Reset() { *x = ValidateListResourceConfig_Response{} - mi := &file_tfplugin6_proto_msgTypes[113] + mi := &file_tfplugin6_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6183,7 +6459,7 @@ func (x *ValidateListResourceConfig_Response) String() string { func (*ValidateListResourceConfig_Response) ProtoMessage() {} func (x *ValidateListResourceConfig_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[113] + mi := &file_tfplugin6_proto_msgTypes[121] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6217,7 +6493,7 @@ type ValidateActionConfig_Request struct { func (x *ValidateActionConfig_Request) Reset() { *x = ValidateActionConfig_Request{} - mi := &file_tfplugin6_proto_msgTypes[114] + mi := &file_tfplugin6_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6229,7 +6505,7 @@ func (x *ValidateActionConfig_Request) String() string { func (*ValidateActionConfig_Request) ProtoMessage() {} func (x *ValidateActionConfig_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[114] + mi := &file_tfplugin6_proto_msgTypes[122] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6275,7 +6551,7 @@ type ValidateActionConfig_Response struct { func (x *ValidateActionConfig_Response) Reset() { *x = ValidateActionConfig_Response{} - mi := &file_tfplugin6_proto_msgTypes[115] + mi := &file_tfplugin6_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6287,7 +6563,7 @@ func (x *ValidateActionConfig_Response) String() string { func (*ValidateActionConfig_Response) ProtoMessage() {} func (x *ValidateActionConfig_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[115] + mi := &file_tfplugin6_proto_msgTypes[123] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6323,7 +6599,7 @@ type PlanAction_Request struct { func (x *PlanAction_Request) Reset() { *x = PlanAction_Request{} - mi := &file_tfplugin6_proto_msgTypes[116] + mi := &file_tfplugin6_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6335,7 +6611,7 @@ func (x *PlanAction_Request) String() string { func (*PlanAction_Request) ProtoMessage() {} func (x *PlanAction_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[116] + mi := &file_tfplugin6_proto_msgTypes[124] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6392,7 +6668,7 @@ type PlanAction_Response struct { func (x *PlanAction_Response) Reset() { *x = PlanAction_Response{} - mi := &file_tfplugin6_proto_msgTypes[117] + mi := &file_tfplugin6_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6404,7 +6680,7 @@ func (x *PlanAction_Response) String() string { func (*PlanAction_Response) ProtoMessage() {} func (x *PlanAction_Response) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[117] + mi := &file_tfplugin6_proto_msgTypes[125] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6455,7 +6731,7 @@ type PlanAction_Request_LinkedResource struct { func (x *PlanAction_Request_LinkedResource) Reset() { *x = PlanAction_Request_LinkedResource{} - mi := &file_tfplugin6_proto_msgTypes[118] + mi := &file_tfplugin6_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6467,7 +6743,7 @@ func (x *PlanAction_Request_LinkedResource) String() string { func (*PlanAction_Request_LinkedResource) ProtoMessage() {} func (x *PlanAction_Request_LinkedResource) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[118] + mi := &file_tfplugin6_proto_msgTypes[126] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6521,7 +6797,7 @@ type PlanAction_Response_LinkedResource struct { func (x *PlanAction_Response_LinkedResource) Reset() { *x = PlanAction_Response_LinkedResource{} - mi := &file_tfplugin6_proto_msgTypes[119] + mi := &file_tfplugin6_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6533,7 +6809,7 @@ func (x *PlanAction_Response_LinkedResource) String() string { func (*PlanAction_Response_LinkedResource) ProtoMessage() {} func (x *PlanAction_Response_LinkedResource) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[119] + mi := &file_tfplugin6_proto_msgTypes[127] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6575,7 +6851,7 @@ type InvokeAction_Request struct { func (x *InvokeAction_Request) Reset() { *x = InvokeAction_Request{} - mi := &file_tfplugin6_proto_msgTypes[120] + mi := &file_tfplugin6_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6587,7 +6863,7 @@ func (x *InvokeAction_Request) String() string { func (*InvokeAction_Request) ProtoMessage() {} func (x *InvokeAction_Request) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[120] + mi := &file_tfplugin6_proto_msgTypes[128] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6637,7 +6913,7 @@ type InvokeAction_Event struct { func (x *InvokeAction_Event) Reset() { *x = InvokeAction_Event{} - mi := &file_tfplugin6_proto_msgTypes[121] + mi := &file_tfplugin6_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6649,7 +6925,7 @@ func (x *InvokeAction_Event) String() string { func (*InvokeAction_Event) ProtoMessage() {} func (x *InvokeAction_Event) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[121] + mi := &file_tfplugin6_proto_msgTypes[129] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6720,7 +6996,7 @@ type InvokeAction_Request_LinkedResource struct { func (x *InvokeAction_Request_LinkedResource) Reset() { *x = InvokeAction_Request_LinkedResource{} - mi := &file_tfplugin6_proto_msgTypes[122] + mi := &file_tfplugin6_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6732,7 +7008,7 @@ func (x *InvokeAction_Request_LinkedResource) String() string { func (*InvokeAction_Request_LinkedResource) ProtoMessage() {} func (x *InvokeAction_Request_LinkedResource) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[122] + mi := &file_tfplugin6_proto_msgTypes[130] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6786,7 +7062,7 @@ type InvokeAction_Event_Progress struct { func (x *InvokeAction_Event_Progress) Reset() { *x = InvokeAction_Event_Progress{} - mi := &file_tfplugin6_proto_msgTypes[123] + mi := &file_tfplugin6_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6798,7 +7074,7 @@ func (x *InvokeAction_Event_Progress) String() string { func (*InvokeAction_Event_Progress) ProtoMessage() {} func (x *InvokeAction_Event_Progress) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[123] + mi := &file_tfplugin6_proto_msgTypes[131] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6832,7 +7108,7 @@ type InvokeAction_Event_Completed struct { func (x *InvokeAction_Event_Completed) Reset() { *x = InvokeAction_Event_Completed{} - mi := &file_tfplugin6_proto_msgTypes[124] + mi := &file_tfplugin6_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6844,7 +7120,7 @@ func (x *InvokeAction_Event_Completed) String() string { func (*InvokeAction_Event_Completed) ProtoMessage() {} func (x *InvokeAction_Event_Completed) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[124] + mi := &file_tfplugin6_proto_msgTypes[132] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6886,7 +7162,7 @@ type InvokeAction_Event_Completed_LinkedResource struct { func (x *InvokeAction_Event_Completed_LinkedResource) Reset() { *x = InvokeAction_Event_Completed_LinkedResource{} - mi := &file_tfplugin6_proto_msgTypes[125] + mi := &file_tfplugin6_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6898,7 +7174,7 @@ func (x *InvokeAction_Event_Completed_LinkedResource) String() string { func (*InvokeAction_Event_Completed_LinkedResource) ProtoMessage() {} func (x *InvokeAction_Event_Completed_LinkedResource) ProtoReflect() protoreflect.Message { - mi := &file_tfplugin6_proto_msgTypes[125] + mi := &file_tfplugin6_proto_msgTypes[133] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6935,59 +7211,684 @@ func (x *InvokeAction_Event_Completed_LinkedResource) GetRequiresReplace() bool return false } -var File_tfplugin6_proto protoreflect.FileDescriptor +type ValidateStateStore_Request struct { + state protoimpl.MessageState `protogen:"open.v1"` + TypeName string `protobuf:"bytes,1,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Config *DynamicValue `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} -const file_tfplugin6_proto_rawDesc = "" + - "\n" + - "\x0ftfplugin6.proto\x12\ttfplugin6\x1a\x1fgoogle/protobuf/timestamp.proto\"<\n" + - "\fDynamicValue\x12\x18\n" + - "\amsgpack\x18\x01 \x01(\fR\amsgpack\x12\x12\n" + - "\x04json\x18\x02 \x01(\fR\x04json\"\xe3\x01\n" + - "\n" + - "Diagnostic\x12:\n" + - "\bseverity\x18\x01 \x01(\x0e2\x1e.tfplugin6.Diagnostic.SeverityR\bseverity\x12\x18\n" + - "\asummary\x18\x02 \x01(\tR\asummary\x12\x16\n" + - "\x06detail\x18\x03 \x01(\tR\x06detail\x126\n" + - "\tattribute\x18\x04 \x01(\v2\x18.tfplugin6.AttributePathR\tattribute\"/\n" + - "\bSeverity\x12\v\n" + - "\aINVALID\x10\x00\x12\t\n" + - "\x05ERROR\x10\x01\x12\v\n" + - "\aWARNING\x10\x02\"k\n" + - "\rFunctionError\x12\x12\n" + - "\x04text\x18\x01 \x01(\tR\x04text\x120\n" + - "\x11function_argument\x18\x02 \x01(\x03H\x00R\x10functionArgument\x88\x01\x01B\x14\n" + - "\x12_function_argument\"\xdc\x01\n" + - "\rAttributePath\x123\n" + - "\x05steps\x18\x01 \x03(\v2\x1d.tfplugin6.AttributePath.StepR\x05steps\x1a\x95\x01\n" + - "\x04Step\x12'\n" + - "\x0eattribute_name\x18\x01 \x01(\tH\x00R\rattributeName\x12.\n" + - "\x12element_key_string\x18\x02 \x01(\tH\x00R\x10elementKeyString\x12(\n" + - "\x0felement_key_int\x18\x03 \x01(\x03H\x00R\relementKeyIntB\n" + - "\n" + - "\bselector\";\n" + - "\fStopProvider\x1a\t\n" + - "\aRequest\x1a \n" + - "\bResponse\x12\x14\n" + - "\x05Error\x18\x01 \x01(\tR\x05Error\"\x96\x01\n" + - "\bRawState\x12\x12\n" + - "\x04json\x18\x01 \x01(\fR\x04json\x12:\n" + - "\aflatmap\x18\x02 \x03(\v2 .tfplugin6.RawState.FlatmapEntryR\aflatmap\x1a:\n" + - "\fFlatmapEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xb4\n" + - "\n" + - "\x06Schema\x12\x18\n" + - "\aversion\x18\x01 \x01(\x03R\aversion\x12-\n" + - "\x05block\x18\x02 \x01(\v2\x17.tfplugin6.Schema.BlockR\x05block\x1a\xa2\x02\n" + - "\x05Block\x12\x18\n" + - "\aversion\x18\x01 \x01(\x03R\aversion\x12;\n" + - "\n" + - "attributes\x18\x02 \x03(\v2\x1b.tfplugin6.Schema.AttributeR\n" + - "attributes\x12>\n" + - "\vblock_types\x18\x03 \x03(\v2\x1d.tfplugin6.Schema.NestedBlockR\n" + - "blockTypes\x12 \n" + - "\vdescription\x18\x04 \x01(\tR\vdescription\x12@\n" + - "\x10description_kind\x18\x05 \x01(\x0e2\x15.tfplugin6.StringKindR\x0fdescriptionKind\x12\x1e\n" + +func (x *ValidateStateStore_Request) Reset() { + *x = ValidateStateStore_Request{} + mi := &file_tfplugin6_proto_msgTypes[134] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ValidateStateStore_Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidateStateStore_Request) ProtoMessage() {} + +func (x *ValidateStateStore_Request) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[134] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidateStateStore_Request.ProtoReflect.Descriptor instead. +func (*ValidateStateStore_Request) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{41, 0} +} + +func (x *ValidateStateStore_Request) GetTypeName() string { + if x != nil { + return x.TypeName + } + return "" +} + +func (x *ValidateStateStore_Request) GetConfig() *DynamicValue { + if x != nil { + return x.Config + } + return nil +} + +type ValidateStateStore_Response struct { + state protoimpl.MessageState `protogen:"open.v1"` + Diagnostics []*Diagnostic `protobuf:"bytes,1,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ValidateStateStore_Response) Reset() { + *x = ValidateStateStore_Response{} + mi := &file_tfplugin6_proto_msgTypes[135] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ValidateStateStore_Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidateStateStore_Response) ProtoMessage() {} + +func (x *ValidateStateStore_Response) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[135] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidateStateStore_Response.ProtoReflect.Descriptor instead. +func (*ValidateStateStore_Response) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{41, 1} +} + +func (x *ValidateStateStore_Response) GetDiagnostics() []*Diagnostic { + if x != nil { + return x.Diagnostics + } + return nil +} + +type ConfigureStateStore_Request struct { + state protoimpl.MessageState `protogen:"open.v1"` + TypeName string `protobuf:"bytes,1,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Config *DynamicValue `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConfigureStateStore_Request) Reset() { + *x = ConfigureStateStore_Request{} + mi := &file_tfplugin6_proto_msgTypes[136] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConfigureStateStore_Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigureStateStore_Request) ProtoMessage() {} + +func (x *ConfigureStateStore_Request) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[136] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigureStateStore_Request.ProtoReflect.Descriptor instead. +func (*ConfigureStateStore_Request) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{42, 0} +} + +func (x *ConfigureStateStore_Request) GetTypeName() string { + if x != nil { + return x.TypeName + } + return "" +} + +func (x *ConfigureStateStore_Request) GetConfig() *DynamicValue { + if x != nil { + return x.Config + } + return nil +} + +type ConfigureStateStore_Response struct { + state protoimpl.MessageState `protogen:"open.v1"` + Diagnostics []*Diagnostic `protobuf:"bytes,1,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConfigureStateStore_Response) Reset() { + *x = ConfigureStateStore_Response{} + mi := &file_tfplugin6_proto_msgTypes[137] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConfigureStateStore_Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigureStateStore_Response) ProtoMessage() {} + +func (x *ConfigureStateStore_Response) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[137] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigureStateStore_Response.ProtoReflect.Descriptor instead. +func (*ConfigureStateStore_Response) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{42, 1} +} + +func (x *ConfigureStateStore_Response) GetDiagnostics() []*Diagnostic { + if x != nil { + return x.Diagnostics + } + return nil +} + +type ReadStateBytes_Request struct { + state protoimpl.MessageState `protogen:"open.v1"` + TypeName string `protobuf:"bytes,1,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + StateId string `protobuf:"bytes,2,opt,name=state_id,json=stateId,proto3" json:"state_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReadStateBytes_Request) Reset() { + *x = ReadStateBytes_Request{} + mi := &file_tfplugin6_proto_msgTypes[138] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReadStateBytes_Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadStateBytes_Request) ProtoMessage() {} + +func (x *ReadStateBytes_Request) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[138] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReadStateBytes_Request.ProtoReflect.Descriptor instead. +func (*ReadStateBytes_Request) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{43, 0} +} + +func (x *ReadStateBytes_Request) GetTypeName() string { + if x != nil { + return x.TypeName + } + return "" +} + +func (x *ReadStateBytes_Request) GetStateId() string { + if x != nil { + return x.StateId + } + return "" +} + +type ReadStateBytes_Response struct { + state protoimpl.MessageState `protogen:"open.v1"` + Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"` + TotalLength int64 `protobuf:"varint,2,opt,name=total_length,json=totalLength,proto3" json:"total_length,omitempty"` + Range *StateRange `protobuf:"bytes,3,opt,name=range,proto3" json:"range,omitempty"` + Diagnostics []*Diagnostic `protobuf:"bytes,4,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReadStateBytes_Response) Reset() { + *x = ReadStateBytes_Response{} + mi := &file_tfplugin6_proto_msgTypes[139] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReadStateBytes_Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReadStateBytes_Response) ProtoMessage() {} + +func (x *ReadStateBytes_Response) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[139] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReadStateBytes_Response.ProtoReflect.Descriptor instead. +func (*ReadStateBytes_Response) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{43, 1} +} + +func (x *ReadStateBytes_Response) GetBytes() []byte { + if x != nil { + return x.Bytes + } + return nil +} + +func (x *ReadStateBytes_Response) GetTotalLength() int64 { + if x != nil { + return x.TotalLength + } + return 0 +} + +func (x *ReadStateBytes_Response) GetRange() *StateRange { + if x != nil { + return x.Range + } + return nil +} + +func (x *ReadStateBytes_Response) GetDiagnostics() []*Diagnostic { + if x != nil { + return x.Diagnostics + } + return nil +} + +type WriteStateBytes_RequestChunk struct { + state protoimpl.MessageState `protogen:"open.v1"` + // TODO: Can we decouple this outside of the stream? + TypeName string `protobuf:"bytes,1,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + StateId string `protobuf:"bytes,3,opt,name=state_id,json=stateId,proto3" json:"state_id,omitempty"` + Bytes []byte `protobuf:"bytes,2,opt,name=bytes,proto3" json:"bytes,omitempty"` + TotalLength int64 `protobuf:"varint,4,opt,name=total_length,json=totalLength,proto3" json:"total_length,omitempty"` + Range *StateRange `protobuf:"bytes,5,opt,name=range,proto3" json:"range,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WriteStateBytes_RequestChunk) Reset() { + *x = WriteStateBytes_RequestChunk{} + mi := &file_tfplugin6_proto_msgTypes[140] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WriteStateBytes_RequestChunk) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteStateBytes_RequestChunk) ProtoMessage() {} + +func (x *WriteStateBytes_RequestChunk) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[140] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteStateBytes_RequestChunk.ProtoReflect.Descriptor instead. +func (*WriteStateBytes_RequestChunk) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{44, 0} +} + +func (x *WriteStateBytes_RequestChunk) GetTypeName() string { + if x != nil { + return x.TypeName + } + return "" +} + +func (x *WriteStateBytes_RequestChunk) GetStateId() string { + if x != nil { + return x.StateId + } + return "" +} + +func (x *WriteStateBytes_RequestChunk) GetBytes() []byte { + if x != nil { + return x.Bytes + } + return nil +} + +func (x *WriteStateBytes_RequestChunk) GetTotalLength() int64 { + if x != nil { + return x.TotalLength + } + return 0 +} + +func (x *WriteStateBytes_RequestChunk) GetRange() *StateRange { + if x != nil { + return x.Range + } + return nil +} + +type WriteStateBytes_Response struct { + state protoimpl.MessageState `protogen:"open.v1"` + Diagnostics []*Diagnostic `protobuf:"bytes,1,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WriteStateBytes_Response) Reset() { + *x = WriteStateBytes_Response{} + mi := &file_tfplugin6_proto_msgTypes[141] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WriteStateBytes_Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteStateBytes_Response) ProtoMessage() {} + +func (x *WriteStateBytes_Response) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[141] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteStateBytes_Response.ProtoReflect.Descriptor instead. +func (*WriteStateBytes_Response) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{44, 1} +} + +func (x *WriteStateBytes_Response) GetDiagnostics() []*Diagnostic { + if x != nil { + return x.Diagnostics + } + return nil +} + +type GetStates_Request struct { + state protoimpl.MessageState `protogen:"open.v1"` + TypeName string `protobuf:"bytes,1,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetStates_Request) Reset() { + *x = GetStates_Request{} + mi := &file_tfplugin6_proto_msgTypes[142] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetStates_Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStates_Request) ProtoMessage() {} + +func (x *GetStates_Request) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[142] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetStates_Request.ProtoReflect.Descriptor instead. +func (*GetStates_Request) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{46, 0} +} + +func (x *GetStates_Request) GetTypeName() string { + if x != nil { + return x.TypeName + } + return "" +} + +type GetStates_Response struct { + state protoimpl.MessageState `protogen:"open.v1"` + StateId []string `protobuf:"bytes,1,rep,name=state_id,json=stateId,proto3" json:"state_id,omitempty"` + Diagnostics []*Diagnostic `protobuf:"bytes,2,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetStates_Response) Reset() { + *x = GetStates_Response{} + mi := &file_tfplugin6_proto_msgTypes[143] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetStates_Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStates_Response) ProtoMessage() {} + +func (x *GetStates_Response) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[143] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetStates_Response.ProtoReflect.Descriptor instead. +func (*GetStates_Response) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{46, 1} +} + +func (x *GetStates_Response) GetStateId() []string { + if x != nil { + return x.StateId + } + return nil +} + +func (x *GetStates_Response) GetDiagnostics() []*Diagnostic { + if x != nil { + return x.Diagnostics + } + return nil +} + +type DeleteState_Request struct { + state protoimpl.MessageState `protogen:"open.v1"` + TypeName string `protobuf:"bytes,1,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + StateId string `protobuf:"bytes,2,opt,name=state_id,json=stateId,proto3" json:"state_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteState_Request) Reset() { + *x = DeleteState_Request{} + mi := &file_tfplugin6_proto_msgTypes[144] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteState_Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteState_Request) ProtoMessage() {} + +func (x *DeleteState_Request) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[144] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteState_Request.ProtoReflect.Descriptor instead. +func (*DeleteState_Request) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{47, 0} +} + +func (x *DeleteState_Request) GetTypeName() string { + if x != nil { + return x.TypeName + } + return "" +} + +func (x *DeleteState_Request) GetStateId() string { + if x != nil { + return x.StateId + } + return "" +} + +type DeleteState_Response struct { + state protoimpl.MessageState `protogen:"open.v1"` + Diagnostics []*Diagnostic `protobuf:"bytes,1,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteState_Response) Reset() { + *x = DeleteState_Response{} + mi := &file_tfplugin6_proto_msgTypes[145] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteState_Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteState_Response) ProtoMessage() {} + +func (x *DeleteState_Response) ProtoReflect() protoreflect.Message { + mi := &file_tfplugin6_proto_msgTypes[145] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteState_Response.ProtoReflect.Descriptor instead. +func (*DeleteState_Response) Descriptor() ([]byte, []int) { + return file_tfplugin6_proto_rawDescGZIP(), []int{47, 1} +} + +func (x *DeleteState_Response) GetDiagnostics() []*Diagnostic { + if x != nil { + return x.Diagnostics + } + return nil +} + +var File_tfplugin6_proto protoreflect.FileDescriptor + +const file_tfplugin6_proto_rawDesc = "" + + "\n" + + "\x0ftfplugin6.proto\x12\ttfplugin6\x1a\x1fgoogle/protobuf/timestamp.proto\"<\n" + + "\fDynamicValue\x12\x18\n" + + "\amsgpack\x18\x01 \x01(\fR\amsgpack\x12\x12\n" + + "\x04json\x18\x02 \x01(\fR\x04json\"\xe3\x01\n" + + "\n" + + "Diagnostic\x12:\n" + + "\bseverity\x18\x01 \x01(\x0e2\x1e.tfplugin6.Diagnostic.SeverityR\bseverity\x12\x18\n" + + "\asummary\x18\x02 \x01(\tR\asummary\x12\x16\n" + + "\x06detail\x18\x03 \x01(\tR\x06detail\x126\n" + + "\tattribute\x18\x04 \x01(\v2\x18.tfplugin6.AttributePathR\tattribute\"/\n" + + "\bSeverity\x12\v\n" + + "\aINVALID\x10\x00\x12\t\n" + + "\x05ERROR\x10\x01\x12\v\n" + + "\aWARNING\x10\x02\"k\n" + + "\rFunctionError\x12\x12\n" + + "\x04text\x18\x01 \x01(\tR\x04text\x120\n" + + "\x11function_argument\x18\x02 \x01(\x03H\x00R\x10functionArgument\x88\x01\x01B\x14\n" + + "\x12_function_argument\"\xdc\x01\n" + + "\rAttributePath\x123\n" + + "\x05steps\x18\x01 \x03(\v2\x1d.tfplugin6.AttributePath.StepR\x05steps\x1a\x95\x01\n" + + "\x04Step\x12'\n" + + "\x0eattribute_name\x18\x01 \x01(\tH\x00R\rattributeName\x12.\n" + + "\x12element_key_string\x18\x02 \x01(\tH\x00R\x10elementKeyString\x12(\n" + + "\x0felement_key_int\x18\x03 \x01(\x03H\x00R\relementKeyIntB\n" + + "\n" + + "\bselector\";\n" + + "\fStopProvider\x1a\t\n" + + "\aRequest\x1a \n" + + "\bResponse\x12\x14\n" + + "\x05Error\x18\x01 \x01(\tR\x05Error\"\x96\x01\n" + + "\bRawState\x12\x12\n" + + "\x04json\x18\x01 \x01(\fR\x04json\x12:\n" + + "\aflatmap\x18\x02 \x03(\v2 .tfplugin6.RawState.FlatmapEntryR\aflatmap\x1a:\n" + + "\fFlatmapEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xb4\n" + + "\n" + + "\x06Schema\x12\x18\n" + + "\aversion\x18\x01 \x01(\x03R\aversion\x12-\n" + + "\x05block\x18\x02 \x01(\v2\x17.tfplugin6.Schema.BlockR\x05block\x1a\xa2\x02\n" + + "\x05Block\x12\x18\n" + + "\aversion\x18\x01 \x01(\x03R\aversion\x12;\n" + + "\n" + + "attributes\x18\x02 \x03(\v2\x1b.tfplugin6.Schema.AttributeR\n" + + "attributes\x12>\n" + + "\vblock_types\x18\x03 \x03(\v2\x1d.tfplugin6.Schema.NestedBlockR\n" + + "blockTypes\x12 \n" + + "\vdescription\x18\x04 \x01(\tR\vdescription\x12@\n" + + "\x10description_kind\x18\x05 \x01(\x0e2\x15.tfplugin6.StringKindR\x0fdescriptionKind\x12\x1e\n" + "\n" + "deprecated\x18\x06 \x01(\bR\n" + "deprecated\x1a\x83\x03\n" + @@ -7108,9 +8009,9 @@ const file_tfplugin6_proto_rawDesc = "" + "\x14ListResourceMetadata\x12\x1b\n" + "\ttype_name\x18\x01 \x01(\tR\btypeName\x1a-\n" + "\x0eActionMetadata\x12\x1b\n" + - "\ttype_name\x18\x01 \x01(\tR\btypeName\"\xbc\v\n" + + "\ttype_name\x18\x01 \x01(\tR\btypeName\"\xfd\f\n" + "\x11GetProviderSchema\x1a\t\n" + - "\aRequest\x1a\x9b\v\n" + + "\aRequest\x1a\xdc\f\n" + "\bResponse\x12-\n" + "\bprovider\x18\x01 \x01(\v2\x11.tfplugin6.SchemaR\bprovider\x12e\n" + "\x10resource_schemas\x18\x02 \x03(\v2:.tfplugin6.GetProviderSchema.Response.ResourceSchemasEntryR\x0fresourceSchemas\x12l\n" + @@ -7120,7 +8021,9 @@ const file_tfplugin6_proto_rawDesc = "" + "\x13server_capabilities\x18\x06 \x01(\v2\x1d.tfplugin6.ServerCapabilitiesR\x12serverCapabilities\x12R\n" + "\tfunctions\x18\a \x03(\v24.tfplugin6.GetProviderSchema.Response.FunctionsEntryR\tfunctions\x12\x81\x01\n" + "\x1aephemeral_resource_schemas\x18\b \x03(\v2C.tfplugin6.GetProviderSchema.Response.EphemeralResourceSchemasEntryR\x18ephemeralResourceSchemas\x12r\n" + - "\x15list_resource_schemas\x18\t \x03(\v2>.tfplugin6.GetProviderSchema.Response.ListResourceSchemasEntryR\x13listResourceSchemas\x12_\n" + + "\x15list_resource_schemas\x18\t \x03(\v2>.tfplugin6.GetProviderSchema.Response.ListResourceSchemasEntryR\x13listResourceSchemas\x12l\n" + + "\x13state_store_schemas\x18\n" + + " \x03(\v2<.tfplugin6.GetProviderSchema.Response.StateStoreSchemasEntryR\x11stateStoreSchemas\x12_\n" + "\x0eaction_schemas\x18\v \x03(\v28.tfplugin6.GetProviderSchema.Response.ActionSchemasEntryR\ractionSchemas\x1aU\n" + "\x14ResourceSchemasEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12'\n" + @@ -7136,11 +8039,13 @@ const file_tfplugin6_proto_rawDesc = "" + "\x05value\x18\x02 \x01(\v2\x11.tfplugin6.SchemaR\x05value:\x028\x01\x1aY\n" + "\x18ListResourceSchemasEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12'\n" + + "\x05value\x18\x02 \x01(\v2\x11.tfplugin6.SchemaR\x05value:\x028\x01\x1aW\n" + + "\x16StateStoreSchemasEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12'\n" + "\x05value\x18\x02 \x01(\v2\x11.tfplugin6.SchemaR\x05value:\x028\x01\x1aY\n" + "\x12ActionSchemasEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12-\n" + - "\x05value\x18\x02 \x01(\v2\x17.tfplugin6.ActionSchemaR\x05value:\x028\x01J\x04\b\n" + - "\x10\v\"\x99\x01\n" + + "\x05value\x18\x02 \x01(\v2\x17.tfplugin6.ActionSchemaR\x05value:\x028\x01\"\x99\x01\n" + "\x16ValidateProviderConfig\x1a:\n" + "\aRequest\x12/\n" + "\x06config\x18\x01 \x01(\v2\x17.tfplugin6.DynamicValueR\x06config\x1aC\n" + @@ -7413,11 +8318,57 @@ const file_tfplugin6_proto_rawDesc = "" + "\tnew_state\x18\x01 \x01(\v2\x17.tfplugin6.DynamicValueR\bnewState\x12B\n" + "\fnew_identity\x18\x02 \x01(\v2\x1f.tfplugin6.ResourceIdentityDataR\vnewIdentity\x12)\n" + "\x10requires_replace\x18\x03 \x01(\bR\x0frequiresReplaceB\x06\n" + - "\x04type*%\n" + + "\x04type\"\xb2\x01\n" + + "\x12ValidateStateStore\x1aW\n" + + "\aRequest\x12\x1b\n" + + "\ttype_name\x18\x01 \x01(\tR\btypeName\x12/\n" + + "\x06config\x18\x02 \x01(\v2\x17.tfplugin6.DynamicValueR\x06config\x1aC\n" + + "\bResponse\x127\n" + + "\vdiagnostics\x18\x01 \x03(\v2\x15.tfplugin6.DiagnosticR\vdiagnostics\"\xb3\x01\n" + + "\x13ConfigureStateStore\x1aW\n" + + "\aRequest\x12\x1b\n" + + "\ttype_name\x18\x01 \x01(\tR\btypeName\x12/\n" + + "\x06config\x18\x02 \x01(\v2\x17.tfplugin6.DynamicValueR\x06config\x1aC\n" + + "\bResponse\x127\n" + + "\vdiagnostics\x18\x01 \x03(\v2\x15.tfplugin6.DiagnosticR\vdiagnostics\"\xff\x01\n" + + "\x0eReadStateBytes\x1aA\n" + + "\aRequest\x12\x1b\n" + + "\ttype_name\x18\x01 \x01(\tR\btypeName\x12\x19\n" + + "\bstate_id\x18\x02 \x01(\tR\astateId\x1a\xa9\x01\n" + + "\bResponse\x12\x14\n" + + "\x05bytes\x18\x01 \x01(\fR\x05bytes\x12!\n" + + "\ftotal_length\x18\x02 \x01(\x03R\vtotalLength\x12+\n" + + "\x05range\x18\x03 \x01(\v2\x15.tfplugin6.StateRangeR\x05range\x127\n" + + "\vdiagnostics\x18\x04 \x03(\v2\x15.tfplugin6.DiagnosticR\vdiagnostics\"\x85\x02\n" + + "\x0fWriteStateBytes\x1a\xac\x01\n" + + "\fRequestChunk\x12\x1b\n" + + "\ttype_name\x18\x01 \x01(\tR\btypeName\x12\x19\n" + + "\bstate_id\x18\x03 \x01(\tR\astateId\x12\x14\n" + + "\x05bytes\x18\x02 \x01(\fR\x05bytes\x12!\n" + + "\ftotal_length\x18\x04 \x01(\x03R\vtotalLength\x12+\n" + + "\x05range\x18\x05 \x01(\v2\x15.tfplugin6.StateRangeR\x05range\x1aC\n" + + "\bResponse\x127\n" + + "\vdiagnostics\x18\x01 \x03(\v2\x15.tfplugin6.DiagnosticR\vdiagnostics\"4\n" + + "\n" + + "StateRange\x12\x14\n" + + "\x05start\x18\x01 \x01(\x03R\x05start\x12\x10\n" + + "\x03end\x18\x02 \x01(\x03R\x03end\"\x93\x01\n" + + "\tGetStates\x1a&\n" + + "\aRequest\x12\x1b\n" + + "\ttype_name\x18\x01 \x01(\tR\btypeName\x1a^\n" + + "\bResponse\x12\x19\n" + + "\bstate_id\x18\x01 \x03(\tR\astateId\x127\n" + + "\vdiagnostics\x18\x02 \x03(\v2\x15.tfplugin6.DiagnosticR\vdiagnostics\"\x95\x01\n" + + "\vDeleteState\x1aA\n" + + "\aRequest\x12\x1b\n" + + "\ttype_name\x18\x01 \x01(\tR\btypeName\x12\x19\n" + + "\bstate_id\x18\x02 \x01(\tR\astateId\x1aC\n" + + "\bResponse\x127\n" + + "\vdiagnostics\x18\x01 \x03(\v2\x15.tfplugin6.DiagnosticR\vdiagnostics*%\n" + "\n" + "StringKind\x12\t\n" + "\x05PLAIN\x10\x00\x12\f\n" + - "\bMARKDOWN\x10\x012\xcb\x15\n" + + "\bMARKDOWN\x10\x012\xf6\x19\n" + "\bProvider\x12N\n" + "\vGetMetadata\x12\x1e.tfplugin6.GetMetadata.Request\x1a\x1f.tfplugin6.GetMetadata.Response\x12`\n" + "\x11GetProviderSchema\x12$.tfplugin6.GetProviderSchema.Request\x1a%.tfplugin6.GetProviderSchema.Response\x12{\n" + @@ -7445,7 +8396,13 @@ const file_tfplugin6_proto_rawDesc = "" + "\x14ValidateActionConfig\x12'.tfplugin6.ValidateActionConfig.Request\x1a(.tfplugin6.ValidateActionConfig.Response\x12K\n" + "\n" + "PlanAction\x12\x1d.tfplugin6.PlanAction.Request\x1a\x1e.tfplugin6.PlanAction.Response\x12P\n" + - "\fInvokeAction\x12\x1f.tfplugin6.InvokeAction.Request\x1a\x1d.tfplugin6.InvokeAction.Event0\x01\x12Q\n" + + "\fInvokeAction\x12\x1f.tfplugin6.InvokeAction.Request\x1a\x1d.tfplugin6.InvokeAction.Event0\x01\x12i\n" + + "\x18ValidateStateStoreConfig\x12%.tfplugin6.ValidateStateStore.Request\x1a&.tfplugin6.ValidateStateStore.Response\x12f\n" + + "\x13ConfigureStateStore\x12&.tfplugin6.ConfigureStateStore.Request\x1a'.tfplugin6.ConfigureStateStore.Response\x12Y\n" + + "\x0eReadStateBytes\x12!.tfplugin6.ReadStateBytes.Request\x1a\".tfplugin6.ReadStateBytes.Response0\x01\x12a\n" + + "\x0fWriteStateBytes\x12'.tfplugin6.WriteStateBytes.RequestChunk\x1a#.tfplugin6.WriteStateBytes.Response(\x01\x12H\n" + + "\tGetStates\x12\x1c.tfplugin6.GetStates.Request\x1a\x1d.tfplugin6.GetStates.Response\x12N\n" + + "\vDeleteState\x12\x1e.tfplugin6.DeleteState.Request\x1a\x1f.tfplugin6.DeleteState.Response\x12Q\n" + "\fStopProvider\x12\x1f.tfplugin6.StopProvider.Request\x1a .tfplugin6.StopProvider.ResponseBGZEgithub.com/hashicorp/terraform-plugin-go/tfprotov6/internal/tfplugin6b\x06proto3" var ( @@ -7461,7 +8418,7 @@ func file_tfplugin6_proto_rawDescGZIP() []byte { } var file_tfplugin6_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_tfplugin6_proto_msgTypes = make([]protoimpl.MessageInfo, 126) +var file_tfplugin6_proto_msgTypes = make([]protoimpl.MessageInfo, 146) var file_tfplugin6_proto_goTypes = []any{ (StringKind)(0), // 0: tfplugin6.StringKind (Diagnostic_Severity)(0), // 1: tfplugin6.Diagnostic.Severity @@ -7509,318 +8466,362 @@ var file_tfplugin6_proto_goTypes = []any{ (*LinkedResourceConfig)(nil), // 43: tfplugin6.LinkedResourceConfig (*PlanAction)(nil), // 44: tfplugin6.PlanAction (*InvokeAction)(nil), // 45: tfplugin6.InvokeAction - (*AttributePath_Step)(nil), // 46: tfplugin6.AttributePath.Step - (*StopProvider_Request)(nil), // 47: tfplugin6.StopProvider.Request - (*StopProvider_Response)(nil), // 48: tfplugin6.StopProvider.Response - nil, // 49: tfplugin6.RawState.FlatmapEntry - (*Schema_Block)(nil), // 50: tfplugin6.Schema.Block - (*Schema_Attribute)(nil), // 51: tfplugin6.Schema.Attribute - (*Schema_NestedBlock)(nil), // 52: tfplugin6.Schema.NestedBlock - (*Schema_Object)(nil), // 53: tfplugin6.Schema.Object - (*ResourceIdentitySchema_IdentityAttribute)(nil), // 54: tfplugin6.ResourceIdentitySchema.IdentityAttribute - (*Function_Parameter)(nil), // 55: tfplugin6.Function.Parameter - (*Function_Return)(nil), // 56: tfplugin6.Function.Return - (*ActionSchema_Unlinked)(nil), // 57: tfplugin6.ActionSchema.Unlinked - (*GetMetadata_Request)(nil), // 58: tfplugin6.GetMetadata.Request - (*GetMetadata_Response)(nil), // 59: tfplugin6.GetMetadata.Response - (*GetMetadata_FunctionMetadata)(nil), // 60: tfplugin6.GetMetadata.FunctionMetadata - (*GetMetadata_DataSourceMetadata)(nil), // 61: tfplugin6.GetMetadata.DataSourceMetadata - (*GetMetadata_ResourceMetadata)(nil), // 62: tfplugin6.GetMetadata.ResourceMetadata - (*GetMetadata_EphemeralResourceMetadata)(nil), // 63: tfplugin6.GetMetadata.EphemeralResourceMetadata - (*GetMetadata_ListResourceMetadata)(nil), // 64: tfplugin6.GetMetadata.ListResourceMetadata - (*GetMetadata_ActionMetadata)(nil), // 65: tfplugin6.GetMetadata.ActionMetadata - (*GetProviderSchema_Request)(nil), // 66: tfplugin6.GetProviderSchema.Request - (*GetProviderSchema_Response)(nil), // 67: tfplugin6.GetProviderSchema.Response - nil, // 68: tfplugin6.GetProviderSchema.Response.ResourceSchemasEntry - nil, // 69: tfplugin6.GetProviderSchema.Response.DataSourceSchemasEntry - nil, // 70: tfplugin6.GetProviderSchema.Response.FunctionsEntry - nil, // 71: tfplugin6.GetProviderSchema.Response.EphemeralResourceSchemasEntry - nil, // 72: tfplugin6.GetProviderSchema.Response.ListResourceSchemasEntry - nil, // 73: tfplugin6.GetProviderSchema.Response.ActionSchemasEntry - (*ValidateProviderConfig_Request)(nil), // 74: tfplugin6.ValidateProviderConfig.Request - (*ValidateProviderConfig_Response)(nil), // 75: tfplugin6.ValidateProviderConfig.Response - (*UpgradeResourceState_Request)(nil), // 76: tfplugin6.UpgradeResourceState.Request - (*UpgradeResourceState_Response)(nil), // 77: tfplugin6.UpgradeResourceState.Response - (*ValidateResourceConfig_Request)(nil), // 78: tfplugin6.ValidateResourceConfig.Request - (*ValidateResourceConfig_Response)(nil), // 79: tfplugin6.ValidateResourceConfig.Response - (*ValidateDataResourceConfig_Request)(nil), // 80: tfplugin6.ValidateDataResourceConfig.Request - (*ValidateDataResourceConfig_Response)(nil), // 81: tfplugin6.ValidateDataResourceConfig.Response - (*ConfigureProvider_Request)(nil), // 82: tfplugin6.ConfigureProvider.Request - (*ConfigureProvider_Response)(nil), // 83: tfplugin6.ConfigureProvider.Response - (*ReadResource_Request)(nil), // 84: tfplugin6.ReadResource.Request - (*ReadResource_Response)(nil), // 85: tfplugin6.ReadResource.Response - (*PlanResourceChange_Request)(nil), // 86: tfplugin6.PlanResourceChange.Request - (*PlanResourceChange_Response)(nil), // 87: tfplugin6.PlanResourceChange.Response - (*ApplyResourceChange_Request)(nil), // 88: tfplugin6.ApplyResourceChange.Request - (*ApplyResourceChange_Response)(nil), // 89: tfplugin6.ApplyResourceChange.Response - (*ImportResourceState_Request)(nil), // 90: tfplugin6.ImportResourceState.Request - (*ImportResourceState_ImportedResource)(nil), // 91: tfplugin6.ImportResourceState.ImportedResource - (*ImportResourceState_Response)(nil), // 92: tfplugin6.ImportResourceState.Response - (*MoveResourceState_Request)(nil), // 93: tfplugin6.MoveResourceState.Request - (*MoveResourceState_Response)(nil), // 94: tfplugin6.MoveResourceState.Response - (*ReadDataSource_Request)(nil), // 95: tfplugin6.ReadDataSource.Request - (*ReadDataSource_Response)(nil), // 96: tfplugin6.ReadDataSource.Response - (*GetFunctions_Request)(nil), // 97: tfplugin6.GetFunctions.Request - (*GetFunctions_Response)(nil), // 98: tfplugin6.GetFunctions.Response - nil, // 99: tfplugin6.GetFunctions.Response.FunctionsEntry - (*CallFunction_Request)(nil), // 100: tfplugin6.CallFunction.Request - (*CallFunction_Response)(nil), // 101: tfplugin6.CallFunction.Response - (*ValidateEphemeralResourceConfig_Request)(nil), // 102: tfplugin6.ValidateEphemeralResourceConfig.Request - (*ValidateEphemeralResourceConfig_Response)(nil), // 103: tfplugin6.ValidateEphemeralResourceConfig.Response - (*OpenEphemeralResource_Request)(nil), // 104: tfplugin6.OpenEphemeralResource.Request - (*OpenEphemeralResource_Response)(nil), // 105: tfplugin6.OpenEphemeralResource.Response - (*RenewEphemeralResource_Request)(nil), // 106: tfplugin6.RenewEphemeralResource.Request - (*RenewEphemeralResource_Response)(nil), // 107: tfplugin6.RenewEphemeralResource.Response - (*CloseEphemeralResource_Request)(nil), // 108: tfplugin6.CloseEphemeralResource.Request - (*CloseEphemeralResource_Response)(nil), // 109: tfplugin6.CloseEphemeralResource.Response - (*GetResourceIdentitySchemas_Request)(nil), // 110: tfplugin6.GetResourceIdentitySchemas.Request - (*GetResourceIdentitySchemas_Response)(nil), // 111: tfplugin6.GetResourceIdentitySchemas.Response - nil, // 112: tfplugin6.GetResourceIdentitySchemas.Response.IdentitySchemasEntry - (*UpgradeResourceIdentity_Request)(nil), // 113: tfplugin6.UpgradeResourceIdentity.Request - (*UpgradeResourceIdentity_Response)(nil), // 114: tfplugin6.UpgradeResourceIdentity.Response - (*ListResource_Request)(nil), // 115: tfplugin6.ListResource.Request - (*ListResource_Event)(nil), // 116: tfplugin6.ListResource.Event - (*ValidateListResourceConfig_Request)(nil), // 117: tfplugin6.ValidateListResourceConfig.Request - (*ValidateListResourceConfig_Response)(nil), // 118: tfplugin6.ValidateListResourceConfig.Response - (*ValidateActionConfig_Request)(nil), // 119: tfplugin6.ValidateActionConfig.Request - (*ValidateActionConfig_Response)(nil), // 120: tfplugin6.ValidateActionConfig.Response - (*PlanAction_Request)(nil), // 121: tfplugin6.PlanAction.Request - (*PlanAction_Response)(nil), // 122: tfplugin6.PlanAction.Response - (*PlanAction_Request_LinkedResource)(nil), // 123: tfplugin6.PlanAction.Request.LinkedResource - (*PlanAction_Response_LinkedResource)(nil), // 124: tfplugin6.PlanAction.Response.LinkedResource - (*InvokeAction_Request)(nil), // 125: tfplugin6.InvokeAction.Request - (*InvokeAction_Event)(nil), // 126: tfplugin6.InvokeAction.Event - (*InvokeAction_Request_LinkedResource)(nil), // 127: tfplugin6.InvokeAction.Request.LinkedResource - (*InvokeAction_Event_Progress)(nil), // 128: tfplugin6.InvokeAction.Event.Progress - (*InvokeAction_Event_Completed)(nil), // 129: tfplugin6.InvokeAction.Event.Completed - (*InvokeAction_Event_Completed_LinkedResource)(nil), // 130: tfplugin6.InvokeAction.Event.Completed.LinkedResource - (*timestamppb.Timestamp)(nil), // 131: google.protobuf.Timestamp + (*ValidateStateStore)(nil), // 46: tfplugin6.ValidateStateStore + (*ConfigureStateStore)(nil), // 47: tfplugin6.ConfigureStateStore + (*ReadStateBytes)(nil), // 48: tfplugin6.ReadStateBytes + (*WriteStateBytes)(nil), // 49: tfplugin6.WriteStateBytes + (*StateRange)(nil), // 50: tfplugin6.StateRange + (*GetStates)(nil), // 51: tfplugin6.GetStates + (*DeleteState)(nil), // 52: tfplugin6.DeleteState + (*AttributePath_Step)(nil), // 53: tfplugin6.AttributePath.Step + (*StopProvider_Request)(nil), // 54: tfplugin6.StopProvider.Request + (*StopProvider_Response)(nil), // 55: tfplugin6.StopProvider.Response + nil, // 56: tfplugin6.RawState.FlatmapEntry + (*Schema_Block)(nil), // 57: tfplugin6.Schema.Block + (*Schema_Attribute)(nil), // 58: tfplugin6.Schema.Attribute + (*Schema_NestedBlock)(nil), // 59: tfplugin6.Schema.NestedBlock + (*Schema_Object)(nil), // 60: tfplugin6.Schema.Object + (*ResourceIdentitySchema_IdentityAttribute)(nil), // 61: tfplugin6.ResourceIdentitySchema.IdentityAttribute + (*Function_Parameter)(nil), // 62: tfplugin6.Function.Parameter + (*Function_Return)(nil), // 63: tfplugin6.Function.Return + (*ActionSchema_Unlinked)(nil), // 64: tfplugin6.ActionSchema.Unlinked + (*GetMetadata_Request)(nil), // 65: tfplugin6.GetMetadata.Request + (*GetMetadata_Response)(nil), // 66: tfplugin6.GetMetadata.Response + (*GetMetadata_FunctionMetadata)(nil), // 67: tfplugin6.GetMetadata.FunctionMetadata + (*GetMetadata_DataSourceMetadata)(nil), // 68: tfplugin6.GetMetadata.DataSourceMetadata + (*GetMetadata_ResourceMetadata)(nil), // 69: tfplugin6.GetMetadata.ResourceMetadata + (*GetMetadata_EphemeralResourceMetadata)(nil), // 70: tfplugin6.GetMetadata.EphemeralResourceMetadata + (*GetMetadata_ListResourceMetadata)(nil), // 71: tfplugin6.GetMetadata.ListResourceMetadata + (*GetMetadata_ActionMetadata)(nil), // 72: tfplugin6.GetMetadata.ActionMetadata + (*GetProviderSchema_Request)(nil), // 73: tfplugin6.GetProviderSchema.Request + (*GetProviderSchema_Response)(nil), // 74: tfplugin6.GetProviderSchema.Response + nil, // 75: tfplugin6.GetProviderSchema.Response.ResourceSchemasEntry + nil, // 76: tfplugin6.GetProviderSchema.Response.DataSourceSchemasEntry + nil, // 77: tfplugin6.GetProviderSchema.Response.FunctionsEntry + nil, // 78: tfplugin6.GetProviderSchema.Response.EphemeralResourceSchemasEntry + nil, // 79: tfplugin6.GetProviderSchema.Response.ListResourceSchemasEntry + nil, // 80: tfplugin6.GetProviderSchema.Response.StateStoreSchemasEntry + nil, // 81: tfplugin6.GetProviderSchema.Response.ActionSchemasEntry + (*ValidateProviderConfig_Request)(nil), // 82: tfplugin6.ValidateProviderConfig.Request + (*ValidateProviderConfig_Response)(nil), // 83: tfplugin6.ValidateProviderConfig.Response + (*UpgradeResourceState_Request)(nil), // 84: tfplugin6.UpgradeResourceState.Request + (*UpgradeResourceState_Response)(nil), // 85: tfplugin6.UpgradeResourceState.Response + (*ValidateResourceConfig_Request)(nil), // 86: tfplugin6.ValidateResourceConfig.Request + (*ValidateResourceConfig_Response)(nil), // 87: tfplugin6.ValidateResourceConfig.Response + (*ValidateDataResourceConfig_Request)(nil), // 88: tfplugin6.ValidateDataResourceConfig.Request + (*ValidateDataResourceConfig_Response)(nil), // 89: tfplugin6.ValidateDataResourceConfig.Response + (*ConfigureProvider_Request)(nil), // 90: tfplugin6.ConfigureProvider.Request + (*ConfigureProvider_Response)(nil), // 91: tfplugin6.ConfigureProvider.Response + (*ReadResource_Request)(nil), // 92: tfplugin6.ReadResource.Request + (*ReadResource_Response)(nil), // 93: tfplugin6.ReadResource.Response + (*PlanResourceChange_Request)(nil), // 94: tfplugin6.PlanResourceChange.Request + (*PlanResourceChange_Response)(nil), // 95: tfplugin6.PlanResourceChange.Response + (*ApplyResourceChange_Request)(nil), // 96: tfplugin6.ApplyResourceChange.Request + (*ApplyResourceChange_Response)(nil), // 97: tfplugin6.ApplyResourceChange.Response + (*ImportResourceState_Request)(nil), // 98: tfplugin6.ImportResourceState.Request + (*ImportResourceState_ImportedResource)(nil), // 99: tfplugin6.ImportResourceState.ImportedResource + (*ImportResourceState_Response)(nil), // 100: tfplugin6.ImportResourceState.Response + (*MoveResourceState_Request)(nil), // 101: tfplugin6.MoveResourceState.Request + (*MoveResourceState_Response)(nil), // 102: tfplugin6.MoveResourceState.Response + (*ReadDataSource_Request)(nil), // 103: tfplugin6.ReadDataSource.Request + (*ReadDataSource_Response)(nil), // 104: tfplugin6.ReadDataSource.Response + (*GetFunctions_Request)(nil), // 105: tfplugin6.GetFunctions.Request + (*GetFunctions_Response)(nil), // 106: tfplugin6.GetFunctions.Response + nil, // 107: tfplugin6.GetFunctions.Response.FunctionsEntry + (*CallFunction_Request)(nil), // 108: tfplugin6.CallFunction.Request + (*CallFunction_Response)(nil), // 109: tfplugin6.CallFunction.Response + (*ValidateEphemeralResourceConfig_Request)(nil), // 110: tfplugin6.ValidateEphemeralResourceConfig.Request + (*ValidateEphemeralResourceConfig_Response)(nil), // 111: tfplugin6.ValidateEphemeralResourceConfig.Response + (*OpenEphemeralResource_Request)(nil), // 112: tfplugin6.OpenEphemeralResource.Request + (*OpenEphemeralResource_Response)(nil), // 113: tfplugin6.OpenEphemeralResource.Response + (*RenewEphemeralResource_Request)(nil), // 114: tfplugin6.RenewEphemeralResource.Request + (*RenewEphemeralResource_Response)(nil), // 115: tfplugin6.RenewEphemeralResource.Response + (*CloseEphemeralResource_Request)(nil), // 116: tfplugin6.CloseEphemeralResource.Request + (*CloseEphemeralResource_Response)(nil), // 117: tfplugin6.CloseEphemeralResource.Response + (*GetResourceIdentitySchemas_Request)(nil), // 118: tfplugin6.GetResourceIdentitySchemas.Request + (*GetResourceIdentitySchemas_Response)(nil), // 119: tfplugin6.GetResourceIdentitySchemas.Response + nil, // 120: tfplugin6.GetResourceIdentitySchemas.Response.IdentitySchemasEntry + (*UpgradeResourceIdentity_Request)(nil), // 121: tfplugin6.UpgradeResourceIdentity.Request + (*UpgradeResourceIdentity_Response)(nil), // 122: tfplugin6.UpgradeResourceIdentity.Response + (*ListResource_Request)(nil), // 123: tfplugin6.ListResource.Request + (*ListResource_Event)(nil), // 124: tfplugin6.ListResource.Event + (*ValidateListResourceConfig_Request)(nil), // 125: tfplugin6.ValidateListResourceConfig.Request + (*ValidateListResourceConfig_Response)(nil), // 126: tfplugin6.ValidateListResourceConfig.Response + (*ValidateActionConfig_Request)(nil), // 127: tfplugin6.ValidateActionConfig.Request + (*ValidateActionConfig_Response)(nil), // 128: tfplugin6.ValidateActionConfig.Response + (*PlanAction_Request)(nil), // 129: tfplugin6.PlanAction.Request + (*PlanAction_Response)(nil), // 130: tfplugin6.PlanAction.Response + (*PlanAction_Request_LinkedResource)(nil), // 131: tfplugin6.PlanAction.Request.LinkedResource + (*PlanAction_Response_LinkedResource)(nil), // 132: tfplugin6.PlanAction.Response.LinkedResource + (*InvokeAction_Request)(nil), // 133: tfplugin6.InvokeAction.Request + (*InvokeAction_Event)(nil), // 134: tfplugin6.InvokeAction.Event + (*InvokeAction_Request_LinkedResource)(nil), // 135: tfplugin6.InvokeAction.Request.LinkedResource + (*InvokeAction_Event_Progress)(nil), // 136: tfplugin6.InvokeAction.Event.Progress + (*InvokeAction_Event_Completed)(nil), // 137: tfplugin6.InvokeAction.Event.Completed + (*InvokeAction_Event_Completed_LinkedResource)(nil), // 138: tfplugin6.InvokeAction.Event.Completed.LinkedResource + (*ValidateStateStore_Request)(nil), // 139: tfplugin6.ValidateStateStore.Request + (*ValidateStateStore_Response)(nil), // 140: tfplugin6.ValidateStateStore.Response + (*ConfigureStateStore_Request)(nil), // 141: tfplugin6.ConfigureStateStore.Request + (*ConfigureStateStore_Response)(nil), // 142: tfplugin6.ConfigureStateStore.Response + (*ReadStateBytes_Request)(nil), // 143: tfplugin6.ReadStateBytes.Request + (*ReadStateBytes_Response)(nil), // 144: tfplugin6.ReadStateBytes.Response + (*WriteStateBytes_RequestChunk)(nil), // 145: tfplugin6.WriteStateBytes.RequestChunk + (*WriteStateBytes_Response)(nil), // 146: tfplugin6.WriteStateBytes.Response + (*GetStates_Request)(nil), // 147: tfplugin6.GetStates.Request + (*GetStates_Response)(nil), // 148: tfplugin6.GetStates.Response + (*DeleteState_Request)(nil), // 149: tfplugin6.DeleteState.Request + (*DeleteState_Response)(nil), // 150: tfplugin6.DeleteState.Response + (*timestamppb.Timestamp)(nil), // 151: google.protobuf.Timestamp } var file_tfplugin6_proto_depIdxs = []int32{ 1, // 0: tfplugin6.Diagnostic.severity:type_name -> tfplugin6.Diagnostic.Severity 8, // 1: tfplugin6.Diagnostic.attribute:type_name -> tfplugin6.AttributePath - 46, // 2: tfplugin6.AttributePath.steps:type_name -> tfplugin6.AttributePath.Step - 49, // 3: tfplugin6.RawState.flatmap:type_name -> tfplugin6.RawState.FlatmapEntry - 50, // 4: tfplugin6.Schema.block:type_name -> tfplugin6.Schema.Block - 54, // 5: tfplugin6.ResourceIdentitySchema.identity_attributes:type_name -> tfplugin6.ResourceIdentitySchema.IdentityAttribute + 53, // 2: tfplugin6.AttributePath.steps:type_name -> tfplugin6.AttributePath.Step + 56, // 3: tfplugin6.RawState.flatmap:type_name -> tfplugin6.RawState.FlatmapEntry + 57, // 4: tfplugin6.Schema.block:type_name -> tfplugin6.Schema.Block + 61, // 5: tfplugin6.ResourceIdentitySchema.identity_attributes:type_name -> tfplugin6.ResourceIdentitySchema.IdentityAttribute 5, // 6: tfplugin6.ResourceIdentityData.identity_data:type_name -> tfplugin6.DynamicValue - 55, // 7: tfplugin6.Function.parameters:type_name -> tfplugin6.Function.Parameter - 55, // 8: tfplugin6.Function.variadic_parameter:type_name -> tfplugin6.Function.Parameter - 56, // 9: tfplugin6.Function.return:type_name -> tfplugin6.Function.Return + 62, // 7: tfplugin6.Function.parameters:type_name -> tfplugin6.Function.Parameter + 62, // 8: tfplugin6.Function.variadic_parameter:type_name -> tfplugin6.Function.Parameter + 63, // 9: tfplugin6.Function.return:type_name -> tfplugin6.Function.Return 0, // 10: tfplugin6.Function.description_kind:type_name -> tfplugin6.StringKind 11, // 11: tfplugin6.ActionSchema.schema:type_name -> tfplugin6.Schema - 57, // 12: tfplugin6.ActionSchema.unlinked:type_name -> tfplugin6.ActionSchema.Unlinked + 64, // 12: tfplugin6.ActionSchema.unlinked:type_name -> tfplugin6.ActionSchema.Unlinked 4, // 13: tfplugin6.Deferred.reason:type_name -> tfplugin6.Deferred.Reason 5, // 14: tfplugin6.LinkedResourceConfig.config:type_name -> tfplugin6.DynamicValue - 51, // 15: tfplugin6.Schema.Block.attributes:type_name -> tfplugin6.Schema.Attribute - 52, // 16: tfplugin6.Schema.Block.block_types:type_name -> tfplugin6.Schema.NestedBlock + 58, // 15: tfplugin6.Schema.Block.attributes:type_name -> tfplugin6.Schema.Attribute + 59, // 16: tfplugin6.Schema.Block.block_types:type_name -> tfplugin6.Schema.NestedBlock 0, // 17: tfplugin6.Schema.Block.description_kind:type_name -> tfplugin6.StringKind - 53, // 18: tfplugin6.Schema.Attribute.nested_type:type_name -> tfplugin6.Schema.Object + 60, // 18: tfplugin6.Schema.Attribute.nested_type:type_name -> tfplugin6.Schema.Object 0, // 19: tfplugin6.Schema.Attribute.description_kind:type_name -> tfplugin6.StringKind - 50, // 20: tfplugin6.Schema.NestedBlock.block:type_name -> tfplugin6.Schema.Block + 57, // 20: tfplugin6.Schema.NestedBlock.block:type_name -> tfplugin6.Schema.Block 2, // 21: tfplugin6.Schema.NestedBlock.nesting:type_name -> tfplugin6.Schema.NestedBlock.NestingMode - 51, // 22: tfplugin6.Schema.Object.attributes:type_name -> tfplugin6.Schema.Attribute + 58, // 22: tfplugin6.Schema.Object.attributes:type_name -> tfplugin6.Schema.Attribute 3, // 23: tfplugin6.Schema.Object.nesting:type_name -> tfplugin6.Schema.Object.NestingMode 0, // 24: tfplugin6.Function.Parameter.description_kind:type_name -> tfplugin6.StringKind 16, // 25: tfplugin6.GetMetadata.Response.server_capabilities:type_name -> tfplugin6.ServerCapabilities 6, // 26: tfplugin6.GetMetadata.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 61, // 27: tfplugin6.GetMetadata.Response.data_sources:type_name -> tfplugin6.GetMetadata.DataSourceMetadata - 62, // 28: tfplugin6.GetMetadata.Response.resources:type_name -> tfplugin6.GetMetadata.ResourceMetadata - 60, // 29: tfplugin6.GetMetadata.Response.functions:type_name -> tfplugin6.GetMetadata.FunctionMetadata - 63, // 30: tfplugin6.GetMetadata.Response.ephemeral_resources:type_name -> tfplugin6.GetMetadata.EphemeralResourceMetadata - 64, // 31: tfplugin6.GetMetadata.Response.list_resources:type_name -> tfplugin6.GetMetadata.ListResourceMetadata - 65, // 32: tfplugin6.GetMetadata.Response.actions:type_name -> tfplugin6.GetMetadata.ActionMetadata + 68, // 27: tfplugin6.GetMetadata.Response.data_sources:type_name -> tfplugin6.GetMetadata.DataSourceMetadata + 69, // 28: tfplugin6.GetMetadata.Response.resources:type_name -> tfplugin6.GetMetadata.ResourceMetadata + 67, // 29: tfplugin6.GetMetadata.Response.functions:type_name -> tfplugin6.GetMetadata.FunctionMetadata + 70, // 30: tfplugin6.GetMetadata.Response.ephemeral_resources:type_name -> tfplugin6.GetMetadata.EphemeralResourceMetadata + 71, // 31: tfplugin6.GetMetadata.Response.list_resources:type_name -> tfplugin6.GetMetadata.ListResourceMetadata + 72, // 32: tfplugin6.GetMetadata.Response.actions:type_name -> tfplugin6.GetMetadata.ActionMetadata 11, // 33: tfplugin6.GetProviderSchema.Response.provider:type_name -> tfplugin6.Schema - 68, // 34: tfplugin6.GetProviderSchema.Response.resource_schemas:type_name -> tfplugin6.GetProviderSchema.Response.ResourceSchemasEntry - 69, // 35: tfplugin6.GetProviderSchema.Response.data_source_schemas:type_name -> tfplugin6.GetProviderSchema.Response.DataSourceSchemasEntry + 75, // 34: tfplugin6.GetProviderSchema.Response.resource_schemas:type_name -> tfplugin6.GetProviderSchema.Response.ResourceSchemasEntry + 76, // 35: tfplugin6.GetProviderSchema.Response.data_source_schemas:type_name -> tfplugin6.GetProviderSchema.Response.DataSourceSchemasEntry 6, // 36: tfplugin6.GetProviderSchema.Response.diagnostics:type_name -> tfplugin6.Diagnostic 11, // 37: tfplugin6.GetProviderSchema.Response.provider_meta:type_name -> tfplugin6.Schema 16, // 38: tfplugin6.GetProviderSchema.Response.server_capabilities:type_name -> tfplugin6.ServerCapabilities - 70, // 39: tfplugin6.GetProviderSchema.Response.functions:type_name -> tfplugin6.GetProviderSchema.Response.FunctionsEntry - 71, // 40: tfplugin6.GetProviderSchema.Response.ephemeral_resource_schemas:type_name -> tfplugin6.GetProviderSchema.Response.EphemeralResourceSchemasEntry - 72, // 41: tfplugin6.GetProviderSchema.Response.list_resource_schemas:type_name -> tfplugin6.GetProviderSchema.Response.ListResourceSchemasEntry - 73, // 42: tfplugin6.GetProviderSchema.Response.action_schemas:type_name -> tfplugin6.GetProviderSchema.Response.ActionSchemasEntry - 11, // 43: tfplugin6.GetProviderSchema.Response.ResourceSchemasEntry.value:type_name -> tfplugin6.Schema - 11, // 44: tfplugin6.GetProviderSchema.Response.DataSourceSchemasEntry.value:type_name -> tfplugin6.Schema - 14, // 45: tfplugin6.GetProviderSchema.Response.FunctionsEntry.value:type_name -> tfplugin6.Function - 11, // 46: tfplugin6.GetProviderSchema.Response.EphemeralResourceSchemasEntry.value:type_name -> tfplugin6.Schema - 11, // 47: tfplugin6.GetProviderSchema.Response.ListResourceSchemasEntry.value:type_name -> tfplugin6.Schema - 15, // 48: tfplugin6.GetProviderSchema.Response.ActionSchemasEntry.value:type_name -> tfplugin6.ActionSchema - 5, // 49: tfplugin6.ValidateProviderConfig.Request.config:type_name -> tfplugin6.DynamicValue - 6, // 50: tfplugin6.ValidateProviderConfig.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 10, // 51: tfplugin6.UpgradeResourceState.Request.raw_state:type_name -> tfplugin6.RawState - 5, // 52: tfplugin6.UpgradeResourceState.Response.upgraded_state:type_name -> tfplugin6.DynamicValue - 6, // 53: tfplugin6.UpgradeResourceState.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 5, // 54: tfplugin6.ValidateResourceConfig.Request.config:type_name -> tfplugin6.DynamicValue - 17, // 55: tfplugin6.ValidateResourceConfig.Request.client_capabilities:type_name -> tfplugin6.ClientCapabilities - 6, // 56: tfplugin6.ValidateResourceConfig.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 5, // 57: tfplugin6.ValidateDataResourceConfig.Request.config:type_name -> tfplugin6.DynamicValue - 6, // 58: tfplugin6.ValidateDataResourceConfig.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 5, // 59: tfplugin6.ConfigureProvider.Request.config:type_name -> tfplugin6.DynamicValue - 17, // 60: tfplugin6.ConfigureProvider.Request.client_capabilities:type_name -> tfplugin6.ClientCapabilities - 6, // 61: tfplugin6.ConfigureProvider.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 5, // 62: tfplugin6.ReadResource.Request.current_state:type_name -> tfplugin6.DynamicValue - 5, // 63: tfplugin6.ReadResource.Request.provider_meta:type_name -> tfplugin6.DynamicValue - 17, // 64: tfplugin6.ReadResource.Request.client_capabilities:type_name -> tfplugin6.ClientCapabilities - 13, // 65: tfplugin6.ReadResource.Request.current_identity:type_name -> tfplugin6.ResourceIdentityData - 5, // 66: tfplugin6.ReadResource.Response.new_state:type_name -> tfplugin6.DynamicValue - 6, // 67: tfplugin6.ReadResource.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 18, // 68: tfplugin6.ReadResource.Response.deferred:type_name -> tfplugin6.Deferred - 13, // 69: tfplugin6.ReadResource.Response.new_identity:type_name -> tfplugin6.ResourceIdentityData - 5, // 70: tfplugin6.PlanResourceChange.Request.prior_state:type_name -> tfplugin6.DynamicValue - 5, // 71: tfplugin6.PlanResourceChange.Request.proposed_new_state:type_name -> tfplugin6.DynamicValue - 5, // 72: tfplugin6.PlanResourceChange.Request.config:type_name -> tfplugin6.DynamicValue - 5, // 73: tfplugin6.PlanResourceChange.Request.provider_meta:type_name -> tfplugin6.DynamicValue - 17, // 74: tfplugin6.PlanResourceChange.Request.client_capabilities:type_name -> tfplugin6.ClientCapabilities - 13, // 75: tfplugin6.PlanResourceChange.Request.prior_identity:type_name -> tfplugin6.ResourceIdentityData - 5, // 76: tfplugin6.PlanResourceChange.Response.planned_state:type_name -> tfplugin6.DynamicValue - 8, // 77: tfplugin6.PlanResourceChange.Response.requires_replace:type_name -> tfplugin6.AttributePath - 6, // 78: tfplugin6.PlanResourceChange.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 18, // 79: tfplugin6.PlanResourceChange.Response.deferred:type_name -> tfplugin6.Deferred - 13, // 80: tfplugin6.PlanResourceChange.Response.planned_identity:type_name -> tfplugin6.ResourceIdentityData - 5, // 81: tfplugin6.ApplyResourceChange.Request.prior_state:type_name -> tfplugin6.DynamicValue - 5, // 82: tfplugin6.ApplyResourceChange.Request.planned_state:type_name -> tfplugin6.DynamicValue - 5, // 83: tfplugin6.ApplyResourceChange.Request.config:type_name -> tfplugin6.DynamicValue - 5, // 84: tfplugin6.ApplyResourceChange.Request.provider_meta:type_name -> tfplugin6.DynamicValue - 13, // 85: tfplugin6.ApplyResourceChange.Request.planned_identity:type_name -> tfplugin6.ResourceIdentityData - 5, // 86: tfplugin6.ApplyResourceChange.Response.new_state:type_name -> tfplugin6.DynamicValue - 6, // 87: tfplugin6.ApplyResourceChange.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 13, // 88: tfplugin6.ApplyResourceChange.Response.new_identity:type_name -> tfplugin6.ResourceIdentityData - 17, // 89: tfplugin6.ImportResourceState.Request.client_capabilities:type_name -> tfplugin6.ClientCapabilities - 13, // 90: tfplugin6.ImportResourceState.Request.identity:type_name -> tfplugin6.ResourceIdentityData - 5, // 91: tfplugin6.ImportResourceState.ImportedResource.state:type_name -> tfplugin6.DynamicValue - 13, // 92: tfplugin6.ImportResourceState.ImportedResource.identity:type_name -> tfplugin6.ResourceIdentityData - 91, // 93: tfplugin6.ImportResourceState.Response.imported_resources:type_name -> tfplugin6.ImportResourceState.ImportedResource - 6, // 94: tfplugin6.ImportResourceState.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 18, // 95: tfplugin6.ImportResourceState.Response.deferred:type_name -> tfplugin6.Deferred - 10, // 96: tfplugin6.MoveResourceState.Request.source_state:type_name -> tfplugin6.RawState - 10, // 97: tfplugin6.MoveResourceState.Request.source_identity:type_name -> tfplugin6.RawState - 5, // 98: tfplugin6.MoveResourceState.Response.target_state:type_name -> tfplugin6.DynamicValue - 6, // 99: tfplugin6.MoveResourceState.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 13, // 100: tfplugin6.MoveResourceState.Response.target_identity:type_name -> tfplugin6.ResourceIdentityData - 5, // 101: tfplugin6.ReadDataSource.Request.config:type_name -> tfplugin6.DynamicValue - 5, // 102: tfplugin6.ReadDataSource.Request.provider_meta:type_name -> tfplugin6.DynamicValue - 17, // 103: tfplugin6.ReadDataSource.Request.client_capabilities:type_name -> tfplugin6.ClientCapabilities - 5, // 104: tfplugin6.ReadDataSource.Response.state:type_name -> tfplugin6.DynamicValue - 6, // 105: tfplugin6.ReadDataSource.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 18, // 106: tfplugin6.ReadDataSource.Response.deferred:type_name -> tfplugin6.Deferred - 99, // 107: tfplugin6.GetFunctions.Response.functions:type_name -> tfplugin6.GetFunctions.Response.FunctionsEntry - 6, // 108: tfplugin6.GetFunctions.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 14, // 109: tfplugin6.GetFunctions.Response.FunctionsEntry.value:type_name -> tfplugin6.Function - 5, // 110: tfplugin6.CallFunction.Request.arguments:type_name -> tfplugin6.DynamicValue - 5, // 111: tfplugin6.CallFunction.Response.result:type_name -> tfplugin6.DynamicValue - 7, // 112: tfplugin6.CallFunction.Response.error:type_name -> tfplugin6.FunctionError - 5, // 113: tfplugin6.ValidateEphemeralResourceConfig.Request.config:type_name -> tfplugin6.DynamicValue - 6, // 114: tfplugin6.ValidateEphemeralResourceConfig.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 5, // 115: tfplugin6.OpenEphemeralResource.Request.config:type_name -> tfplugin6.DynamicValue - 17, // 116: tfplugin6.OpenEphemeralResource.Request.client_capabilities:type_name -> tfplugin6.ClientCapabilities - 6, // 117: tfplugin6.OpenEphemeralResource.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 131, // 118: tfplugin6.OpenEphemeralResource.Response.renew_at:type_name -> google.protobuf.Timestamp - 5, // 119: tfplugin6.OpenEphemeralResource.Response.result:type_name -> tfplugin6.DynamicValue - 18, // 120: tfplugin6.OpenEphemeralResource.Response.deferred:type_name -> tfplugin6.Deferred - 6, // 121: tfplugin6.RenewEphemeralResource.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 131, // 122: tfplugin6.RenewEphemeralResource.Response.renew_at:type_name -> google.protobuf.Timestamp - 6, // 123: tfplugin6.CloseEphemeralResource.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 112, // 124: tfplugin6.GetResourceIdentitySchemas.Response.identity_schemas:type_name -> tfplugin6.GetResourceIdentitySchemas.Response.IdentitySchemasEntry - 6, // 125: tfplugin6.GetResourceIdentitySchemas.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 12, // 126: tfplugin6.GetResourceIdentitySchemas.Response.IdentitySchemasEntry.value:type_name -> tfplugin6.ResourceIdentitySchema - 10, // 127: tfplugin6.UpgradeResourceIdentity.Request.raw_identity:type_name -> tfplugin6.RawState - 13, // 128: tfplugin6.UpgradeResourceIdentity.Response.upgraded_identity:type_name -> tfplugin6.ResourceIdentityData - 6, // 129: tfplugin6.UpgradeResourceIdentity.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 5, // 130: tfplugin6.ListResource.Request.config:type_name -> tfplugin6.DynamicValue - 13, // 131: tfplugin6.ListResource.Event.identity:type_name -> tfplugin6.ResourceIdentityData - 5, // 132: tfplugin6.ListResource.Event.resource_object:type_name -> tfplugin6.DynamicValue - 6, // 133: tfplugin6.ListResource.Event.diagnostic:type_name -> tfplugin6.Diagnostic - 5, // 134: tfplugin6.ValidateListResourceConfig.Request.config:type_name -> tfplugin6.DynamicValue - 5, // 135: tfplugin6.ValidateListResourceConfig.Request.include_resource_object:type_name -> tfplugin6.DynamicValue - 5, // 136: tfplugin6.ValidateListResourceConfig.Request.limit:type_name -> tfplugin6.DynamicValue - 6, // 137: tfplugin6.ValidateListResourceConfig.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 5, // 138: tfplugin6.ValidateActionConfig.Request.config:type_name -> tfplugin6.DynamicValue - 43, // 139: tfplugin6.ValidateActionConfig.Request.linked_resources:type_name -> tfplugin6.LinkedResourceConfig - 6, // 140: tfplugin6.ValidateActionConfig.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 123, // 141: tfplugin6.PlanAction.Request.linked_resources:type_name -> tfplugin6.PlanAction.Request.LinkedResource - 5, // 142: tfplugin6.PlanAction.Request.config:type_name -> tfplugin6.DynamicValue - 17, // 143: tfplugin6.PlanAction.Request.client_capabilities:type_name -> tfplugin6.ClientCapabilities - 124, // 144: tfplugin6.PlanAction.Response.linked_resources:type_name -> tfplugin6.PlanAction.Response.LinkedResource - 6, // 145: tfplugin6.PlanAction.Response.diagnostics:type_name -> tfplugin6.Diagnostic - 18, // 146: tfplugin6.PlanAction.Response.deferred:type_name -> tfplugin6.Deferred - 5, // 147: tfplugin6.PlanAction.Request.LinkedResource.prior_state:type_name -> tfplugin6.DynamicValue - 5, // 148: tfplugin6.PlanAction.Request.LinkedResource.planned_state:type_name -> tfplugin6.DynamicValue - 5, // 149: tfplugin6.PlanAction.Request.LinkedResource.config:type_name -> tfplugin6.DynamicValue - 13, // 150: tfplugin6.PlanAction.Request.LinkedResource.prior_identity:type_name -> tfplugin6.ResourceIdentityData - 5, // 151: tfplugin6.PlanAction.Response.LinkedResource.planned_state:type_name -> tfplugin6.DynamicValue - 13, // 152: tfplugin6.PlanAction.Response.LinkedResource.planned_identity:type_name -> tfplugin6.ResourceIdentityData - 127, // 153: tfplugin6.InvokeAction.Request.linked_resources:type_name -> tfplugin6.InvokeAction.Request.LinkedResource - 5, // 154: tfplugin6.InvokeAction.Request.config:type_name -> tfplugin6.DynamicValue - 128, // 155: tfplugin6.InvokeAction.Event.progress:type_name -> tfplugin6.InvokeAction.Event.Progress - 129, // 156: tfplugin6.InvokeAction.Event.completed:type_name -> tfplugin6.InvokeAction.Event.Completed - 5, // 157: tfplugin6.InvokeAction.Request.LinkedResource.prior_state:type_name -> tfplugin6.DynamicValue - 5, // 158: tfplugin6.InvokeAction.Request.LinkedResource.planned_state:type_name -> tfplugin6.DynamicValue - 5, // 159: tfplugin6.InvokeAction.Request.LinkedResource.config:type_name -> tfplugin6.DynamicValue - 13, // 160: tfplugin6.InvokeAction.Request.LinkedResource.planned_identity:type_name -> tfplugin6.ResourceIdentityData - 130, // 161: tfplugin6.InvokeAction.Event.Completed.linked_resources:type_name -> tfplugin6.InvokeAction.Event.Completed.LinkedResource - 6, // 162: tfplugin6.InvokeAction.Event.Completed.diagnostics:type_name -> tfplugin6.Diagnostic - 5, // 163: tfplugin6.InvokeAction.Event.Completed.LinkedResource.new_state:type_name -> tfplugin6.DynamicValue - 13, // 164: tfplugin6.InvokeAction.Event.Completed.LinkedResource.new_identity:type_name -> tfplugin6.ResourceIdentityData - 58, // 165: tfplugin6.Provider.GetMetadata:input_type -> tfplugin6.GetMetadata.Request - 66, // 166: tfplugin6.Provider.GetProviderSchema:input_type -> tfplugin6.GetProviderSchema.Request - 110, // 167: tfplugin6.Provider.GetResourceIdentitySchemas:input_type -> tfplugin6.GetResourceIdentitySchemas.Request - 74, // 168: tfplugin6.Provider.ValidateProviderConfig:input_type -> tfplugin6.ValidateProviderConfig.Request - 78, // 169: tfplugin6.Provider.ValidateResourceConfig:input_type -> tfplugin6.ValidateResourceConfig.Request - 80, // 170: tfplugin6.Provider.ValidateDataResourceConfig:input_type -> tfplugin6.ValidateDataResourceConfig.Request - 76, // 171: tfplugin6.Provider.UpgradeResourceState:input_type -> tfplugin6.UpgradeResourceState.Request - 113, // 172: tfplugin6.Provider.UpgradeResourceIdentity:input_type -> tfplugin6.UpgradeResourceIdentity.Request - 82, // 173: tfplugin6.Provider.ConfigureProvider:input_type -> tfplugin6.ConfigureProvider.Request - 84, // 174: tfplugin6.Provider.ReadResource:input_type -> tfplugin6.ReadResource.Request - 86, // 175: tfplugin6.Provider.PlanResourceChange:input_type -> tfplugin6.PlanResourceChange.Request - 88, // 176: tfplugin6.Provider.ApplyResourceChange:input_type -> tfplugin6.ApplyResourceChange.Request - 90, // 177: tfplugin6.Provider.ImportResourceState:input_type -> tfplugin6.ImportResourceState.Request - 93, // 178: tfplugin6.Provider.MoveResourceState:input_type -> tfplugin6.MoveResourceState.Request - 95, // 179: tfplugin6.Provider.ReadDataSource:input_type -> tfplugin6.ReadDataSource.Request - 102, // 180: tfplugin6.Provider.ValidateEphemeralResourceConfig:input_type -> tfplugin6.ValidateEphemeralResourceConfig.Request - 104, // 181: tfplugin6.Provider.OpenEphemeralResource:input_type -> tfplugin6.OpenEphemeralResource.Request - 106, // 182: tfplugin6.Provider.RenewEphemeralResource:input_type -> tfplugin6.RenewEphemeralResource.Request - 108, // 183: tfplugin6.Provider.CloseEphemeralResource:input_type -> tfplugin6.CloseEphemeralResource.Request - 115, // 184: tfplugin6.Provider.ListResource:input_type -> tfplugin6.ListResource.Request - 117, // 185: tfplugin6.Provider.ValidateListResourceConfig:input_type -> tfplugin6.ValidateListResourceConfig.Request - 97, // 186: tfplugin6.Provider.GetFunctions:input_type -> tfplugin6.GetFunctions.Request - 100, // 187: tfplugin6.Provider.CallFunction:input_type -> tfplugin6.CallFunction.Request - 119, // 188: tfplugin6.Provider.ValidateActionConfig:input_type -> tfplugin6.ValidateActionConfig.Request - 121, // 189: tfplugin6.Provider.PlanAction:input_type -> tfplugin6.PlanAction.Request - 125, // 190: tfplugin6.Provider.InvokeAction:input_type -> tfplugin6.InvokeAction.Request - 47, // 191: tfplugin6.Provider.StopProvider:input_type -> tfplugin6.StopProvider.Request - 59, // 192: tfplugin6.Provider.GetMetadata:output_type -> tfplugin6.GetMetadata.Response - 67, // 193: tfplugin6.Provider.GetProviderSchema:output_type -> tfplugin6.GetProviderSchema.Response - 111, // 194: tfplugin6.Provider.GetResourceIdentitySchemas:output_type -> tfplugin6.GetResourceIdentitySchemas.Response - 75, // 195: tfplugin6.Provider.ValidateProviderConfig:output_type -> tfplugin6.ValidateProviderConfig.Response - 79, // 196: tfplugin6.Provider.ValidateResourceConfig:output_type -> tfplugin6.ValidateResourceConfig.Response - 81, // 197: tfplugin6.Provider.ValidateDataResourceConfig:output_type -> tfplugin6.ValidateDataResourceConfig.Response - 77, // 198: tfplugin6.Provider.UpgradeResourceState:output_type -> tfplugin6.UpgradeResourceState.Response - 114, // 199: tfplugin6.Provider.UpgradeResourceIdentity:output_type -> tfplugin6.UpgradeResourceIdentity.Response - 83, // 200: tfplugin6.Provider.ConfigureProvider:output_type -> tfplugin6.ConfigureProvider.Response - 85, // 201: tfplugin6.Provider.ReadResource:output_type -> tfplugin6.ReadResource.Response - 87, // 202: tfplugin6.Provider.PlanResourceChange:output_type -> tfplugin6.PlanResourceChange.Response - 89, // 203: tfplugin6.Provider.ApplyResourceChange:output_type -> tfplugin6.ApplyResourceChange.Response - 92, // 204: tfplugin6.Provider.ImportResourceState:output_type -> tfplugin6.ImportResourceState.Response - 94, // 205: tfplugin6.Provider.MoveResourceState:output_type -> tfplugin6.MoveResourceState.Response - 96, // 206: tfplugin6.Provider.ReadDataSource:output_type -> tfplugin6.ReadDataSource.Response - 103, // 207: tfplugin6.Provider.ValidateEphemeralResourceConfig:output_type -> tfplugin6.ValidateEphemeralResourceConfig.Response - 105, // 208: tfplugin6.Provider.OpenEphemeralResource:output_type -> tfplugin6.OpenEphemeralResource.Response - 107, // 209: tfplugin6.Provider.RenewEphemeralResource:output_type -> tfplugin6.RenewEphemeralResource.Response - 109, // 210: tfplugin6.Provider.CloseEphemeralResource:output_type -> tfplugin6.CloseEphemeralResource.Response - 116, // 211: tfplugin6.Provider.ListResource:output_type -> tfplugin6.ListResource.Event - 118, // 212: tfplugin6.Provider.ValidateListResourceConfig:output_type -> tfplugin6.ValidateListResourceConfig.Response - 98, // 213: tfplugin6.Provider.GetFunctions:output_type -> tfplugin6.GetFunctions.Response - 101, // 214: tfplugin6.Provider.CallFunction:output_type -> tfplugin6.CallFunction.Response - 120, // 215: tfplugin6.Provider.ValidateActionConfig:output_type -> tfplugin6.ValidateActionConfig.Response - 122, // 216: tfplugin6.Provider.PlanAction:output_type -> tfplugin6.PlanAction.Response - 126, // 217: tfplugin6.Provider.InvokeAction:output_type -> tfplugin6.InvokeAction.Event - 48, // 218: tfplugin6.Provider.StopProvider:output_type -> tfplugin6.StopProvider.Response - 192, // [192:219] is the sub-list for method output_type - 165, // [165:192] is the sub-list for method input_type - 165, // [165:165] is the sub-list for extension type_name - 165, // [165:165] is the sub-list for extension extendee - 0, // [0:165] is the sub-list for field type_name + 77, // 39: tfplugin6.GetProviderSchema.Response.functions:type_name -> tfplugin6.GetProviderSchema.Response.FunctionsEntry + 78, // 40: tfplugin6.GetProviderSchema.Response.ephemeral_resource_schemas:type_name -> tfplugin6.GetProviderSchema.Response.EphemeralResourceSchemasEntry + 79, // 41: tfplugin6.GetProviderSchema.Response.list_resource_schemas:type_name -> tfplugin6.GetProviderSchema.Response.ListResourceSchemasEntry + 80, // 42: tfplugin6.GetProviderSchema.Response.state_store_schemas:type_name -> tfplugin6.GetProviderSchema.Response.StateStoreSchemasEntry + 81, // 43: tfplugin6.GetProviderSchema.Response.action_schemas:type_name -> tfplugin6.GetProviderSchema.Response.ActionSchemasEntry + 11, // 44: tfplugin6.GetProviderSchema.Response.ResourceSchemasEntry.value:type_name -> tfplugin6.Schema + 11, // 45: tfplugin6.GetProviderSchema.Response.DataSourceSchemasEntry.value:type_name -> tfplugin6.Schema + 14, // 46: tfplugin6.GetProviderSchema.Response.FunctionsEntry.value:type_name -> tfplugin6.Function + 11, // 47: tfplugin6.GetProviderSchema.Response.EphemeralResourceSchemasEntry.value:type_name -> tfplugin6.Schema + 11, // 48: tfplugin6.GetProviderSchema.Response.ListResourceSchemasEntry.value:type_name -> tfplugin6.Schema + 11, // 49: tfplugin6.GetProviderSchema.Response.StateStoreSchemasEntry.value:type_name -> tfplugin6.Schema + 15, // 50: tfplugin6.GetProviderSchema.Response.ActionSchemasEntry.value:type_name -> tfplugin6.ActionSchema + 5, // 51: tfplugin6.ValidateProviderConfig.Request.config:type_name -> tfplugin6.DynamicValue + 6, // 52: tfplugin6.ValidateProviderConfig.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 10, // 53: tfplugin6.UpgradeResourceState.Request.raw_state:type_name -> tfplugin6.RawState + 5, // 54: tfplugin6.UpgradeResourceState.Response.upgraded_state:type_name -> tfplugin6.DynamicValue + 6, // 55: tfplugin6.UpgradeResourceState.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 5, // 56: tfplugin6.ValidateResourceConfig.Request.config:type_name -> tfplugin6.DynamicValue + 17, // 57: tfplugin6.ValidateResourceConfig.Request.client_capabilities:type_name -> tfplugin6.ClientCapabilities + 6, // 58: tfplugin6.ValidateResourceConfig.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 5, // 59: tfplugin6.ValidateDataResourceConfig.Request.config:type_name -> tfplugin6.DynamicValue + 6, // 60: tfplugin6.ValidateDataResourceConfig.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 5, // 61: tfplugin6.ConfigureProvider.Request.config:type_name -> tfplugin6.DynamicValue + 17, // 62: tfplugin6.ConfigureProvider.Request.client_capabilities:type_name -> tfplugin6.ClientCapabilities + 6, // 63: tfplugin6.ConfigureProvider.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 5, // 64: tfplugin6.ReadResource.Request.current_state:type_name -> tfplugin6.DynamicValue + 5, // 65: tfplugin6.ReadResource.Request.provider_meta:type_name -> tfplugin6.DynamicValue + 17, // 66: tfplugin6.ReadResource.Request.client_capabilities:type_name -> tfplugin6.ClientCapabilities + 13, // 67: tfplugin6.ReadResource.Request.current_identity:type_name -> tfplugin6.ResourceIdentityData + 5, // 68: tfplugin6.ReadResource.Response.new_state:type_name -> tfplugin6.DynamicValue + 6, // 69: tfplugin6.ReadResource.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 18, // 70: tfplugin6.ReadResource.Response.deferred:type_name -> tfplugin6.Deferred + 13, // 71: tfplugin6.ReadResource.Response.new_identity:type_name -> tfplugin6.ResourceIdentityData + 5, // 72: tfplugin6.PlanResourceChange.Request.prior_state:type_name -> tfplugin6.DynamicValue + 5, // 73: tfplugin6.PlanResourceChange.Request.proposed_new_state:type_name -> tfplugin6.DynamicValue + 5, // 74: tfplugin6.PlanResourceChange.Request.config:type_name -> tfplugin6.DynamicValue + 5, // 75: tfplugin6.PlanResourceChange.Request.provider_meta:type_name -> tfplugin6.DynamicValue + 17, // 76: tfplugin6.PlanResourceChange.Request.client_capabilities:type_name -> tfplugin6.ClientCapabilities + 13, // 77: tfplugin6.PlanResourceChange.Request.prior_identity:type_name -> tfplugin6.ResourceIdentityData + 5, // 78: tfplugin6.PlanResourceChange.Response.planned_state:type_name -> tfplugin6.DynamicValue + 8, // 79: tfplugin6.PlanResourceChange.Response.requires_replace:type_name -> tfplugin6.AttributePath + 6, // 80: tfplugin6.PlanResourceChange.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 18, // 81: tfplugin6.PlanResourceChange.Response.deferred:type_name -> tfplugin6.Deferred + 13, // 82: tfplugin6.PlanResourceChange.Response.planned_identity:type_name -> tfplugin6.ResourceIdentityData + 5, // 83: tfplugin6.ApplyResourceChange.Request.prior_state:type_name -> tfplugin6.DynamicValue + 5, // 84: tfplugin6.ApplyResourceChange.Request.planned_state:type_name -> tfplugin6.DynamicValue + 5, // 85: tfplugin6.ApplyResourceChange.Request.config:type_name -> tfplugin6.DynamicValue + 5, // 86: tfplugin6.ApplyResourceChange.Request.provider_meta:type_name -> tfplugin6.DynamicValue + 13, // 87: tfplugin6.ApplyResourceChange.Request.planned_identity:type_name -> tfplugin6.ResourceIdentityData + 5, // 88: tfplugin6.ApplyResourceChange.Response.new_state:type_name -> tfplugin6.DynamicValue + 6, // 89: tfplugin6.ApplyResourceChange.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 13, // 90: tfplugin6.ApplyResourceChange.Response.new_identity:type_name -> tfplugin6.ResourceIdentityData + 17, // 91: tfplugin6.ImportResourceState.Request.client_capabilities:type_name -> tfplugin6.ClientCapabilities + 13, // 92: tfplugin6.ImportResourceState.Request.identity:type_name -> tfplugin6.ResourceIdentityData + 5, // 93: tfplugin6.ImportResourceState.ImportedResource.state:type_name -> tfplugin6.DynamicValue + 13, // 94: tfplugin6.ImportResourceState.ImportedResource.identity:type_name -> tfplugin6.ResourceIdentityData + 99, // 95: tfplugin6.ImportResourceState.Response.imported_resources:type_name -> tfplugin6.ImportResourceState.ImportedResource + 6, // 96: tfplugin6.ImportResourceState.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 18, // 97: tfplugin6.ImportResourceState.Response.deferred:type_name -> tfplugin6.Deferred + 10, // 98: tfplugin6.MoveResourceState.Request.source_state:type_name -> tfplugin6.RawState + 10, // 99: tfplugin6.MoveResourceState.Request.source_identity:type_name -> tfplugin6.RawState + 5, // 100: tfplugin6.MoveResourceState.Response.target_state:type_name -> tfplugin6.DynamicValue + 6, // 101: tfplugin6.MoveResourceState.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 13, // 102: tfplugin6.MoveResourceState.Response.target_identity:type_name -> tfplugin6.ResourceIdentityData + 5, // 103: tfplugin6.ReadDataSource.Request.config:type_name -> tfplugin6.DynamicValue + 5, // 104: tfplugin6.ReadDataSource.Request.provider_meta:type_name -> tfplugin6.DynamicValue + 17, // 105: tfplugin6.ReadDataSource.Request.client_capabilities:type_name -> tfplugin6.ClientCapabilities + 5, // 106: tfplugin6.ReadDataSource.Response.state:type_name -> tfplugin6.DynamicValue + 6, // 107: tfplugin6.ReadDataSource.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 18, // 108: tfplugin6.ReadDataSource.Response.deferred:type_name -> tfplugin6.Deferred + 107, // 109: tfplugin6.GetFunctions.Response.functions:type_name -> tfplugin6.GetFunctions.Response.FunctionsEntry + 6, // 110: tfplugin6.GetFunctions.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 14, // 111: tfplugin6.GetFunctions.Response.FunctionsEntry.value:type_name -> tfplugin6.Function + 5, // 112: tfplugin6.CallFunction.Request.arguments:type_name -> tfplugin6.DynamicValue + 5, // 113: tfplugin6.CallFunction.Response.result:type_name -> tfplugin6.DynamicValue + 7, // 114: tfplugin6.CallFunction.Response.error:type_name -> tfplugin6.FunctionError + 5, // 115: tfplugin6.ValidateEphemeralResourceConfig.Request.config:type_name -> tfplugin6.DynamicValue + 6, // 116: tfplugin6.ValidateEphemeralResourceConfig.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 5, // 117: tfplugin6.OpenEphemeralResource.Request.config:type_name -> tfplugin6.DynamicValue + 17, // 118: tfplugin6.OpenEphemeralResource.Request.client_capabilities:type_name -> tfplugin6.ClientCapabilities + 6, // 119: tfplugin6.OpenEphemeralResource.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 151, // 120: tfplugin6.OpenEphemeralResource.Response.renew_at:type_name -> google.protobuf.Timestamp + 5, // 121: tfplugin6.OpenEphemeralResource.Response.result:type_name -> tfplugin6.DynamicValue + 18, // 122: tfplugin6.OpenEphemeralResource.Response.deferred:type_name -> tfplugin6.Deferred + 6, // 123: tfplugin6.RenewEphemeralResource.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 151, // 124: tfplugin6.RenewEphemeralResource.Response.renew_at:type_name -> google.protobuf.Timestamp + 6, // 125: tfplugin6.CloseEphemeralResource.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 120, // 126: tfplugin6.GetResourceIdentitySchemas.Response.identity_schemas:type_name -> tfplugin6.GetResourceIdentitySchemas.Response.IdentitySchemasEntry + 6, // 127: tfplugin6.GetResourceIdentitySchemas.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 12, // 128: tfplugin6.GetResourceIdentitySchemas.Response.IdentitySchemasEntry.value:type_name -> tfplugin6.ResourceIdentitySchema + 10, // 129: tfplugin6.UpgradeResourceIdentity.Request.raw_identity:type_name -> tfplugin6.RawState + 13, // 130: tfplugin6.UpgradeResourceIdentity.Response.upgraded_identity:type_name -> tfplugin6.ResourceIdentityData + 6, // 131: tfplugin6.UpgradeResourceIdentity.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 5, // 132: tfplugin6.ListResource.Request.config:type_name -> tfplugin6.DynamicValue + 13, // 133: tfplugin6.ListResource.Event.identity:type_name -> tfplugin6.ResourceIdentityData + 5, // 134: tfplugin6.ListResource.Event.resource_object:type_name -> tfplugin6.DynamicValue + 6, // 135: tfplugin6.ListResource.Event.diagnostic:type_name -> tfplugin6.Diagnostic + 5, // 136: tfplugin6.ValidateListResourceConfig.Request.config:type_name -> tfplugin6.DynamicValue + 5, // 137: tfplugin6.ValidateListResourceConfig.Request.include_resource_object:type_name -> tfplugin6.DynamicValue + 5, // 138: tfplugin6.ValidateListResourceConfig.Request.limit:type_name -> tfplugin6.DynamicValue + 6, // 139: tfplugin6.ValidateListResourceConfig.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 5, // 140: tfplugin6.ValidateActionConfig.Request.config:type_name -> tfplugin6.DynamicValue + 43, // 141: tfplugin6.ValidateActionConfig.Request.linked_resources:type_name -> tfplugin6.LinkedResourceConfig + 6, // 142: tfplugin6.ValidateActionConfig.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 131, // 143: tfplugin6.PlanAction.Request.linked_resources:type_name -> tfplugin6.PlanAction.Request.LinkedResource + 5, // 144: tfplugin6.PlanAction.Request.config:type_name -> tfplugin6.DynamicValue + 17, // 145: tfplugin6.PlanAction.Request.client_capabilities:type_name -> tfplugin6.ClientCapabilities + 132, // 146: tfplugin6.PlanAction.Response.linked_resources:type_name -> tfplugin6.PlanAction.Response.LinkedResource + 6, // 147: tfplugin6.PlanAction.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 18, // 148: tfplugin6.PlanAction.Response.deferred:type_name -> tfplugin6.Deferred + 5, // 149: tfplugin6.PlanAction.Request.LinkedResource.prior_state:type_name -> tfplugin6.DynamicValue + 5, // 150: tfplugin6.PlanAction.Request.LinkedResource.planned_state:type_name -> tfplugin6.DynamicValue + 5, // 151: tfplugin6.PlanAction.Request.LinkedResource.config:type_name -> tfplugin6.DynamicValue + 13, // 152: tfplugin6.PlanAction.Request.LinkedResource.prior_identity:type_name -> tfplugin6.ResourceIdentityData + 5, // 153: tfplugin6.PlanAction.Response.LinkedResource.planned_state:type_name -> tfplugin6.DynamicValue + 13, // 154: tfplugin6.PlanAction.Response.LinkedResource.planned_identity:type_name -> tfplugin6.ResourceIdentityData + 135, // 155: tfplugin6.InvokeAction.Request.linked_resources:type_name -> tfplugin6.InvokeAction.Request.LinkedResource + 5, // 156: tfplugin6.InvokeAction.Request.config:type_name -> tfplugin6.DynamicValue + 136, // 157: tfplugin6.InvokeAction.Event.progress:type_name -> tfplugin6.InvokeAction.Event.Progress + 137, // 158: tfplugin6.InvokeAction.Event.completed:type_name -> tfplugin6.InvokeAction.Event.Completed + 5, // 159: tfplugin6.InvokeAction.Request.LinkedResource.prior_state:type_name -> tfplugin6.DynamicValue + 5, // 160: tfplugin6.InvokeAction.Request.LinkedResource.planned_state:type_name -> tfplugin6.DynamicValue + 5, // 161: tfplugin6.InvokeAction.Request.LinkedResource.config:type_name -> tfplugin6.DynamicValue + 13, // 162: tfplugin6.InvokeAction.Request.LinkedResource.planned_identity:type_name -> tfplugin6.ResourceIdentityData + 138, // 163: tfplugin6.InvokeAction.Event.Completed.linked_resources:type_name -> tfplugin6.InvokeAction.Event.Completed.LinkedResource + 6, // 164: tfplugin6.InvokeAction.Event.Completed.diagnostics:type_name -> tfplugin6.Diagnostic + 5, // 165: tfplugin6.InvokeAction.Event.Completed.LinkedResource.new_state:type_name -> tfplugin6.DynamicValue + 13, // 166: tfplugin6.InvokeAction.Event.Completed.LinkedResource.new_identity:type_name -> tfplugin6.ResourceIdentityData + 5, // 167: tfplugin6.ValidateStateStore.Request.config:type_name -> tfplugin6.DynamicValue + 6, // 168: tfplugin6.ValidateStateStore.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 5, // 169: tfplugin6.ConfigureStateStore.Request.config:type_name -> tfplugin6.DynamicValue + 6, // 170: tfplugin6.ConfigureStateStore.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 50, // 171: tfplugin6.ReadStateBytes.Response.range:type_name -> tfplugin6.StateRange + 6, // 172: tfplugin6.ReadStateBytes.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 50, // 173: tfplugin6.WriteStateBytes.RequestChunk.range:type_name -> tfplugin6.StateRange + 6, // 174: tfplugin6.WriteStateBytes.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 6, // 175: tfplugin6.GetStates.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 6, // 176: tfplugin6.DeleteState.Response.diagnostics:type_name -> tfplugin6.Diagnostic + 65, // 177: tfplugin6.Provider.GetMetadata:input_type -> tfplugin6.GetMetadata.Request + 73, // 178: tfplugin6.Provider.GetProviderSchema:input_type -> tfplugin6.GetProviderSchema.Request + 118, // 179: tfplugin6.Provider.GetResourceIdentitySchemas:input_type -> tfplugin6.GetResourceIdentitySchemas.Request + 82, // 180: tfplugin6.Provider.ValidateProviderConfig:input_type -> tfplugin6.ValidateProviderConfig.Request + 86, // 181: tfplugin6.Provider.ValidateResourceConfig:input_type -> tfplugin6.ValidateResourceConfig.Request + 88, // 182: tfplugin6.Provider.ValidateDataResourceConfig:input_type -> tfplugin6.ValidateDataResourceConfig.Request + 84, // 183: tfplugin6.Provider.UpgradeResourceState:input_type -> tfplugin6.UpgradeResourceState.Request + 121, // 184: tfplugin6.Provider.UpgradeResourceIdentity:input_type -> tfplugin6.UpgradeResourceIdentity.Request + 90, // 185: tfplugin6.Provider.ConfigureProvider:input_type -> tfplugin6.ConfigureProvider.Request + 92, // 186: tfplugin6.Provider.ReadResource:input_type -> tfplugin6.ReadResource.Request + 94, // 187: tfplugin6.Provider.PlanResourceChange:input_type -> tfplugin6.PlanResourceChange.Request + 96, // 188: tfplugin6.Provider.ApplyResourceChange:input_type -> tfplugin6.ApplyResourceChange.Request + 98, // 189: tfplugin6.Provider.ImportResourceState:input_type -> tfplugin6.ImportResourceState.Request + 101, // 190: tfplugin6.Provider.MoveResourceState:input_type -> tfplugin6.MoveResourceState.Request + 103, // 191: tfplugin6.Provider.ReadDataSource:input_type -> tfplugin6.ReadDataSource.Request + 110, // 192: tfplugin6.Provider.ValidateEphemeralResourceConfig:input_type -> tfplugin6.ValidateEphemeralResourceConfig.Request + 112, // 193: tfplugin6.Provider.OpenEphemeralResource:input_type -> tfplugin6.OpenEphemeralResource.Request + 114, // 194: tfplugin6.Provider.RenewEphemeralResource:input_type -> tfplugin6.RenewEphemeralResource.Request + 116, // 195: tfplugin6.Provider.CloseEphemeralResource:input_type -> tfplugin6.CloseEphemeralResource.Request + 123, // 196: tfplugin6.Provider.ListResource:input_type -> tfplugin6.ListResource.Request + 125, // 197: tfplugin6.Provider.ValidateListResourceConfig:input_type -> tfplugin6.ValidateListResourceConfig.Request + 105, // 198: tfplugin6.Provider.GetFunctions:input_type -> tfplugin6.GetFunctions.Request + 108, // 199: tfplugin6.Provider.CallFunction:input_type -> tfplugin6.CallFunction.Request + 127, // 200: tfplugin6.Provider.ValidateActionConfig:input_type -> tfplugin6.ValidateActionConfig.Request + 129, // 201: tfplugin6.Provider.PlanAction:input_type -> tfplugin6.PlanAction.Request + 133, // 202: tfplugin6.Provider.InvokeAction:input_type -> tfplugin6.InvokeAction.Request + 139, // 203: tfplugin6.Provider.ValidateStateStoreConfig:input_type -> tfplugin6.ValidateStateStore.Request + 141, // 204: tfplugin6.Provider.ConfigureStateStore:input_type -> tfplugin6.ConfigureStateStore.Request + 143, // 205: tfplugin6.Provider.ReadStateBytes:input_type -> tfplugin6.ReadStateBytes.Request + 145, // 206: tfplugin6.Provider.WriteStateBytes:input_type -> tfplugin6.WriteStateBytes.RequestChunk + 147, // 207: tfplugin6.Provider.GetStates:input_type -> tfplugin6.GetStates.Request + 149, // 208: tfplugin6.Provider.DeleteState:input_type -> tfplugin6.DeleteState.Request + 54, // 209: tfplugin6.Provider.StopProvider:input_type -> tfplugin6.StopProvider.Request + 66, // 210: tfplugin6.Provider.GetMetadata:output_type -> tfplugin6.GetMetadata.Response + 74, // 211: tfplugin6.Provider.GetProviderSchema:output_type -> tfplugin6.GetProviderSchema.Response + 119, // 212: tfplugin6.Provider.GetResourceIdentitySchemas:output_type -> tfplugin6.GetResourceIdentitySchemas.Response + 83, // 213: tfplugin6.Provider.ValidateProviderConfig:output_type -> tfplugin6.ValidateProviderConfig.Response + 87, // 214: tfplugin6.Provider.ValidateResourceConfig:output_type -> tfplugin6.ValidateResourceConfig.Response + 89, // 215: tfplugin6.Provider.ValidateDataResourceConfig:output_type -> tfplugin6.ValidateDataResourceConfig.Response + 85, // 216: tfplugin6.Provider.UpgradeResourceState:output_type -> tfplugin6.UpgradeResourceState.Response + 122, // 217: tfplugin6.Provider.UpgradeResourceIdentity:output_type -> tfplugin6.UpgradeResourceIdentity.Response + 91, // 218: tfplugin6.Provider.ConfigureProvider:output_type -> tfplugin6.ConfigureProvider.Response + 93, // 219: tfplugin6.Provider.ReadResource:output_type -> tfplugin6.ReadResource.Response + 95, // 220: tfplugin6.Provider.PlanResourceChange:output_type -> tfplugin6.PlanResourceChange.Response + 97, // 221: tfplugin6.Provider.ApplyResourceChange:output_type -> tfplugin6.ApplyResourceChange.Response + 100, // 222: tfplugin6.Provider.ImportResourceState:output_type -> tfplugin6.ImportResourceState.Response + 102, // 223: tfplugin6.Provider.MoveResourceState:output_type -> tfplugin6.MoveResourceState.Response + 104, // 224: tfplugin6.Provider.ReadDataSource:output_type -> tfplugin6.ReadDataSource.Response + 111, // 225: tfplugin6.Provider.ValidateEphemeralResourceConfig:output_type -> tfplugin6.ValidateEphemeralResourceConfig.Response + 113, // 226: tfplugin6.Provider.OpenEphemeralResource:output_type -> tfplugin6.OpenEphemeralResource.Response + 115, // 227: tfplugin6.Provider.RenewEphemeralResource:output_type -> tfplugin6.RenewEphemeralResource.Response + 117, // 228: tfplugin6.Provider.CloseEphemeralResource:output_type -> tfplugin6.CloseEphemeralResource.Response + 124, // 229: tfplugin6.Provider.ListResource:output_type -> tfplugin6.ListResource.Event + 126, // 230: tfplugin6.Provider.ValidateListResourceConfig:output_type -> tfplugin6.ValidateListResourceConfig.Response + 106, // 231: tfplugin6.Provider.GetFunctions:output_type -> tfplugin6.GetFunctions.Response + 109, // 232: tfplugin6.Provider.CallFunction:output_type -> tfplugin6.CallFunction.Response + 128, // 233: tfplugin6.Provider.ValidateActionConfig:output_type -> tfplugin6.ValidateActionConfig.Response + 130, // 234: tfplugin6.Provider.PlanAction:output_type -> tfplugin6.PlanAction.Response + 134, // 235: tfplugin6.Provider.InvokeAction:output_type -> tfplugin6.InvokeAction.Event + 140, // 236: tfplugin6.Provider.ValidateStateStoreConfig:output_type -> tfplugin6.ValidateStateStore.Response + 142, // 237: tfplugin6.Provider.ConfigureStateStore:output_type -> tfplugin6.ConfigureStateStore.Response + 144, // 238: tfplugin6.Provider.ReadStateBytes:output_type -> tfplugin6.ReadStateBytes.Response + 146, // 239: tfplugin6.Provider.WriteStateBytes:output_type -> tfplugin6.WriteStateBytes.Response + 148, // 240: tfplugin6.Provider.GetStates:output_type -> tfplugin6.GetStates.Response + 150, // 241: tfplugin6.Provider.DeleteState:output_type -> tfplugin6.DeleteState.Response + 55, // 242: tfplugin6.Provider.StopProvider:output_type -> tfplugin6.StopProvider.Response + 210, // [210:243] is the sub-list for method output_type + 177, // [177:210] is the sub-list for method input_type + 177, // [177:177] is the sub-list for extension type_name + 177, // [177:177] is the sub-list for extension extendee + 0, // [0:177] is the sub-list for field type_name } func init() { file_tfplugin6_proto_init() } @@ -7832,17 +8833,17 @@ func file_tfplugin6_proto_init() { file_tfplugin6_proto_msgTypes[10].OneofWrappers = []any{ (*ActionSchema_Unlinked_)(nil), } - file_tfplugin6_proto_msgTypes[41].OneofWrappers = []any{ + file_tfplugin6_proto_msgTypes[48].OneofWrappers = []any{ (*AttributePath_Step_AttributeName)(nil), (*AttributePath_Step_ElementKeyString)(nil), (*AttributePath_Step_ElementKeyInt)(nil), } - file_tfplugin6_proto_msgTypes[100].OneofWrappers = []any{} - file_tfplugin6_proto_msgTypes[101].OneofWrappers = []any{} - file_tfplugin6_proto_msgTypes[102].OneofWrappers = []any{} - file_tfplugin6_proto_msgTypes[103].OneofWrappers = []any{} + file_tfplugin6_proto_msgTypes[108].OneofWrappers = []any{} + file_tfplugin6_proto_msgTypes[109].OneofWrappers = []any{} + file_tfplugin6_proto_msgTypes[110].OneofWrappers = []any{} file_tfplugin6_proto_msgTypes[111].OneofWrappers = []any{} - file_tfplugin6_proto_msgTypes[121].OneofWrappers = []any{ + file_tfplugin6_proto_msgTypes[119].OneofWrappers = []any{} + file_tfplugin6_proto_msgTypes[129].OneofWrappers = []any{ (*InvokeAction_Event_Progress_)(nil), (*InvokeAction_Event_Completed_)(nil), } @@ -7852,7 +8853,7 @@ func file_tfplugin6_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_tfplugin6_proto_rawDesc), len(file_tfplugin6_proto_rawDesc)), NumEnums: 5, - NumMessages: 126, + NumMessages: 146, NumExtensions: 0, NumServices: 1, }, diff --git a/tfprotov6/internal/tfplugin6/tfplugin6.proto b/tfprotov6/internal/tfplugin6/tfplugin6.proto index 696da9177..24644dbb1 100644 --- a/tfprotov6/internal/tfplugin6/tfplugin6.proto +++ b/tfprotov6/internal/tfplugin6/tfplugin6.proto @@ -397,6 +397,19 @@ service Provider { rpc PlanAction(PlanAction.Request) returns (PlanAction.Response); rpc InvokeAction(InvokeAction.Request) returns (stream InvokeAction.Event); + // ValidateStateStoreConfig performs configuration validation + rpc ValidateStateStoreConfig(ValidateStateStore.Request) returns (ValidateStateStore.Response); + // ConfigureStateStore configures the state store, such as S3 connection in the context of already configured provider + rpc ConfigureStateStore(ConfigureStateStore.Request) returns (ConfigureStateStore.Response); + // ReadStateBytes streams byte chunks of a given state file from a state store + rpc ReadStateBytes(ReadStateBytes.Request) returns (stream ReadStateBytes.Response); + // WriteStateBytes streams byte chunks of a given state file into a state store + rpc WriteStateBytes(stream WriteStateBytes.RequestChunk) returns (WriteStateBytes.Response); + // GetStates returns a list of all states (i.e. CE workspaces) managed by a given state store + rpc GetStates(GetStates.Request) returns (GetStates.Response); + // DeleteState instructs a given state store to delete a specific state (i.e. a CE workspace) + rpc DeleteState(DeleteState.Request) returns (DeleteState.Response); + //////// Graceful Shutdown rpc StopProvider(StopProvider.Request) returns (StopProvider.Response); } @@ -460,7 +473,7 @@ message GetProviderSchema { map functions = 7; map ephemeral_resource_schemas = 8; map list_resource_schemas = 9; - reserved 10; // TODO: Field number 10 will be used by state stores + map state_store_schemas = 10; map action_schemas = 11; } } @@ -977,4 +990,77 @@ message InvokeAction { } } -} \ No newline at end of file +} + +message ValidateStateStore { + message Request { + string type_name = 1; + DynamicValue config = 2; + } + message Response { + repeated Diagnostic diagnostics = 1; + } +} + +message ConfigureStateStore { + message Request { + string type_name = 1; + DynamicValue config = 2; + } + message Response { + repeated Diagnostic diagnostics = 1; + } +} + +message ReadStateBytes { + message Request { + string type_name = 1; + string state_id = 2; + } + message Response { + bytes bytes = 1; + int64 total_length = 2; + StateRange range = 3; + repeated Diagnostic diagnostics = 4; + } +} + +message WriteStateBytes { + message RequestChunk { + // TODO: Can we decouple this outside of the stream? + string type_name = 1; + string state_id = 3; + + bytes bytes = 2; + int64 total_length = 4; + StateRange range = 5; + } + message Response { + repeated Diagnostic diagnostics = 1; + } +} + +message StateRange { + int64 start = 1; + int64 end = 2; +} + +message GetStates { + message Request { + string type_name = 1; + } + message Response { + repeated string state_id = 1; + repeated Diagnostic diagnostics = 2; + } +} + +message DeleteState { + message Request { + string type_name = 1; + string state_id = 2; + } + message Response { + repeated Diagnostic diagnostics = 1; + } +} diff --git a/tfprotov6/internal/tfplugin6/tfplugin6_grpc.pb.go b/tfprotov6/internal/tfplugin6/tfplugin6_grpc.pb.go index 43fcbf659..8c1ab5fb5 100644 --- a/tfprotov6/internal/tfplugin6/tfplugin6_grpc.pb.go +++ b/tfprotov6/internal/tfplugin6/tfplugin6_grpc.pb.go @@ -67,6 +67,12 @@ const ( Provider_ValidateActionConfig_FullMethodName = "/tfplugin6.Provider/ValidateActionConfig" Provider_PlanAction_FullMethodName = "/tfplugin6.Provider/PlanAction" Provider_InvokeAction_FullMethodName = "/tfplugin6.Provider/InvokeAction" + Provider_ValidateStateStoreConfig_FullMethodName = "/tfplugin6.Provider/ValidateStateStoreConfig" + Provider_ConfigureStateStore_FullMethodName = "/tfplugin6.Provider/ConfigureStateStore" + Provider_ReadStateBytes_FullMethodName = "/tfplugin6.Provider/ReadStateBytes" + Provider_WriteStateBytes_FullMethodName = "/tfplugin6.Provider/WriteStateBytes" + Provider_GetStates_FullMethodName = "/tfplugin6.Provider/GetStates" + Provider_DeleteState_FullMethodName = "/tfplugin6.Provider/DeleteState" Provider_StopProvider_FullMethodName = "/tfplugin6.Provider/StopProvider" ) @@ -119,6 +125,18 @@ type ProviderClient interface { ValidateActionConfig(ctx context.Context, in *ValidateActionConfig_Request, opts ...grpc.CallOption) (*ValidateActionConfig_Response, error) PlanAction(ctx context.Context, in *PlanAction_Request, opts ...grpc.CallOption) (*PlanAction_Response, error) InvokeAction(ctx context.Context, in *InvokeAction_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[InvokeAction_Event], error) + // ValidateStateStoreConfig performs configuration validation + ValidateStateStoreConfig(ctx context.Context, in *ValidateStateStore_Request, opts ...grpc.CallOption) (*ValidateStateStore_Response, error) + // ConfigureStateStore configures the state store, such as S3 connection in the context of already configured provider + ConfigureStateStore(ctx context.Context, in *ConfigureStateStore_Request, opts ...grpc.CallOption) (*ConfigureStateStore_Response, error) + // ReadStateBytes streams byte chunks of a given state file from a state store + ReadStateBytes(ctx context.Context, in *ReadStateBytes_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[ReadStateBytes_Response], error) + // WriteStateBytes streams byte chunks of a given state file into a state store + WriteStateBytes(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[WriteStateBytes_RequestChunk, WriteStateBytes_Response], error) + // GetStates returns a list of all states (i.e. CE workspaces) managed by a given state store + GetStates(ctx context.Context, in *GetStates_Request, opts ...grpc.CallOption) (*GetStates_Response, error) + // DeleteState instructs a given state store to delete a specific state (i.e. a CE workspace) + DeleteState(ctx context.Context, in *DeleteState_Request, opts ...grpc.CallOption) (*DeleteState_Response, error) // ////// Graceful Shutdown StopProvider(ctx context.Context, in *StopProvider_Request, opts ...grpc.CallOption) (*StopProvider_Response, error) } @@ -409,6 +427,78 @@ func (c *providerClient) InvokeAction(ctx context.Context, in *InvokeAction_Requ // This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. type Provider_InvokeActionClient = grpc.ServerStreamingClient[InvokeAction_Event] +func (c *providerClient) ValidateStateStoreConfig(ctx context.Context, in *ValidateStateStore_Request, opts ...grpc.CallOption) (*ValidateStateStore_Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ValidateStateStore_Response) + err := c.cc.Invoke(ctx, Provider_ValidateStateStoreConfig_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *providerClient) ConfigureStateStore(ctx context.Context, in *ConfigureStateStore_Request, opts ...grpc.CallOption) (*ConfigureStateStore_Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ConfigureStateStore_Response) + err := c.cc.Invoke(ctx, Provider_ConfigureStateStore_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *providerClient) ReadStateBytes(ctx context.Context, in *ReadStateBytes_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[ReadStateBytes_Response], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &Provider_ServiceDesc.Streams[2], Provider_ReadStateBytes_FullMethodName, cOpts...) + if err != nil { + return nil, err + } + x := &grpc.GenericClientStream[ReadStateBytes_Request, ReadStateBytes_Response]{ClientStream: stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Provider_ReadStateBytesClient = grpc.ServerStreamingClient[ReadStateBytes_Response] + +func (c *providerClient) WriteStateBytes(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[WriteStateBytes_RequestChunk, WriteStateBytes_Response], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &Provider_ServiceDesc.Streams[3], Provider_WriteStateBytes_FullMethodName, cOpts...) + if err != nil { + return nil, err + } + x := &grpc.GenericClientStream[WriteStateBytes_RequestChunk, WriteStateBytes_Response]{ClientStream: stream} + return x, nil +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Provider_WriteStateBytesClient = grpc.ClientStreamingClient[WriteStateBytes_RequestChunk, WriteStateBytes_Response] + +func (c *providerClient) GetStates(ctx context.Context, in *GetStates_Request, opts ...grpc.CallOption) (*GetStates_Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetStates_Response) + err := c.cc.Invoke(ctx, Provider_GetStates_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *providerClient) DeleteState(ctx context.Context, in *DeleteState_Request, opts ...grpc.CallOption) (*DeleteState_Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DeleteState_Response) + err := c.cc.Invoke(ctx, Provider_DeleteState_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *providerClient) StopProvider(ctx context.Context, in *StopProvider_Request, opts ...grpc.CallOption) (*StopProvider_Response, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(StopProvider_Response) @@ -468,6 +558,18 @@ type ProviderServer interface { ValidateActionConfig(context.Context, *ValidateActionConfig_Request) (*ValidateActionConfig_Response, error) PlanAction(context.Context, *PlanAction_Request) (*PlanAction_Response, error) InvokeAction(*InvokeAction_Request, grpc.ServerStreamingServer[InvokeAction_Event]) error + // ValidateStateStoreConfig performs configuration validation + ValidateStateStoreConfig(context.Context, *ValidateStateStore_Request) (*ValidateStateStore_Response, error) + // ConfigureStateStore configures the state store, such as S3 connection in the context of already configured provider + ConfigureStateStore(context.Context, *ConfigureStateStore_Request) (*ConfigureStateStore_Response, error) + // ReadStateBytes streams byte chunks of a given state file from a state store + ReadStateBytes(*ReadStateBytes_Request, grpc.ServerStreamingServer[ReadStateBytes_Response]) error + // WriteStateBytes streams byte chunks of a given state file into a state store + WriteStateBytes(grpc.ClientStreamingServer[WriteStateBytes_RequestChunk, WriteStateBytes_Response]) error + // GetStates returns a list of all states (i.e. CE workspaces) managed by a given state store + GetStates(context.Context, *GetStates_Request) (*GetStates_Response, error) + // DeleteState instructs a given state store to delete a specific state (i.e. a CE workspace) + DeleteState(context.Context, *DeleteState_Request) (*DeleteState_Response, error) // ////// Graceful Shutdown StopProvider(context.Context, *StopProvider_Request) (*StopProvider_Response, error) mustEmbedUnimplementedProviderServer() @@ -558,6 +660,24 @@ func (UnimplementedProviderServer) PlanAction(context.Context, *PlanAction_Reque func (UnimplementedProviderServer) InvokeAction(*InvokeAction_Request, grpc.ServerStreamingServer[InvokeAction_Event]) error { return status.Errorf(codes.Unimplemented, "method InvokeAction not implemented") } +func (UnimplementedProviderServer) ValidateStateStoreConfig(context.Context, *ValidateStateStore_Request) (*ValidateStateStore_Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method ValidateStateStoreConfig not implemented") +} +func (UnimplementedProviderServer) ConfigureStateStore(context.Context, *ConfigureStateStore_Request) (*ConfigureStateStore_Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method ConfigureStateStore not implemented") +} +func (UnimplementedProviderServer) ReadStateBytes(*ReadStateBytes_Request, grpc.ServerStreamingServer[ReadStateBytes_Response]) error { + return status.Errorf(codes.Unimplemented, "method ReadStateBytes not implemented") +} +func (UnimplementedProviderServer) WriteStateBytes(grpc.ClientStreamingServer[WriteStateBytes_RequestChunk, WriteStateBytes_Response]) error { + return status.Errorf(codes.Unimplemented, "method WriteStateBytes not implemented") +} +func (UnimplementedProviderServer) GetStates(context.Context, *GetStates_Request) (*GetStates_Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetStates not implemented") +} +func (UnimplementedProviderServer) DeleteState(context.Context, *DeleteState_Request) (*DeleteState_Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteState not implemented") +} func (UnimplementedProviderServer) StopProvider(context.Context, *StopProvider_Request) (*StopProvider_Response, error) { return nil, status.Errorf(codes.Unimplemented, "method StopProvider not implemented") } @@ -1036,6 +1156,96 @@ func _Provider_InvokeAction_Handler(srv interface{}, stream grpc.ServerStream) e // This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. type Provider_InvokeActionServer = grpc.ServerStreamingServer[InvokeAction_Event] +func _Provider_ValidateStateStoreConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ValidateStateStore_Request) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProviderServer).ValidateStateStoreConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Provider_ValidateStateStoreConfig_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProviderServer).ValidateStateStoreConfig(ctx, req.(*ValidateStateStore_Request)) + } + return interceptor(ctx, in, info, handler) +} + +func _Provider_ConfigureStateStore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ConfigureStateStore_Request) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProviderServer).ConfigureStateStore(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Provider_ConfigureStateStore_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProviderServer).ConfigureStateStore(ctx, req.(*ConfigureStateStore_Request)) + } + return interceptor(ctx, in, info, handler) +} + +func _Provider_ReadStateBytes_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ReadStateBytes_Request) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(ProviderServer).ReadStateBytes(m, &grpc.GenericServerStream[ReadStateBytes_Request, ReadStateBytes_Response]{ServerStream: stream}) +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Provider_ReadStateBytesServer = grpc.ServerStreamingServer[ReadStateBytes_Response] + +func _Provider_WriteStateBytes_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(ProviderServer).WriteStateBytes(&grpc.GenericServerStream[WriteStateBytes_RequestChunk, WriteStateBytes_Response]{ServerStream: stream}) +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type Provider_WriteStateBytesServer = grpc.ClientStreamingServer[WriteStateBytes_RequestChunk, WriteStateBytes_Response] + +func _Provider_GetStates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetStates_Request) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProviderServer).GetStates(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Provider_GetStates_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProviderServer).GetStates(ctx, req.(*GetStates_Request)) + } + return interceptor(ctx, in, info, handler) +} + +func _Provider_DeleteState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteState_Request) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProviderServer).DeleteState(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Provider_DeleteState_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProviderServer).DeleteState(ctx, req.(*DeleteState_Request)) + } + return interceptor(ctx, in, info, handler) +} + func _Provider_StopProvider_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(StopProvider_Request) if err := dec(in); err != nil { @@ -1157,6 +1367,22 @@ var Provider_ServiceDesc = grpc.ServiceDesc{ MethodName: "PlanAction", Handler: _Provider_PlanAction_Handler, }, + { + MethodName: "ValidateStateStoreConfig", + Handler: _Provider_ValidateStateStoreConfig_Handler, + }, + { + MethodName: "ConfigureStateStore", + Handler: _Provider_ConfigureStateStore_Handler, + }, + { + MethodName: "GetStates", + Handler: _Provider_GetStates_Handler, + }, + { + MethodName: "DeleteState", + Handler: _Provider_DeleteState_Handler, + }, { MethodName: "StopProvider", Handler: _Provider_StopProvider_Handler, @@ -1173,6 +1399,16 @@ var Provider_ServiceDesc = grpc.ServiceDesc{ Handler: _Provider_InvokeAction_Handler, ServerStreams: true, }, + { + StreamName: "ReadStateBytes", + Handler: _Provider_ReadStateBytes_Handler, + ServerStreams: true, + }, + { + StreamName: "WriteStateBytes", + Handler: _Provider_WriteStateBytes_Handler, + ClientStreams: true, + }, }, Metadata: "tfplugin6.proto", } diff --git a/tfprotov6/internal/toproto/provider.go b/tfprotov6/internal/toproto/provider.go index 3f55cad73..1f1e7ee63 100644 --- a/tfprotov6/internal/toproto/provider.go +++ b/tfprotov6/internal/toproto/provider.go @@ -62,6 +62,7 @@ func GetProviderSchema_Response(in *tfprotov6.GetProviderSchemaResponse) *tfplug Diagnostics: Diagnostics(in.Diagnostics), EphemeralResourceSchemas: make(map[string]*tfplugin6.Schema, len(in.EphemeralResourceSchemas)), ListResourceSchemas: make(map[string]*tfplugin6.Schema, len(in.ListResourceSchemas)), + StateStoreSchemas: make(map[string]*tfplugin6.Schema, len(in.StateStoreSchemas)), Functions: make(map[string]*tfplugin6.Function, len(in.Functions)), Provider: Schema(in.Provider), ProviderMeta: Schema(in.ProviderMeta), @@ -77,6 +78,10 @@ func GetProviderSchema_Response(in *tfprotov6.GetProviderSchemaResponse) *tfplug resp.ListResourceSchemas[name] = Schema(schema) } + for name, schema := range in.StateStoreSchemas { + resp.StateStoreSchemas[name] = Schema(schema) + } + for name, schema := range in.ResourceSchemas { resp.ResourceSchemas[name] = Schema(schema) } diff --git a/tfprotov6/internal/toproto/provider_test.go b/tfprotov6/internal/toproto/provider_test.go index b62f54ab1..ca5462b84 100644 --- a/tfprotov6/internal/toproto/provider_test.go +++ b/tfprotov6/internal/toproto/provider_test.go @@ -310,6 +310,7 @@ func TestGetProviderSchema_Response(t *testing.T) { Diagnostics: []*tfplugin6.Diagnostic{}, EphemeralResourceSchemas: map[string]*tfplugin6.Schema{}, ListResourceSchemas: map[string]*tfplugin6.Schema{}, + StateStoreSchemas: map[string]*tfplugin6.Schema{}, Functions: map[string]*tfplugin6.Function{}, ResourceSchemas: map[string]*tfplugin6.Schema{}, }, @@ -353,6 +354,7 @@ func TestGetProviderSchema_Response(t *testing.T) { Diagnostics: []*tfplugin6.Diagnostic{}, EphemeralResourceSchemas: map[string]*tfplugin6.Schema{}, ListResourceSchemas: map[string]*tfplugin6.Schema{}, + StateStoreSchemas: map[string]*tfplugin6.Schema{}, Functions: map[string]*tfplugin6.Function{}, ResourceSchemas: map[string]*tfplugin6.Schema{}, }, @@ -388,6 +390,7 @@ func TestGetProviderSchema_Response(t *testing.T) { Diagnostics: []*tfplugin6.Diagnostic{}, EphemeralResourceSchemas: map[string]*tfplugin6.Schema{}, ListResourceSchemas: map[string]*tfplugin6.Schema{}, + StateStoreSchemas: map[string]*tfplugin6.Schema{}, Functions: map[string]*tfplugin6.Function{}, ResourceSchemas: map[string]*tfplugin6.Schema{}, }, @@ -406,6 +409,7 @@ func TestGetProviderSchema_Response(t *testing.T) { }, EphemeralResourceSchemas: map[string]*tfplugin6.Schema{}, ListResourceSchemas: map[string]*tfplugin6.Schema{}, + StateStoreSchemas: map[string]*tfplugin6.Schema{}, Functions: map[string]*tfplugin6.Function{}, ResourceSchemas: map[string]*tfplugin6.Schema{}, }, @@ -441,6 +445,7 @@ func TestGetProviderSchema_Response(t *testing.T) { }, }, ListResourceSchemas: map[string]*tfplugin6.Schema{}, + StateStoreSchemas: map[string]*tfplugin6.Schema{}, Functions: map[string]*tfplugin6.Function{}, ResourceSchemas: map[string]*tfplugin6.Schema{}, }, @@ -461,6 +466,7 @@ func TestGetProviderSchema_Response(t *testing.T) { Diagnostics: []*tfplugin6.Diagnostic{}, EphemeralResourceSchemas: map[string]*tfplugin6.Schema{}, ListResourceSchemas: map[string]*tfplugin6.Schema{}, + StateStoreSchemas: map[string]*tfplugin6.Schema{}, Functions: map[string]*tfplugin6.Function{ "test": { Parameters: []*tfplugin6.Function_Parameter{}, @@ -503,8 +509,9 @@ func TestGetProviderSchema_Response(t *testing.T) { }, }, }, - Functions: map[string]*tfplugin6.Function{}, - ResourceSchemas: map[string]*tfplugin6.Schema{}, + StateStoreSchemas: map[string]*tfplugin6.Schema{}, + Functions: map[string]*tfplugin6.Function{}, + ResourceSchemas: map[string]*tfplugin6.Schema{}, }, }, "Provider": { @@ -525,6 +532,7 @@ func TestGetProviderSchema_Response(t *testing.T) { Diagnostics: []*tfplugin6.Diagnostic{}, EphemeralResourceSchemas: map[string]*tfplugin6.Schema{}, ListResourceSchemas: map[string]*tfplugin6.Schema{}, + StateStoreSchemas: map[string]*tfplugin6.Schema{}, Functions: map[string]*tfplugin6.Function{}, Provider: &tfplugin6.Schema{ Block: &tfplugin6.Schema_Block{ @@ -557,6 +565,7 @@ func TestGetProviderSchema_Response(t *testing.T) { Diagnostics: []*tfplugin6.Diagnostic{}, EphemeralResourceSchemas: map[string]*tfplugin6.Schema{}, ListResourceSchemas: map[string]*tfplugin6.Schema{}, + StateStoreSchemas: map[string]*tfplugin6.Schema{}, Functions: map[string]*tfplugin6.Function{}, ProviderMeta: &tfplugin6.Schema{ Block: &tfplugin6.Schema_Block{ @@ -591,6 +600,7 @@ func TestGetProviderSchema_Response(t *testing.T) { Diagnostics: []*tfplugin6.Diagnostic{}, EphemeralResourceSchemas: map[string]*tfplugin6.Schema{}, ListResourceSchemas: map[string]*tfplugin6.Schema{}, + StateStoreSchemas: map[string]*tfplugin6.Schema{}, Functions: map[string]*tfplugin6.Function{}, ResourceSchemas: map[string]*tfplugin6.Schema{ "test": { @@ -618,6 +628,7 @@ func TestGetProviderSchema_Response(t *testing.T) { Diagnostics: []*tfplugin6.Diagnostic{}, EphemeralResourceSchemas: map[string]*tfplugin6.Schema{}, ListResourceSchemas: map[string]*tfplugin6.Schema{}, + StateStoreSchemas: map[string]*tfplugin6.Schema{}, Functions: map[string]*tfplugin6.Function{}, ResourceSchemas: map[string]*tfplugin6.Schema{}, ServerCapabilities: &tfplugin6.ServerCapabilities{ @@ -651,7 +662,7 @@ func TestGetProviderSchema_Response(t *testing.T) { tfplugin6.ServerCapabilities{}, ) - if diff := cmp.Diff(got, testCase.expected, diffOpts); diff != "" { + if diff := cmp.Diff(testCase.expected, got, diffOpts); diff != "" { t.Errorf("unexpected difference: %s", diff) } }) diff --git a/tfprotov6/internal/toproto/state_store.go b/tfprotov6/internal/toproto/state_store.go new file mode 100644 index 000000000..959da7703 --- /dev/null +++ b/tfprotov6/internal/toproto/state_store.go @@ -0,0 +1,66 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package toproto + +import ( + "github.com/hashicorp/terraform-plugin-go/tfprotov6" + "github.com/hashicorp/terraform-plugin-go/tfprotov6/internal/tfplugin6" +) + +func ValidateStateStoreConfig_Response(in *tfprotov6.ValidateStateStoreResponse) *tfplugin6.ValidateStateStore_Response { + if in == nil { + return nil + } + + return &tfplugin6.ValidateStateStore_Response{ + Diagnostics: Diagnostics(in.Diagnostics), + } +} + +func ConfigureStateStore_Response(in *tfprotov6.ConfigureStateStoreResponse) *tfplugin6.ConfigureStateStore_Response { + if in == nil { + return nil + } + + return &tfplugin6.ConfigureStateStore_Response{ + Diagnostics: Diagnostics(in.Diagnostics), + } +} + +func ReadStateBytes_Response(in *tfprotov6.ReadStateByteChunk) *tfplugin6.ReadStateBytes_Response { + if in == nil { + return nil + } + + return &tfplugin6.ReadStateBytes_Response{ + Diagnostics: Diagnostics(in.Diagnostics), + Bytes: in.Bytes, + TotalLength: in.TotalLength, + Range: &tfplugin6.StateRange{ + Start: in.Range.Start, + End: in.Range.End, + }, + } +} + +func GetStates_Response(in *tfprotov6.GetStatesResponse) *tfplugin6.GetStates_Response { + if in == nil { + return nil + } + + return &tfplugin6.GetStates_Response{ + StateId: in.StateId, + Diagnostics: Diagnostics(in.Diagnostics), + } +} + +func DeleteState_Response(in *tfprotov6.DeleteStateResponse) *tfplugin6.DeleteState_Response { + if in == nil { + return nil + } + + return &tfplugin6.DeleteState_Response{ + Diagnostics: Diagnostics(in.Diagnostics), + } +} diff --git a/tfprotov6/provider.go b/tfprotov6/provider.go index bf2794359..06fb287cf 100644 --- a/tfprotov6/provider.go +++ b/tfprotov6/provider.go @@ -201,6 +201,9 @@ type GetProviderSchemaResponse struct { // shortname and an underscore. ActionSchemas map[string]*ActionSchema + // StateStoreSchemas is a map of state store name and its schema + StateStoreSchemas map[string]*Schema + // Diagnostics report errors or warnings related to returning the // provider's schemas. Returning an empty slice indicates success, with // no errors or warnings generated. diff --git a/tfprotov6/state_store.go b/tfprotov6/state_store.go new file mode 100644 index 000000000..92c8d2437 --- /dev/null +++ b/tfprotov6/state_store.go @@ -0,0 +1,100 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package tfprotov6 + +import ( + "context" + "iter" +) + +// StateStoreServer is an interface containing the methods an list resource +// implementation needs to fill. +type StateStoreServer interface { + // ValidateStateStoreConfig performs configuration validation + ValidateStateStoreConfig(context.Context, *ValidateStateStoreRequest) (*ValidateStateStoreResponse, error) + + // ConfigureStateStore configures the state store, such as S3 connection in the context of already configured provider + ConfigureStateStore(context.Context, *ConfigureStateStoreRequest) (*ConfigureStateStoreResponse, error) + + // ReadStateBytes streams byte chunks of a given state file from a state store + ReadStateBytes(context.Context, *ReadStateBytesRequest) (*ReadStateBytesStream, error) + + WriteStateBytes(context.Context, *WriteStateBytesStream) (*WriteStateBytesResponse, error) + + // GetStates returns a list of all states (i.e. CE workspaces) managed by a given state store + GetStates(context.Context, *GetStatesRequest) (*GetStatesResponse, error) + + // DeleteState instructs a given state store to delete a specific state (i.e. a CE workspace) + DeleteState(context.Context, *DeleteStateRequest) (*DeleteStateResponse, error) +} + +type ValidateStateStoreRequest struct { + TypeName string + Config *DynamicValue +} + +type ValidateStateStoreResponse struct { + Diagnostics []*Diagnostic +} + +type ConfigureStateStoreRequest struct { + TypeName string + Config *DynamicValue +} + +type ConfigureStateStoreResponse struct { + Diagnostics []*Diagnostic +} + +type ReadStateBytesRequest struct { + TypeName string + StateId string +} + +type ReadStateBytesStream struct { + Chunks iter.Seq[ReadStateByteChunk] +} + +type WriteStateBytesStream struct { + Chunks iter.Seq[WriteStateByteChunk] +} + +type WriteStateBytesResponse struct { + Diagnostics []*Diagnostic +} + +type WriteStateByteChunk = StateByteChunk + +type ReadStateByteChunk struct { + StateByteChunk + Diagnostics []*Diagnostic +} + +type StateByteChunk struct { + Bytes []byte + TotalLength int64 + Range StateByteRange +} + +type StateByteRange struct { + Start, End int64 +} + +type GetStatesRequest struct { + TypeName string +} + +type GetStatesResponse struct { + StateId []string + Diagnostics []*Diagnostic +} + +type DeleteStateRequest struct { + TypeName string + StateId string +} + +type DeleteStateResponse struct { + Diagnostics []*Diagnostic +} diff --git a/tfprotov6/tf6server/server.go b/tfprotov6/tf6server/server.go index fae909bec..e074f2384 100644 --- a/tfprotov6/tf6server/server.go +++ b/tfprotov6/tf6server/server.go @@ -8,6 +8,7 @@ import ( "encoding/json" "errors" "fmt" + "io" "os" "os/signal" "regexp" @@ -1504,6 +1505,310 @@ func (s *server) InvokeAction(protoReq *tfplugin6.InvokeAction_Request, protoStr return nil } +func (s *server) ValidateStateStoreConfig(ctx context.Context, protoReq *tfplugin6.ValidateStateStore_Request) (*tfplugin6.ValidateStateStore_Response, error) { + rpc := "ValidateStateStoreConfig" + ctx = s.loggingContext(ctx) + ctx = logging.RpcContext(ctx, rpc) + ctx = logging.ResourceContext(ctx, protoReq.TypeName) + ctx = s.stoppableContext(ctx) + logging.ProtocolTrace(ctx, "Received request") + defer logging.ProtocolTrace(ctx, "Served request") + + req := fromproto.ValidateStateStoreRequest(protoReq) + + logging.ProtocolData(ctx, s.protocolDataDir, rpc, "Request", "Config", req.Config) + + ctx = tf6serverlogging.DownstreamRequest(ctx) + + server, ok := s.downstream.(tfprotov6.StateStoreServer) + if !ok { + logging.ProtocolError(ctx, "ProviderServer does not implement ValidateStateStoreConfig") + + protoResp := &tfplugin6.ValidateStateStore_Response{ + Diagnostics: []*tfplugin6.Diagnostic{ + { + Severity: tfplugin6.Diagnostic_ERROR, + Summary: "Provider ValidateStateStoreConfig Not Implemented", + Detail: "A ValidateStateStoreConfig call was received by the provider, however the provider does not implement the call. " + + "Either upgrade the provider to a version that implements state store or this is a bug in Terraform that should be reported to the Terraform maintainers.", + }, + }, + } + + return protoResp, nil + } + + resp, err := server.ValidateStateStoreConfig(ctx, req) + + if err != nil { + logging.ProtocolError(ctx, "Error from downstream", map[string]interface{}{logging.KeyError: err}) + return nil, err + } + + tf6serverlogging.DownstreamResponse(ctx, resp.Diagnostics) + + protoResp := toproto.ValidateStateStoreConfig_Response(resp) + + return protoResp, nil +} + +func (s *server) ConfigureStateStore(ctx context.Context, protoReq *tfplugin6.ConfigureStateStore_Request) (*tfplugin6.ConfigureStateStore_Response, error) { + rpc := "ConfigureStateStore" + ctx = s.loggingContext(ctx) + ctx = logging.RpcContext(ctx, rpc) + ctx = logging.ResourceContext(ctx, protoReq.TypeName) + ctx = s.stoppableContext(ctx) + logging.ProtocolTrace(ctx, "Received request") + defer logging.ProtocolTrace(ctx, "Served request") + + req := fromproto.ConfigureStateStoreRequest(protoReq) + + logging.ProtocolData(ctx, s.protocolDataDir, rpc, "Request", "Config", req.Config) + + ctx = tf6serverlogging.DownstreamRequest(ctx) + + server, ok := s.downstream.(tfprotov6.StateStoreServer) + if !ok { + logging.ProtocolError(ctx, "ProviderServer does not implement ConfigureStateStore") + + protoResp := &tfplugin6.ConfigureStateStore_Response{ + Diagnostics: []*tfplugin6.Diagnostic{ + { + Severity: tfplugin6.Diagnostic_ERROR, + Summary: "Provider ConfigureStateStore Not Implemented", + Detail: "A ConfigureStateStore call was received by the provider, however the provider does not implement the call. " + + "Either upgrade the provider to a version that implements state store or this is a bug in Terraform that should be reported to the Terraform maintainers.", + }, + }, + } + + return protoResp, nil + } + + resp, err := server.ConfigureStateStore(ctx, req) + + if err != nil { + logging.ProtocolError(ctx, "Error from downstream", map[string]interface{}{logging.KeyError: err}) + return nil, err + } + + tf6serverlogging.DownstreamResponse(ctx, resp.Diagnostics) + + protoResp := toproto.ConfigureStateStore_Response(resp) + + return protoResp, nil +} + +func (s *server) ReadStateBytes(protoReq *tfplugin6.ReadStateBytes_Request, protoStream grpc.ServerStreamingServer[tfplugin6.ReadStateBytes_Response]) error { + rpc := "ReadStateBytes" + ctx := protoStream.Context() + ctx = s.loggingContext(ctx) + ctx = logging.RpcContext(ctx, rpc) + ctx = logging.StateStoreContext(ctx, protoReq.TypeName) + ctx = s.stoppableContext(ctx) + logging.ProtocolTrace(ctx, "Received request") + defer logging.ProtocolTrace(ctx, "Served request") + + req := fromproto.ReadStateBytesRequest(protoReq) + logging.ProtocolData(ctx, s.protocolDataDir, rpc, "Request", "StateId", req.StateId) + + ctx = tf6serverlogging.DownstreamRequest(ctx) + + server, ok := s.downstream.(tfprotov6.StateStoreServer) + if !ok { + err := status.Error(codes.Unimplemented, "ProviderServer does not implement ReadStateBytes") + logging.ProtocolError(ctx, err.Error()) + return err + } + + stream, err := server.ReadStateBytes(ctx, req) + if err != nil { + logging.ProtocolError(ctx, "Error from downstream", map[string]interface{}{logging.KeyError: err}) + return err + } + + for chunk := range stream.Chunks { + select { + // TODO: check how interruptions are handled + case <-ctx.Done(): + logging.ProtocolTrace(ctx, "all chunks sent") + return nil + + default: + protoChunk := toproto.ReadStateBytes_Response(&chunk) + if err := protoStream.Send(protoChunk); err != nil { + logging.ProtocolError(ctx, "Error sending chunk", map[string]any{logging.KeyError: err}) + return err + } + } + } + + return nil +} + +func (s *server) WriteStateBytes(srv grpc.ClientStreamingServer[tfplugin6.WriteStateBytes_RequestChunk, tfplugin6.WriteStateBytes_Response]) error { + rpc := "WriteStateBytes" + ctx := srv.Context() + ctx = s.loggingContext(ctx) + ctx = logging.RpcContext(ctx, rpc) + // ctx = logging.StateStoreContext(ctx, protoReq.TypeName) + ctx = s.stoppableContext(ctx) + // logging.ProtocolTrace(ctx, "Received request") + // defer logging.ProtocolTrace(ctx, "Served request") + + ctx = tf6serverlogging.DownstreamRequest(ctx) + + server, ok := s.downstream.(tfprotov6.StateStoreServer) + if !ok { + err := status.Error(codes.Unimplemented, "ProviderServer does not implement WriteStateBytes") + logging.ProtocolError(ctx, err.Error()) + return err + } + + iterator := func(yield func(tfprotov6.WriteStateByteChunk) bool) { + for { + chunk, err := srv.Recv() + if err == io.EOF { + break + } + if err != nil { + // attempt to send the error back to client + msgErr := srv.SendMsg(&tfplugin6.WriteStateBytes_Response{ + Diagnostics: toproto.Diagnostics([]*tfprotov6.Diagnostic{ + { + Severity: tfprotov6.DiagnosticSeverityError, + Summary: "Writing state chunk failed", + Detail: fmt.Sprintf("Attempt to write a byte chunk of state %q to %q failed: %s", + chunk.StateId, chunk.TypeName, err), + }, + }), + }) + if msgErr != nil { + err := status.Error(codes.Unimplemented, "ProviderServer does not implement WriteStateBytes") + logging.ProtocolError(ctx, err.Error()) + return + } + return + } + + ok := yield(tfprotov6.WriteStateByteChunk{ + Bytes: chunk.Bytes, + TotalLength: chunk.TotalLength, + Range: tfprotov6.StateByteRange{ + Start: chunk.Range.Start, + End: chunk.Range.End, + }, + }) + if !ok { + return + } + + } + } + + resp, err := server.WriteStateBytes(ctx, &tfprotov6.WriteStateBytesStream{ + Chunks: iterator, + }) + if err != nil { + return err + } + + return srv.SendAndClose(&tfplugin6.WriteStateBytes_Response{ + Diagnostics: toproto.Diagnostics(resp.Diagnostics), + }) +} + +func (s *server) GetStates(ctx context.Context, protoReq *tfplugin6.GetStates_Request) (*tfplugin6.GetStates_Response, error) { + rpc := "GetStates" + ctx = s.loggingContext(ctx) + ctx = logging.RpcContext(ctx, rpc) + ctx = logging.StateStoreContext(ctx, protoReq.TypeName) + ctx = s.stoppableContext(ctx) + logging.ProtocolTrace(ctx, "Received request") + defer logging.ProtocolTrace(ctx, "Served request") + + req := fromproto.GetStatesRequest(protoReq) + + ctx = tf6serverlogging.DownstreamRequest(ctx) + + server, ok := s.downstream.(tfprotov6.StateStoreServer) + if !ok { + logging.ProtocolError(ctx, "ProviderServer does not implement GetStates") + + protoResp := &tfplugin6.GetStates_Response{ + Diagnostics: []*tfplugin6.Diagnostic{ + { + Severity: tfplugin6.Diagnostic_ERROR, + Summary: "Provider GetStates Not Implemented", + Detail: "A GetStates call was received by the provider, however the provider does not implement the call. " + + "Either upgrade the provider to a version that implements state store or this is a bug in Terraform that should be reported to the Terraform maintainers.", + }, + }, + } + + return protoResp, nil + } + + resp, err := server.GetStates(ctx, req) + if err != nil { + logging.ProtocolError(ctx, "Error from downstream", map[string]interface{}{logging.KeyError: err}) + return nil, err + } + + tf6serverlogging.DownstreamResponse(ctx, resp.Diagnostics) + + protoResp := toproto.GetStates_Response(resp) + + return protoResp, nil +} + +func (s *server) DeleteState(ctx context.Context, protoReq *tfplugin6.DeleteState_Request) (*tfplugin6.DeleteState_Response, error) { + rpc := "DeleteState" + ctx = s.loggingContext(ctx) + ctx = logging.RpcContext(ctx, rpc) + ctx = logging.StateStoreContext(ctx, protoReq.TypeName) + + ctx = s.stoppableContext(ctx) + logging.ProtocolTrace(ctx, "Received request") + defer logging.ProtocolTrace(ctx, "Served request") + + req := fromproto.DeleteStateRequest(protoReq) + + logging.ProtocolData(ctx, s.protocolDataDir, rpc, "Request", "StateId", req.StateId) + + ctx = tf6serverlogging.DownstreamRequest(ctx) + + server, ok := s.downstream.(tfprotov6.StateStoreServer) + if !ok { + logging.ProtocolError(ctx, "ProviderServer does not implement DeleteState") + + protoResp := &tfplugin6.DeleteState_Response{ + Diagnostics: []*tfplugin6.Diagnostic{ + { + Severity: tfplugin6.Diagnostic_ERROR, + Summary: "Provider DeleteState Not Implemented", + Detail: "A DeleteState call was received by the provider, however the provider does not implement the call. " + + "Either upgrade the provider to a version that implements state store or this is a bug in Terraform that should be reported to the Terraform maintainers.", + }, + }, + } + + return protoResp, nil + } + + resp, err := server.DeleteState(ctx, req) + if err != nil { + logging.ProtocolError(ctx, "Error from downstream", map[string]interface{}{logging.KeyError: err}) + return nil, err + } + + tf6serverlogging.DownstreamResponse(ctx, resp.Diagnostics) + + protoResp := toproto.DeleteState_Response(resp) + + return protoResp, nil +} + func invalidDeferredResponseDiag(reason tfprotov6.DeferredReason) *tfprotov6.Diagnostic { return &tfprotov6.Diagnostic{ Severity: tfprotov6.DiagnosticSeverityError,