diff --git a/proto/gen/rill/runtime/v1/resources.pb.go b/proto/gen/rill/runtime/v1/resources.pb.go index 700fba627fd..6b25aff2080 100644 --- a/proto/gen/rill/runtime/v1/resources.pb.go +++ b/proto/gen/rill/runtime/v1/resources.pb.go @@ -5864,6 +5864,61 @@ func (x *CharLocation) GetLine() uint32 { return 0 } +type ConnectorV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Spec *ConnectorSpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` + State *ConnectorState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` +} + +func (x *ConnectorV2) Reset() { + *x = ConnectorV2{} + if protoimpl.UnsafeEnabled { + mi := &file_rill_runtime_v1_resources_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConnectorV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectorV2) ProtoMessage() {} + +func (x *ConnectorV2) ProtoReflect() protoreflect.Message { + mi := &file_rill_runtime_v1_resources_proto_msgTypes[71] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectorV2.ProtoReflect.Descriptor instead. +func (*ConnectorV2) Descriptor() ([]byte, []int) { + return file_rill_runtime_v1_resources_proto_rawDescGZIP(), []int{71} +} + +func (x *ConnectorV2) GetSpec() *ConnectorSpec { + if x != nil { + return x.Spec + } + return nil +} + +func (x *ConnectorV2) GetState() *ConnectorState { + if x != nil { + return x.State + } + return nil +} + type ConnectorSpec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -5872,6 +5927,8 @@ type ConnectorSpec struct { Driver string `protobuf:"bytes,1,opt,name=driver,proto3" json:"driver,omitempty"` Properties map[string]string `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` TemplatedProperties []string `protobuf:"bytes,4,rep,name=templated_properties,json=templatedProperties,proto3" json:"templated_properties,omitempty"` + Provision bool `protobuf:"varint,5,opt,name=provision,proto3" json:"provision,omitempty"` + ProvisionArgs *structpb.Struct `protobuf:"bytes,6,opt,name=provision_args,json=provisionArgs,proto3" json:"provision_args,omitempty"` // DEPRECATED: properties_from_variables stores properties whose value is a variable. // NOTE : properties_from_variables and properties both should be used to get all properties. PropertiesFromVariables map[string]string `protobuf:"bytes,3,rep,name=properties_from_variables,json=propertiesFromVariables,proto3" json:"properties_from_variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` @@ -5880,7 +5937,7 @@ type ConnectorSpec struct { func (x *ConnectorSpec) Reset() { *x = ConnectorSpec{} if protoimpl.UnsafeEnabled { - mi := &file_rill_runtime_v1_resources_proto_msgTypes[71] + mi := &file_rill_runtime_v1_resources_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5893,7 +5950,7 @@ func (x *ConnectorSpec) String() string { func (*ConnectorSpec) ProtoMessage() {} func (x *ConnectorSpec) ProtoReflect() protoreflect.Message { - mi := &file_rill_runtime_v1_resources_proto_msgTypes[71] + mi := &file_rill_runtime_v1_resources_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5906,7 +5963,7 @@ func (x *ConnectorSpec) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectorSpec.ProtoReflect.Descriptor instead. func (*ConnectorSpec) Descriptor() ([]byte, []int) { - return file_rill_runtime_v1_resources_proto_rawDescGZIP(), []int{71} + return file_rill_runtime_v1_resources_proto_rawDescGZIP(), []int{72} } func (x *ConnectorSpec) GetDriver() string { @@ -5930,6 +5987,20 @@ func (x *ConnectorSpec) GetTemplatedProperties() []string { return nil } +func (x *ConnectorSpec) GetProvision() bool { + if x != nil { + return x.Provision + } + return false +} + +func (x *ConnectorSpec) GetProvisionArgs() *structpb.Struct { + if x != nil { + return x.ProvisionArgs + } + return nil +} + func (x *ConnectorSpec) GetPropertiesFromVariables() map[string]string { if x != nil { return x.PropertiesFromVariables @@ -5948,7 +6019,7 @@ type ConnectorState struct { func (x *ConnectorState) Reset() { *x = ConnectorState{} if protoimpl.UnsafeEnabled { - mi := &file_rill_runtime_v1_resources_proto_msgTypes[72] + mi := &file_rill_runtime_v1_resources_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5961,7 +6032,7 @@ func (x *ConnectorState) String() string { func (*ConnectorState) ProtoMessage() {} func (x *ConnectorState) ProtoReflect() protoreflect.Message { - mi := &file_rill_runtime_v1_resources_proto_msgTypes[72] + mi := &file_rill_runtime_v1_resources_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5974,7 +6045,7 @@ func (x *ConnectorState) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectorState.ProtoReflect.Descriptor instead. func (*ConnectorState) Descriptor() ([]byte, []int) { - return file_rill_runtime_v1_resources_proto_rawDescGZIP(), []int{72} + return file_rill_runtime_v1_resources_proto_rawDescGZIP(), []int{73} } func (x *ConnectorState) GetSpecHash() string { @@ -5984,61 +6055,6 @@ func (x *ConnectorState) GetSpecHash() string { return "" } -type ConnectorV2 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Spec *ConnectorSpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` - State *ConnectorState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` -} - -func (x *ConnectorV2) Reset() { - *x = ConnectorV2{} - if protoimpl.UnsafeEnabled { - mi := &file_rill_runtime_v1_resources_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ConnectorV2) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ConnectorV2) ProtoMessage() {} - -func (x *ConnectorV2) ProtoReflect() protoreflect.Message { - mi := &file_rill_runtime_v1_resources_proto_msgTypes[73] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ConnectorV2.ProtoReflect.Descriptor instead. -func (*ConnectorV2) Descriptor() ([]byte, []int) { - return file_rill_runtime_v1_resources_proto_rawDescGZIP(), []int{73} -} - -func (x *ConnectorV2) GetSpec() *ConnectorSpec { - if x != nil { - return x.Spec - } - return nil -} - -func (x *ConnectorV2) GetState() *ConnectorState { - if x != nil { - return x.State - } - return nil -} - // Dimensions are columns to filter and group by type MetricsViewSpec_DimensionV2 struct { state protoimpl.MessageState @@ -7678,37 +7694,7 @@ var file_rill_runtime_v1_resources_proto_rawDesc = []byte{ 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x22, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xae, 0x03, - 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, - 0x16, 0x0a, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x72, 0x69, - 0x6c, 0x6c, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x77, 0x0a, 0x19, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x76, 0x61, - 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, - 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x56, 0x61, 0x72, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x17, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x1a, 0x4a, 0x0a, 0x1c, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x46, 0x72, 0x6f, 0x6d, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2d, - 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x70, 0x65, 0x63, 0x48, 0x61, 0x73, 0x68, 0x22, 0x78, 0x0a, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x78, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x56, 0x32, 0x12, 0x32, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, @@ -7716,48 +7702,84 @@ var file_rill_runtime_v1_resources_proto_rawDesc = []byte{ 0x12, 0x35, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2a, 0x8a, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x6f, - 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x52, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x8c, 0x04, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x72, 0x69, + 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, + 0x72, 0x12, 0x4e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x72, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x12, 0x31, 0x0a, 0x14, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x13, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x61, 0x72, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x72, + 0x67, 0x73, 0x12, 0x77, 0x0a, 0x19, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x72, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x46, 0x72, 0x6f, 0x6d, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x17, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x46, 0x72, + 0x6f, 0x6d, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4a, 0x0a, 0x1c, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x56, 0x61, 0x72, 0x69, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2d, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x63, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x70, 0x65, + 0x63, 0x48, 0x61, 0x73, 0x68, 0x2a, 0x8a, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, + 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x43, + 0x4f, 0x4e, 0x43, 0x49, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x43, 0x49, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, - 0x15, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x43, 0x49, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x45, 0x43, 0x4f, - 0x4e, 0x43, 0x49, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, - 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x43, - 0x49, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, - 0x4e, 0x47, 0x10, 0x03, 0x2a, 0xab, 0x01, 0x0a, 0x15, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, - 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x27, - 0x0a, 0x23, 0x45, 0x58, 0x50, 0x4c, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, - 0x49, 0x53, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x45, 0x58, 0x50, 0x4c, 0x4f, + 0x49, 0x44, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x43, + 0x49, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, + 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x43, 0x49, 0x4c, + 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, + 0x10, 0x03, 0x2a, 0xab, 0x01, 0x0a, 0x15, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x43, 0x6f, + 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x23, + 0x45, 0x58, 0x50, 0x4c, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x49, 0x53, + 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x45, 0x58, 0x50, 0x4c, 0x4f, 0x52, 0x45, + 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x49, 0x53, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x45, 0x58, 0x50, 0x4c, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x49, 0x53, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, - 0x44, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x45, 0x58, 0x50, + 0x44, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x45, 0x58, 0x50, 0x4c, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x49, 0x53, 0x4f, 0x4e, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x45, - 0x58, 0x50, 0x4c, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x49, 0x53, 0x4f, - 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x49, 0x4d, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, - 0x10, 0x03, 0x2a, 0x85, 0x01, 0x0a, 0x0f, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x53, 0x53, 0x45, 0x52, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x53, 0x53, 0x45, - 0x52, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x41, 0x53, - 0x53, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x53, 0x53, 0x45, 0x52, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x02, 0x12, 0x1a, - 0x0a, 0x16, 0x41, 0x53, 0x53, 0x45, 0x52, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x42, 0xc1, 0x01, 0x0a, 0x13, 0x63, - 0x6f, 0x6d, 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, - 0x76, 0x31, 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x72, 0x69, 0x6c, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x72, 0x69, 0x6c, 0x6c, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x72, 0x69, 0x6c, 0x6c, 0x2f, 0x72, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x76, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x52, 0x58, 0xaa, 0x02, 0x0f, 0x52, 0x69, 0x6c, 0x6c, 0x2e, - 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0f, 0x52, 0x69, 0x6c, - 0x6c, 0x5c, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1b, 0x52, - 0x69, 0x6c, 0x6c, 0x5c, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x52, 0x69, 0x6c, - 0x6c, 0x3a, 0x3a, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x44, 0x49, 0x4d, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x03, + 0x2a, 0x85, 0x01, 0x0a, 0x0f, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x53, 0x53, 0x45, 0x52, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x53, 0x53, 0x45, 0x52, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, + 0x01, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x53, 0x53, 0x45, 0x52, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, + 0x41, 0x53, 0x53, 0x45, 0x52, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x42, 0xc1, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d, + 0x2e, 0x72, 0x69, 0x6c, 0x6c, 0x2e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x76, 0x31, + 0x42, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, + 0x69, 0x6c, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x72, 0x69, 0x6c, 0x6c, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x72, 0x69, 0x6c, 0x6c, 0x2f, 0x72, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x76, 0x31, + 0xa2, 0x02, 0x03, 0x52, 0x52, 0x58, 0xaa, 0x02, 0x0f, 0x52, 0x69, 0x6c, 0x6c, 0x2e, 0x52, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0f, 0x52, 0x69, 0x6c, 0x6c, 0x5c, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1b, 0x52, 0x69, 0x6c, + 0x6c, 0x5c, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x52, 0x69, 0x6c, 0x6c, 0x3a, + 0x3a, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -7852,9 +7874,9 @@ var file_rill_runtime_v1_resources_proto_goTypes = []any{ (*DependencyError)(nil), // 74: rill.runtime.v1.DependencyError (*ExecutionError)(nil), // 75: rill.runtime.v1.ExecutionError (*CharLocation)(nil), // 76: rill.runtime.v1.CharLocation - (*ConnectorSpec)(nil), // 77: rill.runtime.v1.ConnectorSpec - (*ConnectorState)(nil), // 78: rill.runtime.v1.ConnectorState - (*ConnectorV2)(nil), // 79: rill.runtime.v1.ConnectorV2 + (*ConnectorV2)(nil), // 77: rill.runtime.v1.ConnectorV2 + (*ConnectorSpec)(nil), // 78: rill.runtime.v1.ConnectorSpec + (*ConnectorState)(nil), // 79: rill.runtime.v1.ConnectorState (*MetricsViewSpec_DimensionV2)(nil), // 80: rill.runtime.v1.MetricsViewSpec.DimensionV2 (*MetricsViewSpec_DimensionSelector)(nil), // 81: rill.runtime.v1.MetricsViewSpec.DimensionSelector (*MetricsViewSpec_MeasureWindow)(nil), // 82: rill.runtime.v1.MetricsViewSpec.MeasureWindow @@ -7891,7 +7913,7 @@ var file_rill_runtime_v1_resources_proto_depIdxs = []int32{ 60, // 13: rill.runtime.v1.Resource.component:type_name -> rill.runtime.v1.Component 64, // 14: rill.runtime.v1.Resource.canvas:type_name -> rill.runtime.v1.Canvas 68, // 15: rill.runtime.v1.Resource.api:type_name -> rill.runtime.v1.API - 79, // 16: rill.runtime.v1.Resource.connector:type_name -> rill.runtime.v1.ConnectorV2 + 77, // 16: rill.runtime.v1.Resource.connector:type_name -> rill.runtime.v1.ConnectorV2 8, // 17: rill.runtime.v1.ResourceMeta.name:type_name -> rill.runtime.v1.ResourceName 8, // 18: rill.runtime.v1.ResourceMeta.refs:type_name -> rill.runtime.v1.ResourceName 8, // 19: rill.runtime.v1.ResourceMeta.owner:type_name -> rill.runtime.v1.ResourceName @@ -8016,23 +8038,24 @@ var file_rill_runtime_v1_resources_proto_depIdxs = []int32{ 91, // 138: rill.runtime.v1.APISpec.openapi_parameters:type_name -> google.protobuf.Struct 91, // 139: rill.runtime.v1.APISpec.openapi_response_schema:type_name -> google.protobuf.Struct 76, // 140: rill.runtime.v1.ParseError.start_location:type_name -> rill.runtime.v1.CharLocation - 88, // 141: rill.runtime.v1.ConnectorSpec.properties:type_name -> rill.runtime.v1.ConnectorSpec.PropertiesEntry - 89, // 142: rill.runtime.v1.ConnectorSpec.properties_from_variables:type_name -> rill.runtime.v1.ConnectorSpec.PropertiesFromVariablesEntry - 77, // 143: rill.runtime.v1.ConnectorV2.spec:type_name -> rill.runtime.v1.ConnectorSpec - 78, // 144: rill.runtime.v1.ConnectorV2.state:type_name -> rill.runtime.v1.ConnectorState - 93, // 145: rill.runtime.v1.MetricsViewSpec.DimensionSelector.time_grain:type_name -> rill.runtime.v1.TimeGrain - 81, // 146: rill.runtime.v1.MetricsViewSpec.MeasureWindow.order_by:type_name -> rill.runtime.v1.MetricsViewSpec.DimensionSelector - 3, // 147: rill.runtime.v1.MetricsViewSpec.MeasureV2.type:type_name -> rill.runtime.v1.MetricsViewSpec.MeasureType - 82, // 148: rill.runtime.v1.MetricsViewSpec.MeasureV2.window:type_name -> rill.runtime.v1.MetricsViewSpec.MeasureWindow - 81, // 149: rill.runtime.v1.MetricsViewSpec.MeasureV2.per_dimensions:type_name -> rill.runtime.v1.MetricsViewSpec.DimensionSelector - 81, // 150: rill.runtime.v1.MetricsViewSpec.MeasureV2.required_dimensions:type_name -> rill.runtime.v1.MetricsViewSpec.DimensionSelector - 91, // 151: rill.runtime.v1.MetricsViewSpec.MeasureV2.format_d3_locale:type_name -> google.protobuf.Struct - 84, // 152: rill.runtime.v1.MetricsViewSpec.AvailableTimeRange.comparison_offsets:type_name -> rill.runtime.v1.MetricsViewSpec.AvailableComparisonOffset - 153, // [153:153] is the sub-list for method output_type - 153, // [153:153] is the sub-list for method input_type - 153, // [153:153] is the sub-list for extension type_name - 153, // [153:153] is the sub-list for extension extendee - 0, // [0:153] is the sub-list for field type_name + 78, // 141: rill.runtime.v1.ConnectorV2.spec:type_name -> rill.runtime.v1.ConnectorSpec + 79, // 142: rill.runtime.v1.ConnectorV2.state:type_name -> rill.runtime.v1.ConnectorState + 88, // 143: rill.runtime.v1.ConnectorSpec.properties:type_name -> rill.runtime.v1.ConnectorSpec.PropertiesEntry + 91, // 144: rill.runtime.v1.ConnectorSpec.provision_args:type_name -> google.protobuf.Struct + 89, // 145: rill.runtime.v1.ConnectorSpec.properties_from_variables:type_name -> rill.runtime.v1.ConnectorSpec.PropertiesFromVariablesEntry + 93, // 146: rill.runtime.v1.MetricsViewSpec.DimensionSelector.time_grain:type_name -> rill.runtime.v1.TimeGrain + 81, // 147: rill.runtime.v1.MetricsViewSpec.MeasureWindow.order_by:type_name -> rill.runtime.v1.MetricsViewSpec.DimensionSelector + 3, // 148: rill.runtime.v1.MetricsViewSpec.MeasureV2.type:type_name -> rill.runtime.v1.MetricsViewSpec.MeasureType + 82, // 149: rill.runtime.v1.MetricsViewSpec.MeasureV2.window:type_name -> rill.runtime.v1.MetricsViewSpec.MeasureWindow + 81, // 150: rill.runtime.v1.MetricsViewSpec.MeasureV2.per_dimensions:type_name -> rill.runtime.v1.MetricsViewSpec.DimensionSelector + 81, // 151: rill.runtime.v1.MetricsViewSpec.MeasureV2.required_dimensions:type_name -> rill.runtime.v1.MetricsViewSpec.DimensionSelector + 91, // 152: rill.runtime.v1.MetricsViewSpec.MeasureV2.format_d3_locale:type_name -> google.protobuf.Struct + 84, // 153: rill.runtime.v1.MetricsViewSpec.AvailableTimeRange.comparison_offsets:type_name -> rill.runtime.v1.MetricsViewSpec.AvailableComparisonOffset + 154, // [154:154] is the sub-list for method output_type + 154, // [154:154] is the sub-list for method input_type + 154, // [154:154] is the sub-list for extension type_name + 154, // [154:154] is the sub-list for extension extendee + 0, // [0:154] is the sub-list for field type_name } func init() { file_rill_runtime_v1_resources_proto_init() } @@ -8899,7 +8922,7 @@ func file_rill_runtime_v1_resources_proto_init() { } } file_rill_runtime_v1_resources_proto_msgTypes[71].Exporter = func(v any, i int) any { - switch v := v.(*ConnectorSpec); i { + switch v := v.(*ConnectorV2); i { case 0: return &v.state case 1: @@ -8911,7 +8934,7 @@ func file_rill_runtime_v1_resources_proto_init() { } } file_rill_runtime_v1_resources_proto_msgTypes[72].Exporter = func(v any, i int) any { - switch v := v.(*ConnectorState); i { + switch v := v.(*ConnectorSpec); i { case 0: return &v.state case 1: @@ -8923,7 +8946,7 @@ func file_rill_runtime_v1_resources_proto_init() { } } file_rill_runtime_v1_resources_proto_msgTypes[73].Exporter = func(v any, i int) any { - switch v := v.(*ConnectorV2); i { + switch v := v.(*ConnectorState); i { case 0: return &v.state case 1: diff --git a/proto/gen/rill/runtime/v1/resources.pb.validate.go b/proto/gen/rill/runtime/v1/resources.pb.validate.go index 0b3dfd330d1..0fd216abf18 100644 --- a/proto/gen/rill/runtime/v1/resources.pb.validate.go +++ b/proto/gen/rill/runtime/v1/resources.pb.validate.go @@ -11692,48 +11692,99 @@ var _ interface { ErrorName() string } = CharLocationValidationError{} -// Validate checks the field values on ConnectorSpec with the rules defined in +// Validate checks the field values on ConnectorV2 with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. -func (m *ConnectorSpec) Validate() error { +func (m *ConnectorV2) Validate() error { return m.validate(false) } -// ValidateAll checks the field values on ConnectorSpec with the rules defined -// in the proto definition for this message. If any rules are violated, the -// result is a list of violation errors wrapped in ConnectorSpecMultiError, or +// ValidateAll checks the field values on ConnectorV2 with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in ConnectorV2MultiError, or // nil if none found. -func (m *ConnectorSpec) ValidateAll() error { +func (m *ConnectorV2) ValidateAll() error { return m.validate(true) } -func (m *ConnectorSpec) validate(all bool) error { +func (m *ConnectorV2) validate(all bool) error { if m == nil { return nil } var errors []error - // no validation rules for Driver - - // no validation rules for Properties + if all { + switch v := interface{}(m.GetSpec()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ConnectorV2ValidationError{ + field: "Spec", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ConnectorV2ValidationError{ + field: "Spec", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetSpec()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ConnectorV2ValidationError{ + field: "Spec", + reason: "embedded message failed validation", + cause: err, + } + } + } - // no validation rules for PropertiesFromVariables + if all { + switch v := interface{}(m.GetState()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ConnectorV2ValidationError{ + field: "State", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ConnectorV2ValidationError{ + field: "State", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetState()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ConnectorV2ValidationError{ + field: "State", + reason: "embedded message failed validation", + cause: err, + } + } + } if len(errors) > 0 { - return ConnectorSpecMultiError(errors) + return ConnectorV2MultiError(errors) } return nil } -// ConnectorSpecMultiError is an error wrapping multiple validation errors -// returned by ConnectorSpec.ValidateAll() if the designated constraints -// aren't met. -type ConnectorSpecMultiError []error +// ConnectorV2MultiError is an error wrapping multiple validation errors +// returned by ConnectorV2.ValidateAll() if the designated constraints aren't met. +type ConnectorV2MultiError []error // Error returns a concatenation of all the error messages it wraps. -func (m ConnectorSpecMultiError) Error() string { +func (m ConnectorV2MultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) @@ -11742,11 +11793,11 @@ func (m ConnectorSpecMultiError) Error() string { } // AllErrors returns a list of validation violation errors. -func (m ConnectorSpecMultiError) AllErrors() []error { return m } +func (m ConnectorV2MultiError) AllErrors() []error { return m } -// ConnectorSpecValidationError is the validation error returned by -// ConnectorSpec.Validate if the designated constraints aren't met. -type ConnectorSpecValidationError struct { +// ConnectorV2ValidationError is the validation error returned by +// ConnectorV2.Validate if the designated constraints aren't met. +type ConnectorV2ValidationError struct { field string reason string cause error @@ -11754,22 +11805,22 @@ type ConnectorSpecValidationError struct { } // Field function returns field value. -func (e ConnectorSpecValidationError) Field() string { return e.field } +func (e ConnectorV2ValidationError) Field() string { return e.field } // Reason function returns reason value. -func (e ConnectorSpecValidationError) Reason() string { return e.reason } +func (e ConnectorV2ValidationError) Reason() string { return e.reason } // Cause function returns cause value. -func (e ConnectorSpecValidationError) Cause() error { return e.cause } +func (e ConnectorV2ValidationError) Cause() error { return e.cause } // Key function returns key value. -func (e ConnectorSpecValidationError) Key() bool { return e.key } +func (e ConnectorV2ValidationError) Key() bool { return e.key } // ErrorName returns error name. -func (e ConnectorSpecValidationError) ErrorName() string { return "ConnectorSpecValidationError" } +func (e ConnectorV2ValidationError) ErrorName() string { return "ConnectorV2ValidationError" } // Error satisfies the builtin error interface -func (e ConnectorSpecValidationError) Error() string { +func (e ConnectorV2ValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) @@ -11781,14 +11832,14 @@ func (e ConnectorSpecValidationError) Error() string { } return fmt.Sprintf( - "invalid %sConnectorSpec.%s: %s%s", + "invalid %sConnectorV2.%s: %s%s", key, e.field, e.reason, cause) } -var _ error = ConnectorSpecValidationError{} +var _ error = ConnectorV2ValidationError{} var _ interface { Field() string @@ -11796,46 +11847,81 @@ var _ interface { Key() bool Cause() error ErrorName() string -} = ConnectorSpecValidationError{} +} = ConnectorV2ValidationError{} -// Validate checks the field values on ConnectorState with the rules defined in +// Validate checks the field values on ConnectorSpec with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. -func (m *ConnectorState) Validate() error { +func (m *ConnectorSpec) Validate() error { return m.validate(false) } -// ValidateAll checks the field values on ConnectorState with the rules defined +// ValidateAll checks the field values on ConnectorSpec with the rules defined // in the proto definition for this message. If any rules are violated, the -// result is a list of violation errors wrapped in ConnectorStateMultiError, -// or nil if none found. -func (m *ConnectorState) ValidateAll() error { +// result is a list of violation errors wrapped in ConnectorSpecMultiError, or +// nil if none found. +func (m *ConnectorSpec) ValidateAll() error { return m.validate(true) } -func (m *ConnectorState) validate(all bool) error { +func (m *ConnectorSpec) validate(all bool) error { if m == nil { return nil } var errors []error - // no validation rules for SpecHash + // no validation rules for Driver + + // no validation rules for Properties + + // no validation rules for Provision + + if all { + switch v := interface{}(m.GetProvisionArgs()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, ConnectorSpecValidationError{ + field: "ProvisionArgs", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, ConnectorSpecValidationError{ + field: "ProvisionArgs", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetProvisionArgs()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return ConnectorSpecValidationError{ + field: "ProvisionArgs", + reason: "embedded message failed validation", + cause: err, + } + } + } + + // no validation rules for PropertiesFromVariables if len(errors) > 0 { - return ConnectorStateMultiError(errors) + return ConnectorSpecMultiError(errors) } return nil } -// ConnectorStateMultiError is an error wrapping multiple validation errors -// returned by ConnectorState.ValidateAll() if the designated constraints +// ConnectorSpecMultiError is an error wrapping multiple validation errors +// returned by ConnectorSpec.ValidateAll() if the designated constraints // aren't met. -type ConnectorStateMultiError []error +type ConnectorSpecMultiError []error // Error returns a concatenation of all the error messages it wraps. -func (m ConnectorStateMultiError) Error() string { +func (m ConnectorSpecMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) @@ -11844,11 +11930,11 @@ func (m ConnectorStateMultiError) Error() string { } // AllErrors returns a list of validation violation errors. -func (m ConnectorStateMultiError) AllErrors() []error { return m } +func (m ConnectorSpecMultiError) AllErrors() []error { return m } -// ConnectorStateValidationError is the validation error returned by -// ConnectorState.Validate if the designated constraints aren't met. -type ConnectorStateValidationError struct { +// ConnectorSpecValidationError is the validation error returned by +// ConnectorSpec.Validate if the designated constraints aren't met. +type ConnectorSpecValidationError struct { field string reason string cause error @@ -11856,22 +11942,22 @@ type ConnectorStateValidationError struct { } // Field function returns field value. -func (e ConnectorStateValidationError) Field() string { return e.field } +func (e ConnectorSpecValidationError) Field() string { return e.field } // Reason function returns reason value. -func (e ConnectorStateValidationError) Reason() string { return e.reason } +func (e ConnectorSpecValidationError) Reason() string { return e.reason } // Cause function returns cause value. -func (e ConnectorStateValidationError) Cause() error { return e.cause } +func (e ConnectorSpecValidationError) Cause() error { return e.cause } // Key function returns key value. -func (e ConnectorStateValidationError) Key() bool { return e.key } +func (e ConnectorSpecValidationError) Key() bool { return e.key } // ErrorName returns error name. -func (e ConnectorStateValidationError) ErrorName() string { return "ConnectorStateValidationError" } +func (e ConnectorSpecValidationError) ErrorName() string { return "ConnectorSpecValidationError" } // Error satisfies the builtin error interface -func (e ConnectorStateValidationError) Error() string { +func (e ConnectorSpecValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) @@ -11883,14 +11969,14 @@ func (e ConnectorStateValidationError) Error() string { } return fmt.Sprintf( - "invalid %sConnectorState.%s: %s%s", + "invalid %sConnectorSpec.%s: %s%s", key, e.field, e.reason, cause) } -var _ error = ConnectorStateValidationError{} +var _ error = ConnectorSpecValidationError{} var _ interface { Field() string @@ -11898,101 +11984,46 @@ var _ interface { Key() bool Cause() error ErrorName() string -} = ConnectorStateValidationError{} +} = ConnectorSpecValidationError{} -// Validate checks the field values on ConnectorV2 with the rules defined in +// Validate checks the field values on ConnectorState with the rules defined in // the proto definition for this message. If any rules are violated, the first // error encountered is returned, or nil if there are no violations. -func (m *ConnectorV2) Validate() error { +func (m *ConnectorState) Validate() error { return m.validate(false) } -// ValidateAll checks the field values on ConnectorV2 with the rules defined in -// the proto definition for this message. If any rules are violated, the -// result is a list of violation errors wrapped in ConnectorV2MultiError, or -// nil if none found. -func (m *ConnectorV2) ValidateAll() error { +// ValidateAll checks the field values on ConnectorState with the rules defined +// in the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in ConnectorStateMultiError, +// or nil if none found. +func (m *ConnectorState) ValidateAll() error { return m.validate(true) } -func (m *ConnectorV2) validate(all bool) error { +func (m *ConnectorState) validate(all bool) error { if m == nil { return nil } var errors []error - if all { - switch v := interface{}(m.GetSpec()).(type) { - case interface{ ValidateAll() error }: - if err := v.ValidateAll(); err != nil { - errors = append(errors, ConnectorV2ValidationError{ - field: "Spec", - reason: "embedded message failed validation", - cause: err, - }) - } - case interface{ Validate() error }: - if err := v.Validate(); err != nil { - errors = append(errors, ConnectorV2ValidationError{ - field: "Spec", - reason: "embedded message failed validation", - cause: err, - }) - } - } - } else if v, ok := interface{}(m.GetSpec()).(interface{ Validate() error }); ok { - if err := v.Validate(); err != nil { - return ConnectorV2ValidationError{ - field: "Spec", - reason: "embedded message failed validation", - cause: err, - } - } - } - - if all { - switch v := interface{}(m.GetState()).(type) { - case interface{ ValidateAll() error }: - if err := v.ValidateAll(); err != nil { - errors = append(errors, ConnectorV2ValidationError{ - field: "State", - reason: "embedded message failed validation", - cause: err, - }) - } - case interface{ Validate() error }: - if err := v.Validate(); err != nil { - errors = append(errors, ConnectorV2ValidationError{ - field: "State", - reason: "embedded message failed validation", - cause: err, - }) - } - } - } else if v, ok := interface{}(m.GetState()).(interface{ Validate() error }); ok { - if err := v.Validate(); err != nil { - return ConnectorV2ValidationError{ - field: "State", - reason: "embedded message failed validation", - cause: err, - } - } - } + // no validation rules for SpecHash if len(errors) > 0 { - return ConnectorV2MultiError(errors) + return ConnectorStateMultiError(errors) } return nil } -// ConnectorV2MultiError is an error wrapping multiple validation errors -// returned by ConnectorV2.ValidateAll() if the designated constraints aren't met. -type ConnectorV2MultiError []error +// ConnectorStateMultiError is an error wrapping multiple validation errors +// returned by ConnectorState.ValidateAll() if the designated constraints +// aren't met. +type ConnectorStateMultiError []error // Error returns a concatenation of all the error messages it wraps. -func (m ConnectorV2MultiError) Error() string { +func (m ConnectorStateMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) @@ -12001,11 +12032,11 @@ func (m ConnectorV2MultiError) Error() string { } // AllErrors returns a list of validation violation errors. -func (m ConnectorV2MultiError) AllErrors() []error { return m } +func (m ConnectorStateMultiError) AllErrors() []error { return m } -// ConnectorV2ValidationError is the validation error returned by -// ConnectorV2.Validate if the designated constraints aren't met. -type ConnectorV2ValidationError struct { +// ConnectorStateValidationError is the validation error returned by +// ConnectorState.Validate if the designated constraints aren't met. +type ConnectorStateValidationError struct { field string reason string cause error @@ -12013,22 +12044,22 @@ type ConnectorV2ValidationError struct { } // Field function returns field value. -func (e ConnectorV2ValidationError) Field() string { return e.field } +func (e ConnectorStateValidationError) Field() string { return e.field } // Reason function returns reason value. -func (e ConnectorV2ValidationError) Reason() string { return e.reason } +func (e ConnectorStateValidationError) Reason() string { return e.reason } // Cause function returns cause value. -func (e ConnectorV2ValidationError) Cause() error { return e.cause } +func (e ConnectorStateValidationError) Cause() error { return e.cause } // Key function returns key value. -func (e ConnectorV2ValidationError) Key() bool { return e.key } +func (e ConnectorStateValidationError) Key() bool { return e.key } // ErrorName returns error name. -func (e ConnectorV2ValidationError) ErrorName() string { return "ConnectorV2ValidationError" } +func (e ConnectorStateValidationError) ErrorName() string { return "ConnectorStateValidationError" } // Error satisfies the builtin error interface -func (e ConnectorV2ValidationError) Error() string { +func (e ConnectorStateValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) @@ -12040,14 +12071,14 @@ func (e ConnectorV2ValidationError) Error() string { } return fmt.Sprintf( - "invalid %sConnectorV2.%s: %s%s", + "invalid %sConnectorState.%s: %s%s", key, e.field, e.reason, cause) } -var _ error = ConnectorV2ValidationError{} +var _ error = ConnectorStateValidationError{} var _ interface { Field() string @@ -12055,7 +12086,7 @@ var _ interface { Key() bool Cause() error ErrorName() string -} = ConnectorV2ValidationError{} +} = ConnectorStateValidationError{} // Validate checks the field values on MetricsViewSpec_DimensionV2 with the // rules defined in the proto definition for this message. If any rules are diff --git a/proto/gen/rill/runtime/v1/runtime.swagger.yaml b/proto/gen/rill/runtime/v1/runtime.swagger.yaml index 592c1abe7b8..e35f801d2b8 100644 --- a/proto/gen/rill/runtime/v1/runtime.swagger.yaml +++ b/proto/gen/rill/runtime/v1/runtime.swagger.yaml @@ -3953,6 +3953,10 @@ definitions: type: array items: type: string + provision: + type: boolean + provisionArgs: + type: object propertiesFromVariables: type: object additionalProperties: diff --git a/proto/rill/runtime/v1/resources.proto b/proto/rill/runtime/v1/resources.proto index 0760b25633b..49768dc91bd 100644 --- a/proto/rill/runtime/v1/resources.proto +++ b/proto/rill/runtime/v1/resources.proto @@ -726,10 +726,17 @@ message CharLocation { uint32 line = 1; } +message ConnectorV2 { + ConnectorSpec spec = 1; + ConnectorState state = 2; +} + message ConnectorSpec { string driver = 1; map properties = 2; repeated string templated_properties = 4; + bool provision = 5; + google.protobuf.Struct provision_args = 6; // DEPRECATED: properties_from_variables stores properties whose value is a variable. // NOTE : properties_from_variables and properties both should be used to get all properties. map properties_from_variables = 3; @@ -738,8 +745,3 @@ message ConnectorSpec { message ConnectorState { string spec_hash = 1; } - -message ConnectorV2 { - ConnectorSpec spec = 1; - ConnectorState state = 2; -} diff --git a/runtime/compilers/rillv1/parse_connector.go b/runtime/compilers/rillv1/parse_connector.go index b53db1ede42..e98d2100038 100644 --- a/runtime/compilers/rillv1/parse_connector.go +++ b/runtime/compilers/rillv1/parse_connector.go @@ -2,6 +2,9 @@ package rillv1 import ( "fmt" + + "google.golang.org/protobuf/types/known/structpb" + "gopkg.in/yaml.v3" ) // ConnectorYAML is the raw structure of a Connector resource defined in YAML (does not include common fields) @@ -9,6 +12,7 @@ type ConnectorYAML struct { commonYAML `yaml:",inline" mapstructure:",squash"` // Only to avoid loading common fields into Properties // Driver name Driver string `yaml:"driver"` + Managed yaml.Node `yaml:"managed"` // Boolean or map of properties Defaults map[string]string `yaml:",inline" mapstructure:",remain"` } @@ -21,6 +25,33 @@ func (p *Parser) parseConnector(node *Node) error { return err } + // "Managed" indicates that we should automatically provision the connector + var provision bool + var provisionArgsPB *structpb.Struct + if !tmp.Managed.IsZero() { + switch tmp.Managed.Kind { + case yaml.ScalarNode: + err := tmp.Managed.Decode(&provision) + if err != nil { + return fmt.Errorf("failed to decode 'managed': %w", err) + } + case yaml.MappingNode: + provision = true + var provisionArgs map[string]any + err := tmp.Managed.Decode(&provisionArgs) + if err != nil { + return fmt.Errorf("failed to decode 'managed': %w", err) + } + provisionArgsPB, err = structpb.NewStruct(provisionArgs) + if err != nil { + return fmt.Errorf("failed to convert provision args to proto: %w", err) + } + default: + return fmt.Errorf("invalid type for 'managed': expected boolean or map of args") + } + } + + // Find out if any properties are templated templatedProps, err := analyzeTemplatedProperties(tmp.Defaults) if err != nil { return fmt.Errorf("failed to analyze templated properties: %w", err) @@ -36,6 +67,8 @@ func (p *Parser) parseConnector(node *Node) error { r.ConnectorSpec.Driver = tmp.Driver r.ConnectorSpec.Properties = tmp.Defaults r.ConnectorSpec.TemplatedProperties = templatedProps + r.ConnectorSpec.Provision = provision + r.ConnectorSpec.ProvisionArgs = provisionArgsPB return nil } diff --git a/runtime/compilers/rillv1/parser_test.go b/runtime/compilers/rillv1/parser_test.go index 7c616c07606..58d9c8f8f77 100644 --- a/runtime/compilers/rillv1/parser_test.go +++ b/runtime/compilers/rillv1/parser_test.go @@ -2003,6 +2003,79 @@ refresh: requireResourcesAndErrors(t, p, []*Resource{m1, m2}, nil) } +func TestConnector(t *testing.T) { + ctx := context.Background() + repo := makeRepo(t, map[string]string{`rill.yaml`: ``}) + + putRepo(t, repo, map[string]string{ + `connectors/clickhouse.yaml`: ` +type: connector +driver: clickhouse +`}) + r := &Resource{ + Name: ResourceName{Kind: ResourceKindConnector, Name: "clickhouse"}, + Paths: []string{"/connectors/clickhouse.yaml"}, + ConnectorSpec: &runtimev1.ConnectorSpec{ + Driver: "clickhouse", + }, + } + p, err := Parse(ctx, repo, "", "", "duckdb") + require.NoError(t, err) + requireResourcesAndErrors(t, p, []*Resource{r}, nil) + + putRepo(t, repo, map[string]string{ + `connectors/clickhouse.yaml`: ` +type: connector +driver: clickhouse +managed: true +`}) + r = &Resource{ + Name: ResourceName{Kind: ResourceKindConnector, Name: "clickhouse"}, + Paths: []string{"/connectors/clickhouse.yaml"}, + ConnectorSpec: &runtimev1.ConnectorSpec{ + Driver: "clickhouse", + Provision: true, + }, + } + p, err = Parse(ctx, repo, "", "", "duckdb") + require.NoError(t, err) + requireResourcesAndErrors(t, p, []*Resource{r}, nil) + + putRepo(t, repo, map[string]string{ + `connectors/clickhouse.yaml`: ` +type: connector +driver: clickhouse +managed: + hello: world +time_zone: America/Los_Angeles +`}) + r = &Resource{ + Name: ResourceName{Kind: ResourceKindConnector, Name: "clickhouse"}, + Paths: []string{"/connectors/clickhouse.yaml"}, + ConnectorSpec: &runtimev1.ConnectorSpec{ + Driver: "clickhouse", + Properties: map[string]string{"time_zone": "America/Los_Angeles"}, + Provision: true, + ProvisionArgs: must(structpb.NewStruct(map[string]any{"hello": "world"})), + }, + } + p, err = Parse(ctx, repo, "", "", "duckdb") + require.NoError(t, err) + requireResourcesAndErrors(t, p, []*Resource{r}, nil) + + putRepo(t, repo, map[string]string{ + `connectors/clickhouse.yaml`: ` +type: connector +driver: clickhouse +managed: 10 +`}) + p, err = Parse(ctx, repo, "", "", "duckdb") + require.NoError(t, err) + requireResourcesAndErrors(t, p, nil, []*runtimev1.ParseError{ + {Message: "failed to decode 'managed'", FilePath: "/connectors/clickhouse.yaml"}, + }) +} + func requireResourcesAndErrors(t testing.TB, p *Parser, wantResources []*Resource, wantErrors []*runtimev1.ParseError) { // Check errors // NOTE: Assumes there's at most one parse error per file path diff --git a/web-common/src/proto/gen/rill/runtime/v1/resources_pb.ts b/web-common/src/proto/gen/rill/runtime/v1/resources_pb.ts index 63dac18bf7b..8e1e9bdcb74 100644 --- a/web-common/src/proto/gen/rill/runtime/v1/resources_pb.ts +++ b/web-common/src/proto/gen/rill/runtime/v1/resources_pb.ts @@ -4871,6 +4871,49 @@ export class CharLocation extends Message { } } +/** + * @generated from message rill.runtime.v1.ConnectorV2 + */ +export class ConnectorV2 extends Message { + /** + * @generated from field: rill.runtime.v1.ConnectorSpec spec = 1; + */ + spec?: ConnectorSpec; + + /** + * @generated from field: rill.runtime.v1.ConnectorState state = 2; + */ + state?: ConnectorState; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "rill.runtime.v1.ConnectorV2"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "spec", kind: "message", T: ConnectorSpec }, + { no: 2, name: "state", kind: "message", T: ConnectorState }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): ConnectorV2 { + return new ConnectorV2().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): ConnectorV2 { + return new ConnectorV2().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): ConnectorV2 { + return new ConnectorV2().fromJsonString(jsonString, options); + } + + static equals(a: ConnectorV2 | PlainMessage | undefined, b: ConnectorV2 | PlainMessage | undefined): boolean { + return proto3.util.equals(ConnectorV2, a, b); + } +} + /** * @generated from message rill.runtime.v1.ConnectorSpec */ @@ -4890,6 +4933,16 @@ export class ConnectorSpec extends Message { */ templatedProperties: string[] = []; + /** + * @generated from field: bool provision = 5; + */ + provision = false; + + /** + * @generated from field: google.protobuf.Struct provision_args = 6; + */ + provisionArgs?: Struct; + /** * DEPRECATED: properties_from_variables stores properties whose value is a variable. * NOTE : properties_from_variables and properties both should be used to get all properties. @@ -4909,6 +4962,8 @@ export class ConnectorSpec extends Message { { no: 1, name: "driver", kind: "scalar", T: 9 /* ScalarType.STRING */ }, { no: 2, name: "properties", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "scalar", T: 9 /* ScalarType.STRING */} }, { no: 4, name: "templated_properties", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true }, + { no: 5, name: "provision", kind: "scalar", T: 8 /* ScalarType.BOOL */ }, + { no: 6, name: "provision_args", kind: "message", T: Struct }, { no: 3, name: "properties_from_variables", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "scalar", T: 9 /* ScalarType.STRING */} }, ]); @@ -4966,46 +5021,3 @@ export class ConnectorState extends Message { } } -/** - * @generated from message rill.runtime.v1.ConnectorV2 - */ -export class ConnectorV2 extends Message { - /** - * @generated from field: rill.runtime.v1.ConnectorSpec spec = 1; - */ - spec?: ConnectorSpec; - - /** - * @generated from field: rill.runtime.v1.ConnectorState state = 2; - */ - state?: ConnectorState; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "rill.runtime.v1.ConnectorV2"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "spec", kind: "message", T: ConnectorSpec }, - { no: 2, name: "state", kind: "message", T: ConnectorState }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): ConnectorV2 { - return new ConnectorV2().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): ConnectorV2 { - return new ConnectorV2().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): ConnectorV2 { - return new ConnectorV2().fromJsonString(jsonString, options); - } - - static equals(a: ConnectorV2 | PlainMessage | undefined, b: ConnectorV2 | PlainMessage | undefined): boolean { - return proto3.util.equals(ConnectorV2, a, b); - } -} - diff --git a/web-common/src/runtime-client/gen/index.schemas.ts b/web-common/src/runtime-client/gen/index.schemas.ts index ae008fc6213..7c667c966a1 100644 --- a/web-common/src/runtime-client/gen/index.schemas.ts +++ b/web-common/src/runtime-client/gen/index.schemas.ts @@ -1353,10 +1353,6 @@ export interface V1MetricsViewSort { ascending?: boolean; } -export interface V1MetricsViewSearchResponse { - results?: MetricsViewSearchResponseSearchResult[]; -} - export interface V1MetricsViewSchemaResponse { schema?: V1StructType; } @@ -1976,12 +1972,16 @@ NOTE : properties_from_variables and properties both should be used to get all p */ export type V1ConnectorSpecPropertiesFromVariables = { [key: string]: string }; +export type V1ConnectorSpecProvisionArgs = { [key: string]: any }; + export type V1ConnectorSpecProperties = { [key: string]: string }; export interface V1ConnectorSpec { driver?: string; properties?: V1ConnectorSpecProperties; templatedProperties?: string[]; + provision?: boolean; + provisionArgs?: V1ConnectorSpecProvisionArgs; /** DEPRECATED: properties_from_variables stores properties whose value is a variable. NOTE : properties_from_variables and properties both should be used to get all properties. */ propertiesFromVariables?: V1ConnectorSpecPropertiesFromVariables; @@ -2624,6 +2624,10 @@ export interface MetricsViewSearchResponseSearchResult { value?: unknown; } +export interface V1MetricsViewSearchResponse { + results?: MetricsViewSearchResponseSearchResult[]; +} + export interface MetricsViewFilterCond { name?: string; in?: unknown[];