diff --git a/.gitignore b/.gitignore index 470166ce4a..3518d2769a 100644 --- a/.gitignore +++ b/.gitignore @@ -38,9 +38,6 @@ scratch* **/bin/ dependency-reduced-pom.xml -# Generated proto files -go-feast-proto/* - # govendor vendor diff --git a/cli/feast/cmd/jobs.go b/cli/feast/cmd/jobs.go index a07b69912b..3f151a803b 100644 --- a/cli/feast/cmd/jobs.go +++ b/cli/feast/cmd/jobs.go @@ -22,7 +22,8 @@ import ( "feast/cli/feast/pkg/parse" "feast/cli/feast/pkg/printer" - "feast/go-feast-proto/feast/core" + + "github.com/gojektech/feast/go-feast-proto/feast/core" "github.com/spf13/cobra" ) diff --git a/cli/feast/cmd/list.go b/cli/feast/cmd/list.go index bf7608fa96..8cd52f20b5 100644 --- a/cli/feast/cmd/list.go +++ b/cli/feast/cmd/list.go @@ -18,12 +18,13 @@ import ( "context" "errors" "feast/cli/feast/pkg/util" - "feast/go-feast-proto/feast/core" "fmt" "os" "strings" "text/tabwriter" + "github.com/gojektech/feast/go-feast-proto/feast/core" + "github.com/golang/protobuf/ptypes/empty" "github.com/spf13/cobra" ) diff --git a/cli/feast/cmd/register.go b/cli/feast/cmd/register.go index 7a642f606f..6f4b72aae6 100644 --- a/cli/feast/cmd/register.go +++ b/cli/feast/cmd/register.go @@ -21,7 +21,7 @@ import ( "io/ioutil" "path/filepath" - "feast/go-feast-proto/feast/core" + "github.com/gojektech/feast/go-feast-proto/feast/core" "feast/cli/feast/pkg/parse" diff --git a/cli/feast/pkg/parse/yaml.go b/cli/feast/pkg/parse/yaml.go index 8d74d7145d..d466a51dc4 100644 --- a/cli/feast/pkg/parse/yaml.go +++ b/cli/feast/pkg/parse/yaml.go @@ -23,8 +23,8 @@ import ( "github.com/ghodss/yaml" - "feast/go-feast-proto/feast/specs" - "feast/go-feast-proto/feast/types" + "github.com/gojektech/feast/go-feast-proto/feast/specs" + "github.com/gojektech/feast/go-feast-proto/feast/types" ) // YamlToFeatureSpec parses the given yaml and outputs the corresponding diff --git a/cli/feast/pkg/parse/yaml_test.go b/cli/feast/pkg/parse/yaml_test.go index 57d681f8dc..78e8ff28fd 100644 --- a/cli/feast/pkg/parse/yaml_test.go +++ b/cli/feast/pkg/parse/yaml_test.go @@ -19,8 +19,8 @@ import ( "github.com/golang/protobuf/ptypes/timestamp" - "feast/go-feast-proto/feast/specs" - "feast/go-feast-proto/feast/types" + "github.com/gojektech/feast/go-feast-proto/feast/specs" + "github.com/gojektech/feast/go-feast-proto/feast/types" "github.com/google/go-cmp/cmp" ) diff --git a/cli/feast/pkg/printer/job.go b/cli/feast/pkg/printer/job.go index e564625caf..c18ededc4d 100644 --- a/cli/feast/pkg/printer/job.go +++ b/cli/feast/pkg/printer/job.go @@ -16,9 +16,10 @@ package printer import ( "feast/cli/feast/pkg/util" - "feast/go-feast-proto/feast/core" "fmt" "strings" + + "github.com/gojektech/feast/go-feast-proto/feast/core" ) // PrintJobDetail pretty prints the given job detail diff --git a/core/src/main/proto b/core/src/main/proto new file mode 120000 index 0000000000..21f63ff310 --- /dev/null +++ b/core/src/main/proto @@ -0,0 +1 @@ +../../../protos \ No newline at end of file diff --git a/core/src/main/proto/Makefile b/core/src/main/proto/Makefile deleted file mode 100644 index 36f2e9759a..0000000000 --- a/core/src/main/proto/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -.PHONY: go - -dirs = core jobs serving specs storage types - -gen-go: - @$(foreach dir,$(dirs),protoc -I/usr/local/include -I. --go_out=plugins=grpc:$$GOPATH/src feast/$(dir)/*.proto;) \ No newline at end of file diff --git a/core/src/main/proto/README.md b/core/src/main/proto/README.md deleted file mode 100644 index e1956ace64..0000000000 --- a/core/src/main/proto/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Feast Protos - -## Overview - -Shared protobuf files across Feast components. diff --git a/core/src/main/proto/feast/core/CoreService.proto b/core/src/main/proto/feast/core/CoreService.proto deleted file mode 100644 index 362b146b0b..0000000000 --- a/core/src/main/proto/feast/core/CoreService.proto +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.core; - -import "feast/specs/EntitySpec.proto"; -import "feast/specs/FeatureSpec.proto"; -import "feast/specs/FeatureGroupSpec.proto"; -import "feast/specs/StorageSpec.proto"; -import "google/protobuf/empty.proto"; - -option java_package = "feast.core"; -option java_outer_classname = "CoreServiceProto"; -option go_package = "feast/go-feast-proto/feast/core"; - -service CoreService { - /* - Get entities specified in request. - This process returns a list of entity specs. - */ - rpc GetEntities(CoreServiceTypes.GetEntitiesRequest) returns (CoreServiceTypes.GetEntitiesResponse){}; - - /* - Get all entities - This process returns a list of entity specs. - */ - rpc ListEntities(google.protobuf.Empty) returns (CoreServiceTypes.ListEntitiesResponse) {}; - - /* - Get features specified in request. - This process returns a list of feature specs. - */ - rpc GetFeatures(CoreServiceTypes.GetFeaturesRequest) returns (CoreServiceTypes.GetFeaturesResponse){}; - - /* - Get all features. - This process returns a list of entity specs. - */ - rpc ListFeatures(google.protobuf.Empty) returns (CoreServiceTypes.ListFeaturesResponse) {}; - - /* - Get storage specs specified in request. - This process returns a list of storage specs. - */ - rpc GetStorage(CoreServiceTypes.GetStorageRequest) returns (CoreServiceTypes.GetStorageResponse){}; - - /* - Get all storage specs. - This process returns a list of storage specs. - */ - rpc ListStorage(google.protobuf.Empty) returns (CoreServiceTypes.ListStorageResponse) {}; - - /* - Register a new feature to the metadata store. - If any validation errors occur, only the first encountered error will be returned. - */ - rpc RegisterFeature(feast.specs.FeatureSpec) returns (CoreServiceTypes.RegisterFeatureResponse) {}; - - /* - Register a new feature group to the metadata store. - If any validation errors occur, only the first encountered error will be returned. - */ - rpc RegisterFeatureGroup(feast.specs.FeatureGroupSpec) returns (CoreServiceTypes.RegisterFeatureGroupResponse) {}; - - /* - Register a new entity to the metadata store. - If any validation errors occur, only the first encountered error will be returned. - */ - rpc RegisterEntity(feast.specs.EntitySpec) returns (CoreServiceTypes.RegisterEntityResponse) {}; - - /* - Register a new storage spec to the metadata store. - If any validation errors occur, only the first encountered error will be returned. - */ - rpc RegisterStorage(feast.specs.StorageSpec) returns (CoreServiceTypes.RegisterStorageResponse) {}; -} - -message CoreServiceTypes { - message GetEntitiesRequest { - repeated string ids = 1; - } - - message GetEntitiesResponse { - repeated feast.specs.EntitySpec entities = 1; - } - - message ListEntitiesResponse { - repeated feast.specs.EntitySpec entities = 1; - } - - // Feature retrieval - message GetFeaturesRequest { - repeated string ids = 1; - } - - message GetFeaturesResponse { - repeated feast.specs.FeatureSpec features = 1; - } - - message ListFeaturesResponse { - repeated feast.specs.FeatureSpec features = 1; - } - - // Storage spec retrieval - message GetStorageRequest { - repeated string ids = 1; - } - - message GetStorageResponse { - repeated feast.specs.StorageSpec storageSpecs = 1; - } - - message ListStorageResponse { - repeated feast.specs.StorageSpec storageSpecs = 1; - } - - // Entity registration response - message RegisterEntityResponse { - string entityName = 1; - } - - // Feature registration response - message RegisterFeatureResponse { - string featureId = 1; - } - - // Feature group registration response - message RegisterFeatureGroupResponse { - string featureGroupId = 1; - } - - // Storage registration response - message RegisterStorageResponse { - string storageId = 1; - } -} diff --git a/core/src/main/proto/feast/core/JobService.proto b/core/src/main/proto/feast/core/JobService.proto deleted file mode 100644 index 3d5db25c40..0000000000 --- a/core/src/main/proto/feast/core/JobService.proto +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.core; - -import "feast/specs/ImportSpec.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/timestamp.proto"; - -option java_package = "feast.core"; -option java_outer_classname = "JobServiceProto"; -option go_package = "feast/go-feast-proto/feast/core"; - -service JobService { - // Submit a job to feast to run. Returns the job id. - rpc SubmitJob (JobServiceTypes.SubmitImportJobRequest) returns (JobServiceTypes.SubmitImportJobResponse); - - // List all jobs submitted to feast. - rpc ListJobs (google.protobuf.Empty) returns (JobServiceTypes.ListJobsResponse); - - // Get Job with ID - rpc GetJob (JobServiceTypes.GetJobRequest) returns (JobServiceTypes.GetJobResponse); - - // Abort job with given ID - rpc AbortJob(JobServiceTypes.AbortJobRequest) returns (JobServiceTypes.AbortJobResponse); -} - -message JobServiceTypes { - message SubmitImportJobRequest { - feast.specs.ImportSpec importSpec = 1; - string name = 2; // optional - } - - message SubmitImportJobResponse { - string jobId = 1; - } - - message ListJobsResponse { - repeated JobDetail jobs = 1; - } - - message GetJobRequest { - string id = 1; - } - - message GetJobResponse { - JobDetail job = 1; - } - - message AbortJobRequest { - string id = 1; - } - - message AbortJobResponse { - string id = 1; - } - - // Expanded view of a given job. Returns job information, as well - // as latest metrics. - message JobDetail { - string id = 1; - string extId = 2; - string type = 3; - string runner = 4; - string status = 5; - repeated string entities = 6; - repeated string features = 7; - map metrics = 8; - google.protobuf.Timestamp lastUpdated = 9; - google.protobuf.Timestamp created = 10; - } -} diff --git a/core/src/main/proto/feast/core/UIService.proto b/core/src/main/proto/feast/core/UIService.proto deleted file mode 100644 index d5a31d9e45..0000000000 --- a/core/src/main/proto/feast/core/UIService.proto +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.core; - -import "feast/specs/EntitySpec.proto"; -import "feast/specs/FeatureSpec.proto"; -import "feast/specs/FeatureGroupSpec.proto"; -import "feast/specs/StorageSpec.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/timestamp.proto"; - -option java_package = "feast.core"; -option java_outer_classname = "UIServiceProto"; -option go_package = "feast/go-feast-proto/feast/core"; - -service UIService { - /* - Get entity specified in request. - This process returns a single of entity specs. - */ - rpc GetEntity(UIServiceTypes.GetEntityRequest) returns (UIServiceTypes.GetEntityResponse) {}; - - /* - Get all entities. - This process returns a list of entity specs. - */ - rpc ListEntities(google.protobuf.Empty) returns (UIServiceTypes.ListEntitiesResponse) {}; - - /* - Get feature specified in request. - */ - rpc GetFeature(UIServiceTypes.GetFeatureRequest) returns (UIServiceTypes.GetFeatureResponse){}; - - /* - Get all features. - This process returns a list of feature specs. - */ - rpc ListFeatures(google.protobuf.Empty) returns (UIServiceTypes.ListFeaturesResponse){}; - - /* - Get feature group specified in request. - */ - rpc GetFeatureGroup(UIServiceTypes.GetFeatureGroupRequest) returns (UIServiceTypes.GetFeatureGroupResponse){}; - - /* - Get all feature groups. - This process returns a list of feature group specs. - */ - rpc ListFeatureGroups(google.protobuf.Empty) returns (UIServiceTypes.ListFeatureGroupsResponse){}; - - /* - Get storage spec specified in request. - - */ - rpc GetStorage(UIServiceTypes.GetStorageRequest) returns (UIServiceTypes.GetStorageResponse){}; - - /* - Get all storage specs. - This process returns a list of storage specs. - */ - rpc ListStorage(google.protobuf.Empty) returns (UIServiceTypes.ListStorageResponse){}; -} - -message UIServiceTypes { - // Expanded entity spec - message EntityDetail { - feast.specs.EntitySpec spec = 1; - repeated string jobs = 2; - google.protobuf.Timestamp lastUpdated = 3; - } - - message GetEntityRequest { - string id = 1; - } - - message GetEntityResponse { - EntityDetail entity = 1; - } - - message ListEntitiesResponse { - repeated EntityDetail entities = 1; - } - - // Expanded feature spec - message FeatureDetail { - feast.specs.FeatureSpec spec = 1; - string bigqueryView = 2; - bool enabled = 3; - repeated string jobs = 4; - google.protobuf.Timestamp lastUpdated = 5; - google.protobuf.Timestamp created = 6; - } - - message GetFeatureRequest { - string id = 1; - } - - message GetFeatureResponse { - FeatureDetail feature = 1; - feast.specs.FeatureSpec rawSpec = 2; - } - - message ListFeaturesResponse { - repeated FeatureDetail features = 1; - } - - // Expanded feature group spec - message FeatureGroupDetail { - feast.specs.FeatureGroupSpec spec = 1; - google.protobuf.Timestamp lastUpdated = 2; - } - - message GetFeatureGroupRequest { - string id = 1; - } - - message GetFeatureGroupResponse { - FeatureGroupDetail featureGroup = 1; - } - - message ListFeatureGroupsResponse { - repeated FeatureGroupDetail featureGroups = 1; - } - - // Expanded storage spec - message StorageDetail { - feast.specs.StorageSpec spec = 1; - google.protobuf.Timestamp lastUpdated = 2; - } - - message GetStorageRequest { - string id = 1; - } - - message GetStorageResponse { - StorageDetail storage = 1; - } - - message ListStorageResponse { - repeated StorageDetail storage = 1; - } - -} diff --git a/core/src/main/proto/feast/serving/Serving.proto b/core/src/main/proto/feast/serving/Serving.proto deleted file mode 100644 index 1e02362650..0000000000 --- a/core/src/main/proto/feast/serving/Serving.proto +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.serving; - -import "google/protobuf/timestamp.proto"; -import "feast/types/Value.proto"; - -option java_package = "feast.serving"; -option java_outer_classname = "ServingAPIProto"; -option go_package = "feast/go-feast-proto/feast/serving"; - -service ServingAPI { - // Query features from Feast - rpc QueryFeatures (QueryFeatures.Request) returns (QueryFeatures.Response) {}; -} - -message QueryFeatures { - message Request { - // e.g. "driver", "customer", "city". - string entityName = 1; - // List of entity ID. - repeated string entityId = 2; - // List of request details, contains: featureId, type of query, and limit. - repeated RequestDetail requestDetails = 3; - // Filter specifying only to retrieve features having timestamp within this range. - TimestampRange timestampRange = 4; - } - - message Response { - // e.g. "driver", "customer", "city". - string entityName = 1; - // map of entity ID and its entity's properties. - map entities = 2; - } -} - -message RequestDetail { - // feature ID to be included in the query. - // feature ID is in the form of [entity_name].[granularity].[feature_name] - // e.g: "driver.day.total_accepted_booking" - // all requested feature ID shall have same entity name. - string featureId = 1; - // request type either LAST or LIST. - // LAST : return only the latest value based on timestamp. - // LIST : return list of historical data sorted by timestamp. - RequestType type = 2; - // only applicable to LIST. - // length of the returned list <= limit. - // default = 0 - int32 limit = 3; -} - -enum RequestType { - // LAST : return only the latest value based on timestamp. (default) - LAST = 0; - // LIST : return list of historical data sorted by timestamp. - LIST = 1; -} - -// range of timestamp for querying -// valid timestamp range is having start <= end -message TimestampRange { - // start time of the range query. - google.protobuf.Timestamp start = 1; - // end time of the range query. - google.protobuf.Timestamp end = 2; -} - -message Entity { - // map of feature ID and its feature value. - map features = 1; -} - -message FeatureValueList { - // list of feature value - // if "type" in "requestDetail" is "LAST", then the length will always be 1. - // if "type" in "requestDetail" is "LIST", then the length is <= "limit". - feast.types.ValueList valueList = 1; - // list of timestamp of the value. - // the i-th timestamps correspond to the i-th value. - feast.types.TimestampList timestampList = 2; -} diff --git a/core/src/main/proto/feast/specs/EntitySpec.proto b/core/src/main/proto/feast/specs/EntitySpec.proto deleted file mode 100644 index 9b9cf2d87d..0000000000 --- a/core/src/main/proto/feast/specs/EntitySpec.proto +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.specs; - -option java_package = "feast.specs"; -option java_outer_classname = "EntitySpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; - -message EntitySpec { - string name = 1; - string description = 2; - repeated string tags = 3; -} diff --git a/core/src/main/proto/feast/specs/FeatureGroupSpec.proto b/core/src/main/proto/feast/specs/FeatureGroupSpec.proto deleted file mode 100644 index e8b8abe94b..0000000000 --- a/core/src/main/proto/feast/specs/FeatureGroupSpec.proto +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "feast/specs/FeatureSpec.proto"; - -package feast.specs; - -option java_package = "feast.specs"; -option java_outer_classname = "FeatureGroupSpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; - -message FeatureGroupSpec { - string id = 1; - repeated string tags = 2; - feast.specs.DataStores dataStores = 3; -} diff --git a/core/src/main/proto/feast/specs/FeatureSpec.proto b/core/src/main/proto/feast/specs/FeatureSpec.proto deleted file mode 100644 index 970af40597..0000000000 --- a/core/src/main/proto/feast/specs/FeatureSpec.proto +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "feast/specs/EntitySpec.proto"; -import "feast/specs/StorageSpec.proto"; -import "feast/types/Granularity.proto"; -import "feast/types/Value.proto"; - -package feast.specs; - -option java_package = "feast.specs"; -option java_outer_classname = "FeatureSpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; - -message FeatureSpec { - string id = 1; - string name = 2; - string owner = 3; - string description = 4; - string uri = 5; - feast.types.Granularity.Enum granularity = 6; - feast.types.ValueType.Enum valueType = 7; - string entity = 8; - string group = 9; - repeated string tags = 10; - map options = 11; - DataStores dataStores = 12; -} - -message DataStores { - DataStore serving = 1; - DataStore warehouse = 2; -} - -message DataStore { - string id = 1; - map options = 2; -} diff --git a/core/src/main/proto/feast/specs/ImportSpec.proto b/core/src/main/proto/feast/specs/ImportSpec.proto deleted file mode 100644 index 6f81a4bbec..0000000000 --- a/core/src/main/proto/feast/specs/ImportSpec.proto +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.specs; - -option java_package = "feast.specs"; -option java_outer_classname = "ImportSpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; - -import "feast/types/Value.proto"; -import "google/protobuf/timestamp.proto"; - -message ImportSpec { - // type should define what sort of store it is - // pubsub: topic, subscription (already a featureRow) - // kafka: ? (already a featureRow) - // file: csv, parquet, json - // bigquery: table, query - string type = 1; - - map options = 2; - - // You should probably only set one of these, but if you set both, they concatenate - repeated string entities = 3; - - Schema schema = 4; // this is optional depending on the source -} - -message Schema { - repeated Field fields = 1; - oneof timestamp { // the event timestamp to set per row. - string timestampColumn = 5; - google.protobuf.Timestamp timestampValue = 6; - } - string entityIdColumn = 7; -} - -message Field { - string name = 1; - string featureId = 2; // set this if this is a feature -} diff --git a/core/src/main/proto/feast/specs/StorageSpec.proto b/core/src/main/proto/feast/specs/StorageSpec.proto deleted file mode 100644 index 06ad0ceb0c..0000000000 --- a/core/src/main/proto/feast/specs/StorageSpec.proto +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.specs; - -option java_package = "feast.specs"; -option java_outer_classname = "StorageSpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; - -message StorageSpec { - // unique identifier for this instance - string id = 1; - - // type should define what sort of store it is - // e.g. redis, bigquery, etc - string type = 2; - - // options contain (but are not restricted to) options like - // connection information. - map options = 3; -} diff --git a/core/src/main/proto/feast/storage/BigTable.proto b/core/src/main/proto/feast/storage/BigTable.proto deleted file mode 100644 index 110258cb04..0000000000 --- a/core/src/main/proto/feast/storage/BigTable.proto +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "feast/types/Value.proto"; - -package feast.storage; - -option java_outer_classname = "BigTableProto"; -option java_package = "feast.storage"; -option go_package = "feast/go-feast-proto/feast/storage"; - -message BigTableRowKey { - // This should be the first 7 characters of a sha1 of the entityKey proto encoded - string sha1Prefix = 1; - string entityKey = 2; - // This should be String.valueOf(int64.MAX_VALUE - roundToEntityGranularity(eventTimestamp)) - string reversedMillis = 3; -} diff --git a/core/src/main/proto/feast/storage/Redis.proto b/core/src/main/proto/feast/storage/Redis.proto deleted file mode 100644 index 4bad4cdc01..0000000000 --- a/core/src/main/proto/feast/storage/Redis.proto +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; -import "google/protobuf/timestamp.proto"; - -import "feast/types/Value.proto"; - -package feast.storage; - -option java_outer_classname = "RedisProto"; -option java_package = "feast.storage"; -option go_package = "feast/go-feast-proto/feast/storage"; - -message RedisBucketKey { - // Field number 1 is reserved for a future distributing hash if needed - // (for when redis is clustered). - - // Entity key from the FeatureRow - string entityKey = 2; - - /** - * This should be the first 7 characters of a sha1 of the featureId - * This is just to save storage space as it's kept in memory. - */ - string featureIdSha1Prefix = 3; - - /** - * This groups a feature's values (for different eventTimestamps), - * into buckets so many can be retrieved together. - * - * See FeatureRowToRedisMutationDoFn. - * bucketId = roundedToGranularity(eventTimestamp).seconds / bucketSize.seconds - */ - fixed64 bucketId = 4; -} - -/** - * Because in redis features are stored as a key per feature not per - * feature row, we need the event timestamp in the value. - */ -message RedisBucketValue { - feast.types.Value value = 1; - google.protobuf.Timestamp eventTimestamp = 2; -} - - -/** - * This allows us to group multiple bucket values together in a - * single list to make it easier to keep sets together - */ -message RedisBucketValueList { - repeated RedisBucketValue values = 1; -} diff --git a/core/src/main/proto/feast/types/Feature.proto b/core/src/main/proto/feast/types/Feature.proto deleted file mode 100644 index 10c3ec92dc..0000000000 --- a/core/src/main/proto/feast/types/Feature.proto +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "google/protobuf/timestamp.proto"; -import "feast/types/Value.proto"; - -package feast.types; - -option java_package = "feast.types"; -option java_outer_classname = "FeatureProto"; -option go_package = "feast/go-feast-proto/feast/types"; - -message Feature { - string id = 1; - Value value = 2; -} diff --git a/core/src/main/proto/feast/types/FeatureRow.proto b/core/src/main/proto/feast/types/FeatureRow.proto deleted file mode 100644 index 8756faf83e..0000000000 --- a/core/src/main/proto/feast/types/FeatureRow.proto +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "google/protobuf/timestamp.proto"; -import "feast/types/Feature.proto"; -import "feast/types/Granularity.proto"; -import "feast/types/Value.proto"; - -package feast.types; - -option java_package = "feast.types"; -option java_outer_classname = "FeatureRowProto"; -option go_package = "feast/go-feast-proto/feast/types"; - - -message FeatureRow { - string entityKey = 1; - repeated Feature features = 2; - google.protobuf.Timestamp eventTimestamp = 3; - string entityName = 4; - Granularity.Enum granularity = 5; -} diff --git a/core/src/main/proto/feast/types/FeatureRowExtended.proto b/core/src/main/proto/feast/types/FeatureRowExtended.proto deleted file mode 100644 index 258d7f9029..0000000000 --- a/core/src/main/proto/feast/types/FeatureRowExtended.proto +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "google/protobuf/timestamp.proto"; -import "feast/types/FeatureRow.proto"; - -package feast.types; - -option java_package = "feast.types"; -option java_outer_classname = "FeatureRowExtendedProto"; -option go_package = "feast/go-feast-proto/feast/types"; - -message Error { - string cause = 1; // exception class name - string transform = 2; // name of transform where the error occurred - string message = 3; - string stackTrace = 4; -} - -message Attempt { - int32 attempts = 1; - Error error = 2; -} - -message FeatureRowExtended { - FeatureRow row = 1; - Attempt lastAttempt = 2; - google.protobuf.Timestamp firstSeen = 3; -} diff --git a/core/src/main/proto/feast/types/Granularity.proto b/core/src/main/proto/feast/types/Granularity.proto deleted file mode 100644 index 5c3403898a..0000000000 --- a/core/src/main/proto/feast/types/Granularity.proto +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.types; - -option java_package = "feast.types"; -option java_outer_classname = "GranularityProto"; -option go_package = "feast/go-feast-proto/feast/types"; - -message Granularity { - enum Enum { - NONE = 0; - DAY = 1; - HOUR = 2; - MINUTE = 3; - SECOND = 4; - } -} diff --git a/core/src/main/proto/feast/types/Value.proto b/core/src/main/proto/feast/types/Value.proto deleted file mode 100644 index 6fbe272eaf..0000000000 --- a/core/src/main/proto/feast/types/Value.proto +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "google/protobuf/timestamp.proto"; - -package feast.types; - -option java_package = "feast.types"; -option java_outer_classname = "ValueProto"; -option go_package = "feast/go-feast-proto/feast/types"; - -message ValueType { - enum Enum { - UNKNOWN = 0; - BYTES = 1; - STRING = 2; - INT32 = 3; - INT64 = 4; - DOUBLE = 5; - FLOAT = 6; - BOOL = 7; - TIMESTAMP = 8; - } -} - -message Value { - // ValueType is referenced by the metadata types, FeatureInfo and EntityInfo. - // The enum values do not have to match the oneof val field ids, but they should. - - oneof val { - bytes bytesVal = 1; - string stringVal = 2; - int32 int32Val = 3; - int64 int64Val = 4; - double doubleVal = 5; - float floatVal = 6; - bool boolVal = 7; - google.protobuf.Timestamp timestampVal = 8; - } -} - -message ValueList { - oneof valueList { - BytesList bytesList = 1; - StringList stringList = 2; - Int32List int32List = 3; - Int64List int64List = 4; - DoubleList doubleList = 5; - FloatList floatList = 6; - BoolList boolList = 7; - TimestampList timestampList = 8; - } -} - -message BytesList { - repeated bytes val = 1; -} - -message StringList { - repeated string val = 1; -} - -message Int32List { - repeated int32 val = 1; -} - -message Int64List { - repeated int64 val = 1; -} - -message DoubleList { - repeated double val = 1; -} - -message FloatList { - repeated float val = 1; -} - -message BoolList { - repeated bool val = 1; -} - -message TimestampList { - repeated google.protobuf.Timestamp val = 1; -} diff --git a/core/src/main/proto/third_party/grpc/health/v1/HealthService.proto b/core/src/main/proto/third_party/grpc/health/v1/HealthService.proto deleted file mode 100644 index c1cbd418db..0000000000 --- a/core/src/main/proto/third_party/grpc/health/v1/HealthService.proto +++ /dev/null @@ -1,23 +0,0 @@ -syntax = "proto3"; - -package grpc.health.v1; - -option java_package = "io.grpc.health.v1"; -option java_outer_classname = "HealthProto"; - -message HealthCheckRequest { - string service = 1; -} - -message HealthCheckResponse { - enum ServingStatus { - UNKNOWN = 0; - SERVING = 1; - NOT_SERVING = 2; - } - ServingStatus status = 1; -} - -service Health { - rpc Check(HealthCheckRequest) returns (HealthCheckResponse); -} \ No newline at end of file diff --git a/go-feast-proto/feast/core/CoreService.pb.go b/go-feast-proto/feast/core/CoreService.pb.go new file mode 100644 index 0000000000..afc42bafd5 --- /dev/null +++ b/go-feast-proto/feast/core/CoreService.pb.go @@ -0,0 +1,1058 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: feast/core/CoreService.proto + +package core // import "github.com/gojektech/feast/go-feast-proto/feast/core" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import specs "github.com/gojektech/feast/go-feast-proto/feast/specs" +import empty "github.com/golang/protobuf/ptypes/empty" + +import ( + context "golang.org/x/net/context" + grpc "google.golang.org/grpc" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type CoreServiceTypes struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CoreServiceTypes) Reset() { *m = CoreServiceTypes{} } +func (m *CoreServiceTypes) String() string { return proto.CompactTextString(m) } +func (*CoreServiceTypes) ProtoMessage() {} +func (*CoreServiceTypes) Descriptor() ([]byte, []int) { + return fileDescriptor_CoreService_aeabad36f2a7449f, []int{0} +} +func (m *CoreServiceTypes) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CoreServiceTypes.Unmarshal(m, b) +} +func (m *CoreServiceTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CoreServiceTypes.Marshal(b, m, deterministic) +} +func (dst *CoreServiceTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_CoreServiceTypes.Merge(dst, src) +} +func (m *CoreServiceTypes) XXX_Size() int { + return xxx_messageInfo_CoreServiceTypes.Size(m) +} +func (m *CoreServiceTypes) XXX_DiscardUnknown() { + xxx_messageInfo_CoreServiceTypes.DiscardUnknown(m) +} + +var xxx_messageInfo_CoreServiceTypes proto.InternalMessageInfo + +type CoreServiceTypes_GetEntitiesRequest struct { + Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CoreServiceTypes_GetEntitiesRequest) Reset() { *m = CoreServiceTypes_GetEntitiesRequest{} } +func (m *CoreServiceTypes_GetEntitiesRequest) String() string { return proto.CompactTextString(m) } +func (*CoreServiceTypes_GetEntitiesRequest) ProtoMessage() {} +func (*CoreServiceTypes_GetEntitiesRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_CoreService_aeabad36f2a7449f, []int{0, 0} +} +func (m *CoreServiceTypes_GetEntitiesRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CoreServiceTypes_GetEntitiesRequest.Unmarshal(m, b) +} +func (m *CoreServiceTypes_GetEntitiesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CoreServiceTypes_GetEntitiesRequest.Marshal(b, m, deterministic) +} +func (dst *CoreServiceTypes_GetEntitiesRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CoreServiceTypes_GetEntitiesRequest.Merge(dst, src) +} +func (m *CoreServiceTypes_GetEntitiesRequest) XXX_Size() int { + return xxx_messageInfo_CoreServiceTypes_GetEntitiesRequest.Size(m) +} +func (m *CoreServiceTypes_GetEntitiesRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CoreServiceTypes_GetEntitiesRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CoreServiceTypes_GetEntitiesRequest proto.InternalMessageInfo + +func (m *CoreServiceTypes_GetEntitiesRequest) GetIds() []string { + if m != nil { + return m.Ids + } + return nil +} + +type CoreServiceTypes_GetEntitiesResponse struct { + Entities []*specs.EntitySpec `protobuf:"bytes,1,rep,name=entities,proto3" json:"entities,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CoreServiceTypes_GetEntitiesResponse) Reset() { *m = CoreServiceTypes_GetEntitiesResponse{} } +func (m *CoreServiceTypes_GetEntitiesResponse) String() string { return proto.CompactTextString(m) } +func (*CoreServiceTypes_GetEntitiesResponse) ProtoMessage() {} +func (*CoreServiceTypes_GetEntitiesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_CoreService_aeabad36f2a7449f, []int{0, 1} +} +func (m *CoreServiceTypes_GetEntitiesResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CoreServiceTypes_GetEntitiesResponse.Unmarshal(m, b) +} +func (m *CoreServiceTypes_GetEntitiesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CoreServiceTypes_GetEntitiesResponse.Marshal(b, m, deterministic) +} +func (dst *CoreServiceTypes_GetEntitiesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_CoreServiceTypes_GetEntitiesResponse.Merge(dst, src) +} +func (m *CoreServiceTypes_GetEntitiesResponse) XXX_Size() int { + return xxx_messageInfo_CoreServiceTypes_GetEntitiesResponse.Size(m) +} +func (m *CoreServiceTypes_GetEntitiesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_CoreServiceTypes_GetEntitiesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_CoreServiceTypes_GetEntitiesResponse proto.InternalMessageInfo + +func (m *CoreServiceTypes_GetEntitiesResponse) GetEntities() []*specs.EntitySpec { + if m != nil { + return m.Entities + } + return nil +} + +type CoreServiceTypes_ListEntitiesResponse struct { + Entities []*specs.EntitySpec `protobuf:"bytes,1,rep,name=entities,proto3" json:"entities,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CoreServiceTypes_ListEntitiesResponse) Reset() { *m = CoreServiceTypes_ListEntitiesResponse{} } +func (m *CoreServiceTypes_ListEntitiesResponse) String() string { return proto.CompactTextString(m) } +func (*CoreServiceTypes_ListEntitiesResponse) ProtoMessage() {} +func (*CoreServiceTypes_ListEntitiesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_CoreService_aeabad36f2a7449f, []int{0, 2} +} +func (m *CoreServiceTypes_ListEntitiesResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CoreServiceTypes_ListEntitiesResponse.Unmarshal(m, b) +} +func (m *CoreServiceTypes_ListEntitiesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CoreServiceTypes_ListEntitiesResponse.Marshal(b, m, deterministic) +} +func (dst *CoreServiceTypes_ListEntitiesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_CoreServiceTypes_ListEntitiesResponse.Merge(dst, src) +} +func (m *CoreServiceTypes_ListEntitiesResponse) XXX_Size() int { + return xxx_messageInfo_CoreServiceTypes_ListEntitiesResponse.Size(m) +} +func (m *CoreServiceTypes_ListEntitiesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_CoreServiceTypes_ListEntitiesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_CoreServiceTypes_ListEntitiesResponse proto.InternalMessageInfo + +func (m *CoreServiceTypes_ListEntitiesResponse) GetEntities() []*specs.EntitySpec { + if m != nil { + return m.Entities + } + return nil +} + +// Feature retrieval +type CoreServiceTypes_GetFeaturesRequest struct { + Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CoreServiceTypes_GetFeaturesRequest) Reset() { *m = CoreServiceTypes_GetFeaturesRequest{} } +func (m *CoreServiceTypes_GetFeaturesRequest) String() string { return proto.CompactTextString(m) } +func (*CoreServiceTypes_GetFeaturesRequest) ProtoMessage() {} +func (*CoreServiceTypes_GetFeaturesRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_CoreService_aeabad36f2a7449f, []int{0, 3} +} +func (m *CoreServiceTypes_GetFeaturesRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CoreServiceTypes_GetFeaturesRequest.Unmarshal(m, b) +} +func (m *CoreServiceTypes_GetFeaturesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CoreServiceTypes_GetFeaturesRequest.Marshal(b, m, deterministic) +} +func (dst *CoreServiceTypes_GetFeaturesRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CoreServiceTypes_GetFeaturesRequest.Merge(dst, src) +} +func (m *CoreServiceTypes_GetFeaturesRequest) XXX_Size() int { + return xxx_messageInfo_CoreServiceTypes_GetFeaturesRequest.Size(m) +} +func (m *CoreServiceTypes_GetFeaturesRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CoreServiceTypes_GetFeaturesRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CoreServiceTypes_GetFeaturesRequest proto.InternalMessageInfo + +func (m *CoreServiceTypes_GetFeaturesRequest) GetIds() []string { + if m != nil { + return m.Ids + } + return nil +} + +type CoreServiceTypes_GetFeaturesResponse struct { + Features []*specs.FeatureSpec `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CoreServiceTypes_GetFeaturesResponse) Reset() { *m = CoreServiceTypes_GetFeaturesResponse{} } +func (m *CoreServiceTypes_GetFeaturesResponse) String() string { return proto.CompactTextString(m) } +func (*CoreServiceTypes_GetFeaturesResponse) ProtoMessage() {} +func (*CoreServiceTypes_GetFeaturesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_CoreService_aeabad36f2a7449f, []int{0, 4} +} +func (m *CoreServiceTypes_GetFeaturesResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CoreServiceTypes_GetFeaturesResponse.Unmarshal(m, b) +} +func (m *CoreServiceTypes_GetFeaturesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CoreServiceTypes_GetFeaturesResponse.Marshal(b, m, deterministic) +} +func (dst *CoreServiceTypes_GetFeaturesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_CoreServiceTypes_GetFeaturesResponse.Merge(dst, src) +} +func (m *CoreServiceTypes_GetFeaturesResponse) XXX_Size() int { + return xxx_messageInfo_CoreServiceTypes_GetFeaturesResponse.Size(m) +} +func (m *CoreServiceTypes_GetFeaturesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_CoreServiceTypes_GetFeaturesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_CoreServiceTypes_GetFeaturesResponse proto.InternalMessageInfo + +func (m *CoreServiceTypes_GetFeaturesResponse) GetFeatures() []*specs.FeatureSpec { + if m != nil { + return m.Features + } + return nil +} + +type CoreServiceTypes_ListFeaturesResponse struct { + Features []*specs.FeatureSpec `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CoreServiceTypes_ListFeaturesResponse) Reset() { *m = CoreServiceTypes_ListFeaturesResponse{} } +func (m *CoreServiceTypes_ListFeaturesResponse) String() string { return proto.CompactTextString(m) } +func (*CoreServiceTypes_ListFeaturesResponse) ProtoMessage() {} +func (*CoreServiceTypes_ListFeaturesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_CoreService_aeabad36f2a7449f, []int{0, 5} +} +func (m *CoreServiceTypes_ListFeaturesResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CoreServiceTypes_ListFeaturesResponse.Unmarshal(m, b) +} +func (m *CoreServiceTypes_ListFeaturesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CoreServiceTypes_ListFeaturesResponse.Marshal(b, m, deterministic) +} +func (dst *CoreServiceTypes_ListFeaturesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_CoreServiceTypes_ListFeaturesResponse.Merge(dst, src) +} +func (m *CoreServiceTypes_ListFeaturesResponse) XXX_Size() int { + return xxx_messageInfo_CoreServiceTypes_ListFeaturesResponse.Size(m) +} +func (m *CoreServiceTypes_ListFeaturesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_CoreServiceTypes_ListFeaturesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_CoreServiceTypes_ListFeaturesResponse proto.InternalMessageInfo + +func (m *CoreServiceTypes_ListFeaturesResponse) GetFeatures() []*specs.FeatureSpec { + if m != nil { + return m.Features + } + return nil +} + +// Storage spec retrieval +type CoreServiceTypes_GetStorageRequest struct { + Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CoreServiceTypes_GetStorageRequest) Reset() { *m = CoreServiceTypes_GetStorageRequest{} } +func (m *CoreServiceTypes_GetStorageRequest) String() string { return proto.CompactTextString(m) } +func (*CoreServiceTypes_GetStorageRequest) ProtoMessage() {} +func (*CoreServiceTypes_GetStorageRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_CoreService_aeabad36f2a7449f, []int{0, 6} +} +func (m *CoreServiceTypes_GetStorageRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CoreServiceTypes_GetStorageRequest.Unmarshal(m, b) +} +func (m *CoreServiceTypes_GetStorageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CoreServiceTypes_GetStorageRequest.Marshal(b, m, deterministic) +} +func (dst *CoreServiceTypes_GetStorageRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CoreServiceTypes_GetStorageRequest.Merge(dst, src) +} +func (m *CoreServiceTypes_GetStorageRequest) XXX_Size() int { + return xxx_messageInfo_CoreServiceTypes_GetStorageRequest.Size(m) +} +func (m *CoreServiceTypes_GetStorageRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CoreServiceTypes_GetStorageRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CoreServiceTypes_GetStorageRequest proto.InternalMessageInfo + +func (m *CoreServiceTypes_GetStorageRequest) GetIds() []string { + if m != nil { + return m.Ids + } + return nil +} + +type CoreServiceTypes_GetStorageResponse struct { + StorageSpecs []*specs.StorageSpec `protobuf:"bytes,1,rep,name=storageSpecs,proto3" json:"storageSpecs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CoreServiceTypes_GetStorageResponse) Reset() { *m = CoreServiceTypes_GetStorageResponse{} } +func (m *CoreServiceTypes_GetStorageResponse) String() string { return proto.CompactTextString(m) } +func (*CoreServiceTypes_GetStorageResponse) ProtoMessage() {} +func (*CoreServiceTypes_GetStorageResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_CoreService_aeabad36f2a7449f, []int{0, 7} +} +func (m *CoreServiceTypes_GetStorageResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CoreServiceTypes_GetStorageResponse.Unmarshal(m, b) +} +func (m *CoreServiceTypes_GetStorageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CoreServiceTypes_GetStorageResponse.Marshal(b, m, deterministic) +} +func (dst *CoreServiceTypes_GetStorageResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_CoreServiceTypes_GetStorageResponse.Merge(dst, src) +} +func (m *CoreServiceTypes_GetStorageResponse) XXX_Size() int { + return xxx_messageInfo_CoreServiceTypes_GetStorageResponse.Size(m) +} +func (m *CoreServiceTypes_GetStorageResponse) XXX_DiscardUnknown() { + xxx_messageInfo_CoreServiceTypes_GetStorageResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_CoreServiceTypes_GetStorageResponse proto.InternalMessageInfo + +func (m *CoreServiceTypes_GetStorageResponse) GetStorageSpecs() []*specs.StorageSpec { + if m != nil { + return m.StorageSpecs + } + return nil +} + +type CoreServiceTypes_ListStorageResponse struct { + StorageSpecs []*specs.StorageSpec `protobuf:"bytes,1,rep,name=storageSpecs,proto3" json:"storageSpecs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CoreServiceTypes_ListStorageResponse) Reset() { *m = CoreServiceTypes_ListStorageResponse{} } +func (m *CoreServiceTypes_ListStorageResponse) String() string { return proto.CompactTextString(m) } +func (*CoreServiceTypes_ListStorageResponse) ProtoMessage() {} +func (*CoreServiceTypes_ListStorageResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_CoreService_aeabad36f2a7449f, []int{0, 8} +} +func (m *CoreServiceTypes_ListStorageResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CoreServiceTypes_ListStorageResponse.Unmarshal(m, b) +} +func (m *CoreServiceTypes_ListStorageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CoreServiceTypes_ListStorageResponse.Marshal(b, m, deterministic) +} +func (dst *CoreServiceTypes_ListStorageResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_CoreServiceTypes_ListStorageResponse.Merge(dst, src) +} +func (m *CoreServiceTypes_ListStorageResponse) XXX_Size() int { + return xxx_messageInfo_CoreServiceTypes_ListStorageResponse.Size(m) +} +func (m *CoreServiceTypes_ListStorageResponse) XXX_DiscardUnknown() { + xxx_messageInfo_CoreServiceTypes_ListStorageResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_CoreServiceTypes_ListStorageResponse proto.InternalMessageInfo + +func (m *CoreServiceTypes_ListStorageResponse) GetStorageSpecs() []*specs.StorageSpec { + if m != nil { + return m.StorageSpecs + } + return nil +} + +// Entity registration response +type CoreServiceTypes_RegisterEntityResponse struct { + EntityName string `protobuf:"bytes,1,opt,name=entityName,proto3" json:"entityName,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CoreServiceTypes_RegisterEntityResponse) Reset() { + *m = CoreServiceTypes_RegisterEntityResponse{} +} +func (m *CoreServiceTypes_RegisterEntityResponse) String() string { return proto.CompactTextString(m) } +func (*CoreServiceTypes_RegisterEntityResponse) ProtoMessage() {} +func (*CoreServiceTypes_RegisterEntityResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_CoreService_aeabad36f2a7449f, []int{0, 9} +} +func (m *CoreServiceTypes_RegisterEntityResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CoreServiceTypes_RegisterEntityResponse.Unmarshal(m, b) +} +func (m *CoreServiceTypes_RegisterEntityResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CoreServiceTypes_RegisterEntityResponse.Marshal(b, m, deterministic) +} +func (dst *CoreServiceTypes_RegisterEntityResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_CoreServiceTypes_RegisterEntityResponse.Merge(dst, src) +} +func (m *CoreServiceTypes_RegisterEntityResponse) XXX_Size() int { + return xxx_messageInfo_CoreServiceTypes_RegisterEntityResponse.Size(m) +} +func (m *CoreServiceTypes_RegisterEntityResponse) XXX_DiscardUnknown() { + xxx_messageInfo_CoreServiceTypes_RegisterEntityResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_CoreServiceTypes_RegisterEntityResponse proto.InternalMessageInfo + +func (m *CoreServiceTypes_RegisterEntityResponse) GetEntityName() string { + if m != nil { + return m.EntityName + } + return "" +} + +// Feature registration response +type CoreServiceTypes_RegisterFeatureResponse struct { + FeatureId string `protobuf:"bytes,1,opt,name=featureId,proto3" json:"featureId,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CoreServiceTypes_RegisterFeatureResponse) Reset() { + *m = CoreServiceTypes_RegisterFeatureResponse{} +} +func (m *CoreServiceTypes_RegisterFeatureResponse) String() string { return proto.CompactTextString(m) } +func (*CoreServiceTypes_RegisterFeatureResponse) ProtoMessage() {} +func (*CoreServiceTypes_RegisterFeatureResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_CoreService_aeabad36f2a7449f, []int{0, 10} +} +func (m *CoreServiceTypes_RegisterFeatureResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CoreServiceTypes_RegisterFeatureResponse.Unmarshal(m, b) +} +func (m *CoreServiceTypes_RegisterFeatureResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CoreServiceTypes_RegisterFeatureResponse.Marshal(b, m, deterministic) +} +func (dst *CoreServiceTypes_RegisterFeatureResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_CoreServiceTypes_RegisterFeatureResponse.Merge(dst, src) +} +func (m *CoreServiceTypes_RegisterFeatureResponse) XXX_Size() int { + return xxx_messageInfo_CoreServiceTypes_RegisterFeatureResponse.Size(m) +} +func (m *CoreServiceTypes_RegisterFeatureResponse) XXX_DiscardUnknown() { + xxx_messageInfo_CoreServiceTypes_RegisterFeatureResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_CoreServiceTypes_RegisterFeatureResponse proto.InternalMessageInfo + +func (m *CoreServiceTypes_RegisterFeatureResponse) GetFeatureId() string { + if m != nil { + return m.FeatureId + } + return "" +} + +// Feature group registration response +type CoreServiceTypes_RegisterFeatureGroupResponse struct { + FeatureGroupId string `protobuf:"bytes,1,opt,name=featureGroupId,proto3" json:"featureGroupId,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CoreServiceTypes_RegisterFeatureGroupResponse) Reset() { + *m = CoreServiceTypes_RegisterFeatureGroupResponse{} +} +func (m *CoreServiceTypes_RegisterFeatureGroupResponse) String() string { + return proto.CompactTextString(m) +} +func (*CoreServiceTypes_RegisterFeatureGroupResponse) ProtoMessage() {} +func (*CoreServiceTypes_RegisterFeatureGroupResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_CoreService_aeabad36f2a7449f, []int{0, 11} +} +func (m *CoreServiceTypes_RegisterFeatureGroupResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CoreServiceTypes_RegisterFeatureGroupResponse.Unmarshal(m, b) +} +func (m *CoreServiceTypes_RegisterFeatureGroupResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CoreServiceTypes_RegisterFeatureGroupResponse.Marshal(b, m, deterministic) +} +func (dst *CoreServiceTypes_RegisterFeatureGroupResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_CoreServiceTypes_RegisterFeatureGroupResponse.Merge(dst, src) +} +func (m *CoreServiceTypes_RegisterFeatureGroupResponse) XXX_Size() int { + return xxx_messageInfo_CoreServiceTypes_RegisterFeatureGroupResponse.Size(m) +} +func (m *CoreServiceTypes_RegisterFeatureGroupResponse) XXX_DiscardUnknown() { + xxx_messageInfo_CoreServiceTypes_RegisterFeatureGroupResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_CoreServiceTypes_RegisterFeatureGroupResponse proto.InternalMessageInfo + +func (m *CoreServiceTypes_RegisterFeatureGroupResponse) GetFeatureGroupId() string { + if m != nil { + return m.FeatureGroupId + } + return "" +} + +// Storage registration response +type CoreServiceTypes_RegisterStorageResponse struct { + StorageId string `protobuf:"bytes,1,opt,name=storageId,proto3" json:"storageId,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CoreServiceTypes_RegisterStorageResponse) Reset() { + *m = CoreServiceTypes_RegisterStorageResponse{} +} +func (m *CoreServiceTypes_RegisterStorageResponse) String() string { return proto.CompactTextString(m) } +func (*CoreServiceTypes_RegisterStorageResponse) ProtoMessage() {} +func (*CoreServiceTypes_RegisterStorageResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_CoreService_aeabad36f2a7449f, []int{0, 12} +} +func (m *CoreServiceTypes_RegisterStorageResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CoreServiceTypes_RegisterStorageResponse.Unmarshal(m, b) +} +func (m *CoreServiceTypes_RegisterStorageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CoreServiceTypes_RegisterStorageResponse.Marshal(b, m, deterministic) +} +func (dst *CoreServiceTypes_RegisterStorageResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_CoreServiceTypes_RegisterStorageResponse.Merge(dst, src) +} +func (m *CoreServiceTypes_RegisterStorageResponse) XXX_Size() int { + return xxx_messageInfo_CoreServiceTypes_RegisterStorageResponse.Size(m) +} +func (m *CoreServiceTypes_RegisterStorageResponse) XXX_DiscardUnknown() { + xxx_messageInfo_CoreServiceTypes_RegisterStorageResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_CoreServiceTypes_RegisterStorageResponse proto.InternalMessageInfo + +func (m *CoreServiceTypes_RegisterStorageResponse) GetStorageId() string { + if m != nil { + return m.StorageId + } + return "" +} + +func init() { + proto.RegisterType((*CoreServiceTypes)(nil), "feast.core.CoreServiceTypes") + proto.RegisterType((*CoreServiceTypes_GetEntitiesRequest)(nil), "feast.core.CoreServiceTypes.GetEntitiesRequest") + proto.RegisterType((*CoreServiceTypes_GetEntitiesResponse)(nil), "feast.core.CoreServiceTypes.GetEntitiesResponse") + proto.RegisterType((*CoreServiceTypes_ListEntitiesResponse)(nil), "feast.core.CoreServiceTypes.ListEntitiesResponse") + proto.RegisterType((*CoreServiceTypes_GetFeaturesRequest)(nil), "feast.core.CoreServiceTypes.GetFeaturesRequest") + proto.RegisterType((*CoreServiceTypes_GetFeaturesResponse)(nil), "feast.core.CoreServiceTypes.GetFeaturesResponse") + proto.RegisterType((*CoreServiceTypes_ListFeaturesResponse)(nil), "feast.core.CoreServiceTypes.ListFeaturesResponse") + proto.RegisterType((*CoreServiceTypes_GetStorageRequest)(nil), "feast.core.CoreServiceTypes.GetStorageRequest") + proto.RegisterType((*CoreServiceTypes_GetStorageResponse)(nil), "feast.core.CoreServiceTypes.GetStorageResponse") + proto.RegisterType((*CoreServiceTypes_ListStorageResponse)(nil), "feast.core.CoreServiceTypes.ListStorageResponse") + proto.RegisterType((*CoreServiceTypes_RegisterEntityResponse)(nil), "feast.core.CoreServiceTypes.RegisterEntityResponse") + proto.RegisterType((*CoreServiceTypes_RegisterFeatureResponse)(nil), "feast.core.CoreServiceTypes.RegisterFeatureResponse") + proto.RegisterType((*CoreServiceTypes_RegisterFeatureGroupResponse)(nil), "feast.core.CoreServiceTypes.RegisterFeatureGroupResponse") + proto.RegisterType((*CoreServiceTypes_RegisterStorageResponse)(nil), "feast.core.CoreServiceTypes.RegisterStorageResponse") +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// CoreServiceClient is the client API for CoreService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type CoreServiceClient interface { + // + // Get entities specified in request. + // This process returns a list of entity specs. + GetEntities(ctx context.Context, in *CoreServiceTypes_GetEntitiesRequest, opts ...grpc.CallOption) (*CoreServiceTypes_GetEntitiesResponse, error) + // + // Get all entities + // This process returns a list of entity specs. + ListEntities(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*CoreServiceTypes_ListEntitiesResponse, error) + // + // Get features specified in request. + // This process returns a list of feature specs. + GetFeatures(ctx context.Context, in *CoreServiceTypes_GetFeaturesRequest, opts ...grpc.CallOption) (*CoreServiceTypes_GetFeaturesResponse, error) + // + // Get all features. + // This process returns a list of entity specs. + ListFeatures(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*CoreServiceTypes_ListFeaturesResponse, error) + // + // Get storage specs specified in request. + // This process returns a list of storage specs. + GetStorage(ctx context.Context, in *CoreServiceTypes_GetStorageRequest, opts ...grpc.CallOption) (*CoreServiceTypes_GetStorageResponse, error) + // + // Get all storage specs. + // This process returns a list of storage specs. + ListStorage(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*CoreServiceTypes_ListStorageResponse, error) + // + // Register a new feature to the metadata store. + // If any validation errors occur, only the first encountered error will be returned. + RegisterFeature(ctx context.Context, in *specs.FeatureSpec, opts ...grpc.CallOption) (*CoreServiceTypes_RegisterFeatureResponse, error) + // + // Register a new feature group to the metadata store. + // If any validation errors occur, only the first encountered error will be returned. + RegisterFeatureGroup(ctx context.Context, in *specs.FeatureGroupSpec, opts ...grpc.CallOption) (*CoreServiceTypes_RegisterFeatureGroupResponse, error) + // + // Register a new entity to the metadata store. + // If any validation errors occur, only the first encountered error will be returned. + RegisterEntity(ctx context.Context, in *specs.EntitySpec, opts ...grpc.CallOption) (*CoreServiceTypes_RegisterEntityResponse, error) + // + // Register a new storage spec to the metadata store. + // If any validation errors occur, only the first encountered error will be returned. + RegisterStorage(ctx context.Context, in *specs.StorageSpec, opts ...grpc.CallOption) (*CoreServiceTypes_RegisterStorageResponse, error) +} + +type coreServiceClient struct { + cc *grpc.ClientConn +} + +func NewCoreServiceClient(cc *grpc.ClientConn) CoreServiceClient { + return &coreServiceClient{cc} +} + +func (c *coreServiceClient) GetEntities(ctx context.Context, in *CoreServiceTypes_GetEntitiesRequest, opts ...grpc.CallOption) (*CoreServiceTypes_GetEntitiesResponse, error) { + out := new(CoreServiceTypes_GetEntitiesResponse) + err := c.cc.Invoke(ctx, "/feast.core.CoreService/GetEntities", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *coreServiceClient) ListEntities(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*CoreServiceTypes_ListEntitiesResponse, error) { + out := new(CoreServiceTypes_ListEntitiesResponse) + err := c.cc.Invoke(ctx, "/feast.core.CoreService/ListEntities", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *coreServiceClient) GetFeatures(ctx context.Context, in *CoreServiceTypes_GetFeaturesRequest, opts ...grpc.CallOption) (*CoreServiceTypes_GetFeaturesResponse, error) { + out := new(CoreServiceTypes_GetFeaturesResponse) + err := c.cc.Invoke(ctx, "/feast.core.CoreService/GetFeatures", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *coreServiceClient) ListFeatures(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*CoreServiceTypes_ListFeaturesResponse, error) { + out := new(CoreServiceTypes_ListFeaturesResponse) + err := c.cc.Invoke(ctx, "/feast.core.CoreService/ListFeatures", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *coreServiceClient) GetStorage(ctx context.Context, in *CoreServiceTypes_GetStorageRequest, opts ...grpc.CallOption) (*CoreServiceTypes_GetStorageResponse, error) { + out := new(CoreServiceTypes_GetStorageResponse) + err := c.cc.Invoke(ctx, "/feast.core.CoreService/GetStorage", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *coreServiceClient) ListStorage(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*CoreServiceTypes_ListStorageResponse, error) { + out := new(CoreServiceTypes_ListStorageResponse) + err := c.cc.Invoke(ctx, "/feast.core.CoreService/ListStorage", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *coreServiceClient) RegisterFeature(ctx context.Context, in *specs.FeatureSpec, opts ...grpc.CallOption) (*CoreServiceTypes_RegisterFeatureResponse, error) { + out := new(CoreServiceTypes_RegisterFeatureResponse) + err := c.cc.Invoke(ctx, "/feast.core.CoreService/RegisterFeature", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *coreServiceClient) RegisterFeatureGroup(ctx context.Context, in *specs.FeatureGroupSpec, opts ...grpc.CallOption) (*CoreServiceTypes_RegisterFeatureGroupResponse, error) { + out := new(CoreServiceTypes_RegisterFeatureGroupResponse) + err := c.cc.Invoke(ctx, "/feast.core.CoreService/RegisterFeatureGroup", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *coreServiceClient) RegisterEntity(ctx context.Context, in *specs.EntitySpec, opts ...grpc.CallOption) (*CoreServiceTypes_RegisterEntityResponse, error) { + out := new(CoreServiceTypes_RegisterEntityResponse) + err := c.cc.Invoke(ctx, "/feast.core.CoreService/RegisterEntity", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *coreServiceClient) RegisterStorage(ctx context.Context, in *specs.StorageSpec, opts ...grpc.CallOption) (*CoreServiceTypes_RegisterStorageResponse, error) { + out := new(CoreServiceTypes_RegisterStorageResponse) + err := c.cc.Invoke(ctx, "/feast.core.CoreService/RegisterStorage", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// CoreServiceServer is the server API for CoreService service. +type CoreServiceServer interface { + // + // Get entities specified in request. + // This process returns a list of entity specs. + GetEntities(context.Context, *CoreServiceTypes_GetEntitiesRequest) (*CoreServiceTypes_GetEntitiesResponse, error) + // + // Get all entities + // This process returns a list of entity specs. + ListEntities(context.Context, *empty.Empty) (*CoreServiceTypes_ListEntitiesResponse, error) + // + // Get features specified in request. + // This process returns a list of feature specs. + GetFeatures(context.Context, *CoreServiceTypes_GetFeaturesRequest) (*CoreServiceTypes_GetFeaturesResponse, error) + // + // Get all features. + // This process returns a list of entity specs. + ListFeatures(context.Context, *empty.Empty) (*CoreServiceTypes_ListFeaturesResponse, error) + // + // Get storage specs specified in request. + // This process returns a list of storage specs. + GetStorage(context.Context, *CoreServiceTypes_GetStorageRequest) (*CoreServiceTypes_GetStorageResponse, error) + // + // Get all storage specs. + // This process returns a list of storage specs. + ListStorage(context.Context, *empty.Empty) (*CoreServiceTypes_ListStorageResponse, error) + // + // Register a new feature to the metadata store. + // If any validation errors occur, only the first encountered error will be returned. + RegisterFeature(context.Context, *specs.FeatureSpec) (*CoreServiceTypes_RegisterFeatureResponse, error) + // + // Register a new feature group to the metadata store. + // If any validation errors occur, only the first encountered error will be returned. + RegisterFeatureGroup(context.Context, *specs.FeatureGroupSpec) (*CoreServiceTypes_RegisterFeatureGroupResponse, error) + // + // Register a new entity to the metadata store. + // If any validation errors occur, only the first encountered error will be returned. + RegisterEntity(context.Context, *specs.EntitySpec) (*CoreServiceTypes_RegisterEntityResponse, error) + // + // Register a new storage spec to the metadata store. + // If any validation errors occur, only the first encountered error will be returned. + RegisterStorage(context.Context, *specs.StorageSpec) (*CoreServiceTypes_RegisterStorageResponse, error) +} + +func RegisterCoreServiceServer(s *grpc.Server, srv CoreServiceServer) { + s.RegisterService(&_CoreService_serviceDesc, srv) +} + +func _CoreService_GetEntities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CoreServiceTypes_GetEntitiesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CoreServiceServer).GetEntities(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.CoreService/GetEntities", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CoreServiceServer).GetEntities(ctx, req.(*CoreServiceTypes_GetEntitiesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CoreService_ListEntities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CoreServiceServer).ListEntities(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.CoreService/ListEntities", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CoreServiceServer).ListEntities(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _CoreService_GetFeatures_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CoreServiceTypes_GetFeaturesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CoreServiceServer).GetFeatures(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.CoreService/GetFeatures", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CoreServiceServer).GetFeatures(ctx, req.(*CoreServiceTypes_GetFeaturesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CoreService_ListFeatures_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CoreServiceServer).ListFeatures(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.CoreService/ListFeatures", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CoreServiceServer).ListFeatures(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _CoreService_GetStorage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CoreServiceTypes_GetStorageRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CoreServiceServer).GetStorage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.CoreService/GetStorage", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CoreServiceServer).GetStorage(ctx, req.(*CoreServiceTypes_GetStorageRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CoreService_ListStorage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CoreServiceServer).ListStorage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.CoreService/ListStorage", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CoreServiceServer).ListStorage(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _CoreService_RegisterFeature_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(specs.FeatureSpec) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CoreServiceServer).RegisterFeature(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.CoreService/RegisterFeature", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CoreServiceServer).RegisterFeature(ctx, req.(*specs.FeatureSpec)) + } + return interceptor(ctx, in, info, handler) +} + +func _CoreService_RegisterFeatureGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(specs.FeatureGroupSpec) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CoreServiceServer).RegisterFeatureGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.CoreService/RegisterFeatureGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CoreServiceServer).RegisterFeatureGroup(ctx, req.(*specs.FeatureGroupSpec)) + } + return interceptor(ctx, in, info, handler) +} + +func _CoreService_RegisterEntity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(specs.EntitySpec) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CoreServiceServer).RegisterEntity(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.CoreService/RegisterEntity", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CoreServiceServer).RegisterEntity(ctx, req.(*specs.EntitySpec)) + } + return interceptor(ctx, in, info, handler) +} + +func _CoreService_RegisterStorage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(specs.StorageSpec) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CoreServiceServer).RegisterStorage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.CoreService/RegisterStorage", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CoreServiceServer).RegisterStorage(ctx, req.(*specs.StorageSpec)) + } + return interceptor(ctx, in, info, handler) +} + +var _CoreService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "feast.core.CoreService", + HandlerType: (*CoreServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetEntities", + Handler: _CoreService_GetEntities_Handler, + }, + { + MethodName: "ListEntities", + Handler: _CoreService_ListEntities_Handler, + }, + { + MethodName: "GetFeatures", + Handler: _CoreService_GetFeatures_Handler, + }, + { + MethodName: "ListFeatures", + Handler: _CoreService_ListFeatures_Handler, + }, + { + MethodName: "GetStorage", + Handler: _CoreService_GetStorage_Handler, + }, + { + MethodName: "ListStorage", + Handler: _CoreService_ListStorage_Handler, + }, + { + MethodName: "RegisterFeature", + Handler: _CoreService_RegisterFeature_Handler, + }, + { + MethodName: "RegisterFeatureGroup", + Handler: _CoreService_RegisterFeatureGroup_Handler, + }, + { + MethodName: "RegisterEntity", + Handler: _CoreService_RegisterEntity_Handler, + }, + { + MethodName: "RegisterStorage", + Handler: _CoreService_RegisterStorage_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "feast/core/CoreService.proto", +} + +func init() { + proto.RegisterFile("feast/core/CoreService.proto", fileDescriptor_CoreService_aeabad36f2a7449f) +} + +var fileDescriptor_CoreService_aeabad36f2a7449f = []byte{ + // 605 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x5f, 0x4f, 0x13, 0x41, + 0x10, 0x6f, 0x43, 0x42, 0xda, 0x29, 0x41, 0x5c, 0x08, 0x34, 0x6b, 0x31, 0xa4, 0x89, 0x84, 0x17, + 0xf6, 0x90, 0x36, 0x51, 0x13, 0x9f, 0x30, 0xd0, 0x28, 0xc4, 0x98, 0x2b, 0x2f, 0xea, 0x8b, 0xed, + 0x31, 0x3d, 0x4e, 0x2d, 0x7b, 0xde, 0x6e, 0x4d, 0xfa, 0x59, 0xfc, 0x66, 0x7e, 0x1a, 0x73, 0x7b, + 0xdb, 0xbd, 0xbd, 0xeb, 0x5d, 0x5b, 0x49, 0xdf, 0xda, 0xf9, 0xff, 0x9b, 0x99, 0xdf, 0xec, 0x41, + 0x6b, 0x84, 0x03, 0x21, 0x1d, 0x8f, 0x47, 0xe8, 0xbc, 0xe3, 0x11, 0xf6, 0x31, 0xfa, 0x1d, 0x78, + 0xc8, 0xc2, 0x88, 0x4b, 0x4e, 0x40, 0x69, 0x59, 0xac, 0xa5, 0xda, 0x52, 0x84, 0xe8, 0x09, 0xe7, + 0xf2, 0x41, 0x06, 0x72, 0xda, 0x0f, 0xd1, 0x4b, 0x2c, 0xe9, 0xa1, 0xad, 0xbd, 0xc2, 0x81, 0x9c, + 0x44, 0x68, 0xa9, 0xdb, 0x05, 0xea, 0x5e, 0xc4, 0x27, 0x61, 0x59, 0x88, 0xbe, 0xe4, 0xd1, 0xc0, + 0xb7, 0x43, 0x3c, 0xf3, 0x39, 0xf7, 0x7f, 0xa2, 0xa3, 0xfe, 0x0d, 0x27, 0x23, 0x07, 0xc7, 0xa1, + 0x9c, 0x26, 0xca, 0xf6, 0xdf, 0x4d, 0xd8, 0xb1, 0xca, 0xbf, 0x9d, 0x86, 0x28, 0xe8, 0x31, 0x90, + 0x1e, 0x4a, 0x55, 0x6a, 0x80, 0xc2, 0xc5, 0x5f, 0x13, 0x14, 0x92, 0xec, 0xc0, 0x46, 0x70, 0x27, + 0x9a, 0xd5, 0xa3, 0x8d, 0x93, 0xba, 0x1b, 0xff, 0xa4, 0x1f, 0x60, 0x37, 0x63, 0x27, 0x42, 0xfe, + 0x20, 0x90, 0x74, 0xa0, 0x86, 0x5a, 0xa6, 0xac, 0x1b, 0xe7, 0x07, 0x2c, 0xe9, 0x87, 0x2a, 0x91, + 0xa5, 0x3d, 0x70, 0x8d, 0x21, 0xbd, 0x86, 0xbd, 0x9b, 0x40, 0xac, 0x29, 0x58, 0x02, 0x40, 0xb7, + 0x6b, 0x01, 0x80, 0x6b, 0x05, 0x20, 0xb5, 0xd3, 0x39, 0xbb, 0x50, 0x1b, 0x69, 0x99, 0xce, 0xd9, + 0xcc, 0xe4, 0xb4, 0xc6, 0xe4, 0x1a, 0x4b, 0x7a, 0x93, 0x20, 0x58, 0x53, 0xb4, 0x17, 0xf0, 0xb4, + 0x87, 0x52, 0x4f, 0xb3, 0x1c, 0x81, 0xab, 0x90, 0x1a, 0x33, 0x9d, 0xf2, 0x2d, 0x6c, 0x89, 0x74, + 0x0f, 0x8a, 0xd3, 0x5a, 0x8b, 0xe2, 0x66, 0xac, 0x69, 0x1f, 0x76, 0x63, 0x20, 0xeb, 0x0d, 0xfa, + 0x1a, 0xf6, 0x5d, 0xf4, 0x03, 0x21, 0x31, 0x4a, 0x46, 0x66, 0xe2, 0x3e, 0x07, 0x50, 0x83, 0x9b, + 0x7e, 0x1c, 0x8c, 0xb1, 0x59, 0x3d, 0xaa, 0x9e, 0xd4, 0x5d, 0x4b, 0x42, 0x5f, 0xc1, 0xc1, 0xcc, + 0x53, 0xb7, 0xca, 0xb8, 0xb6, 0xa0, 0xae, 0x1b, 0xf6, 0xfe, 0x4e, 0x7b, 0xa6, 0x02, 0x7a, 0x05, + 0xad, 0x9c, 0xa3, 0x62, 0x8e, 0xf1, 0x3e, 0x86, 0xed, 0x91, 0x25, 0x37, 0x21, 0x72, 0x52, 0xbb, + 0x80, 0x7c, 0x4f, 0x5a, 0x50, 0xd7, 0x28, 0xd3, 0x02, 0x8c, 0xe0, 0xfc, 0x4f, 0x0d, 0x1a, 0x16, + 0xb9, 0x48, 0x04, 0x0d, 0x8b, 0x2f, 0xc4, 0x61, 0xe9, 0x95, 0x60, 0x79, 0x12, 0xb2, 0x79, 0x06, + 0xd2, 0xb3, 0xd5, 0x1d, 0x92, 0xfa, 0xda, 0x15, 0xf2, 0x15, 0xb6, 0x6c, 0x5e, 0x91, 0x7d, 0x96, + 0x9c, 0x03, 0x36, 0x3b, 0x07, 0xec, 0x32, 0x3e, 0x07, 0xf4, 0xe5, 0xc2, 0xd8, 0x45, 0xd4, 0x6c, + 0x57, 0x34, 0xa0, 0xd9, 0xc6, 0x2f, 0x07, 0x94, 0x63, 0xe4, 0x72, 0x40, 0x79, 0x32, 0xa5, 0x80, + 0x4c, 0xd2, 0xc7, 0x03, 0x2a, 0x08, 0xce, 0x01, 0x52, 0x3a, 0x11, 0xb6, 0xac, 0xbc, 0x2c, 0x3d, + 0xa9, 0xb3, 0xb2, 0xbd, 0x49, 0xf8, 0x19, 0x1a, 0x16, 0xd7, 0x4a, 0xc1, 0x9c, 0x2d, 0x05, 0x33, + 0x1f, 0xda, 0x83, 0x27, 0xb9, 0xf5, 0x27, 0xa5, 0x87, 0x87, 0x76, 0x17, 0x26, 0x28, 0xe1, 0x9f, + 0xda, 0x80, 0xbd, 0x22, 0x8e, 0x91, 0xc3, 0xa2, 0x4c, 0xe6, 0xe1, 0xa2, 0x6f, 0xfe, 0x27, 0x5d, + 0x86, 0xb5, 0xed, 0x0a, 0xf9, 0x06, 0xdb, 0xd9, 0x53, 0x42, 0xca, 0x9e, 0x04, 0xda, 0x59, 0x29, + 0x4f, 0xf6, 0x20, 0x65, 0x5b, 0x37, 0x9b, 0x4c, 0xe9, 0x9d, 0x5b, 0xb1, 0x75, 0x73, 0xf3, 0xb9, + 0xb8, 0x05, 0xeb, 0x2b, 0xe1, 0xc2, 0x7e, 0x85, 0x3f, 0xc5, 0xc3, 0xff, 0xd2, 0xf5, 0x03, 0x79, + 0x3f, 0x19, 0x32, 0x8f, 0x8f, 0x1d, 0x9f, 0x7f, 0xc7, 0x1f, 0x12, 0xbd, 0x7b, 0x27, 0x79, 0xeb, + 0x7d, 0x7e, 0xaa, 0x7e, 0x9c, 0xaa, 0x3d, 0x71, 0xd2, 0x6f, 0x91, 0xe1, 0xa6, 0x92, 0x74, 0xfe, + 0x05, 0x00, 0x00, 0xff, 0xff, 0x78, 0x92, 0x55, 0xe6, 0xa0, 0x08, 0x00, 0x00, +} diff --git a/go-feast-proto/feast/core/JobService.pb.go b/go-feast-proto/feast/core/JobService.pb.go new file mode 100644 index 0000000000..8eb8f0b5f3 --- /dev/null +++ b/go-feast-proto/feast/core/JobService.pb.go @@ -0,0 +1,686 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: feast/core/JobService.proto + +package core // import "github.com/gojektech/feast/go-feast-proto/feast/core" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import specs "github.com/gojektech/feast/go-feast-proto/feast/specs" +import empty "github.com/golang/protobuf/ptypes/empty" +import timestamp "github.com/golang/protobuf/ptypes/timestamp" + +import ( + context "golang.org/x/net/context" + grpc "google.golang.org/grpc" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type JobServiceTypes struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *JobServiceTypes) Reset() { *m = JobServiceTypes{} } +func (m *JobServiceTypes) String() string { return proto.CompactTextString(m) } +func (*JobServiceTypes) ProtoMessage() {} +func (*JobServiceTypes) Descriptor() ([]byte, []int) { + return fileDescriptor_JobService_b861c257f311e6ea, []int{0} +} +func (m *JobServiceTypes) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_JobServiceTypes.Unmarshal(m, b) +} +func (m *JobServiceTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_JobServiceTypes.Marshal(b, m, deterministic) +} +func (dst *JobServiceTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_JobServiceTypes.Merge(dst, src) +} +func (m *JobServiceTypes) XXX_Size() int { + return xxx_messageInfo_JobServiceTypes.Size(m) +} +func (m *JobServiceTypes) XXX_DiscardUnknown() { + xxx_messageInfo_JobServiceTypes.DiscardUnknown(m) +} + +var xxx_messageInfo_JobServiceTypes proto.InternalMessageInfo + +type JobServiceTypes_SubmitImportJobRequest struct { + ImportSpec *specs.ImportSpec `protobuf:"bytes,1,opt,name=importSpec,proto3" json:"importSpec,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *JobServiceTypes_SubmitImportJobRequest) Reset() { + *m = JobServiceTypes_SubmitImportJobRequest{} +} +func (m *JobServiceTypes_SubmitImportJobRequest) String() string { return proto.CompactTextString(m) } +func (*JobServiceTypes_SubmitImportJobRequest) ProtoMessage() {} +func (*JobServiceTypes_SubmitImportJobRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_JobService_b861c257f311e6ea, []int{0, 0} +} +func (m *JobServiceTypes_SubmitImportJobRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_JobServiceTypes_SubmitImportJobRequest.Unmarshal(m, b) +} +func (m *JobServiceTypes_SubmitImportJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_JobServiceTypes_SubmitImportJobRequest.Marshal(b, m, deterministic) +} +func (dst *JobServiceTypes_SubmitImportJobRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_JobServiceTypes_SubmitImportJobRequest.Merge(dst, src) +} +func (m *JobServiceTypes_SubmitImportJobRequest) XXX_Size() int { + return xxx_messageInfo_JobServiceTypes_SubmitImportJobRequest.Size(m) +} +func (m *JobServiceTypes_SubmitImportJobRequest) XXX_DiscardUnknown() { + xxx_messageInfo_JobServiceTypes_SubmitImportJobRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_JobServiceTypes_SubmitImportJobRequest proto.InternalMessageInfo + +func (m *JobServiceTypes_SubmitImportJobRequest) GetImportSpec() *specs.ImportSpec { + if m != nil { + return m.ImportSpec + } + return nil +} + +func (m *JobServiceTypes_SubmitImportJobRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +type JobServiceTypes_SubmitImportJobResponse struct { + JobId string `protobuf:"bytes,1,opt,name=jobId,proto3" json:"jobId,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *JobServiceTypes_SubmitImportJobResponse) Reset() { + *m = JobServiceTypes_SubmitImportJobResponse{} +} +func (m *JobServiceTypes_SubmitImportJobResponse) String() string { return proto.CompactTextString(m) } +func (*JobServiceTypes_SubmitImportJobResponse) ProtoMessage() {} +func (*JobServiceTypes_SubmitImportJobResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_JobService_b861c257f311e6ea, []int{0, 1} +} +func (m *JobServiceTypes_SubmitImportJobResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_JobServiceTypes_SubmitImportJobResponse.Unmarshal(m, b) +} +func (m *JobServiceTypes_SubmitImportJobResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_JobServiceTypes_SubmitImportJobResponse.Marshal(b, m, deterministic) +} +func (dst *JobServiceTypes_SubmitImportJobResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_JobServiceTypes_SubmitImportJobResponse.Merge(dst, src) +} +func (m *JobServiceTypes_SubmitImportJobResponse) XXX_Size() int { + return xxx_messageInfo_JobServiceTypes_SubmitImportJobResponse.Size(m) +} +func (m *JobServiceTypes_SubmitImportJobResponse) XXX_DiscardUnknown() { + xxx_messageInfo_JobServiceTypes_SubmitImportJobResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_JobServiceTypes_SubmitImportJobResponse proto.InternalMessageInfo + +func (m *JobServiceTypes_SubmitImportJobResponse) GetJobId() string { + if m != nil { + return m.JobId + } + return "" +} + +type JobServiceTypes_ListJobsResponse struct { + Jobs []*JobServiceTypes_JobDetail `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *JobServiceTypes_ListJobsResponse) Reset() { *m = JobServiceTypes_ListJobsResponse{} } +func (m *JobServiceTypes_ListJobsResponse) String() string { return proto.CompactTextString(m) } +func (*JobServiceTypes_ListJobsResponse) ProtoMessage() {} +func (*JobServiceTypes_ListJobsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_JobService_b861c257f311e6ea, []int{0, 2} +} +func (m *JobServiceTypes_ListJobsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_JobServiceTypes_ListJobsResponse.Unmarshal(m, b) +} +func (m *JobServiceTypes_ListJobsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_JobServiceTypes_ListJobsResponse.Marshal(b, m, deterministic) +} +func (dst *JobServiceTypes_ListJobsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_JobServiceTypes_ListJobsResponse.Merge(dst, src) +} +func (m *JobServiceTypes_ListJobsResponse) XXX_Size() int { + return xxx_messageInfo_JobServiceTypes_ListJobsResponse.Size(m) +} +func (m *JobServiceTypes_ListJobsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_JobServiceTypes_ListJobsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_JobServiceTypes_ListJobsResponse proto.InternalMessageInfo + +func (m *JobServiceTypes_ListJobsResponse) GetJobs() []*JobServiceTypes_JobDetail { + if m != nil { + return m.Jobs + } + return nil +} + +type JobServiceTypes_GetJobRequest struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *JobServiceTypes_GetJobRequest) Reset() { *m = JobServiceTypes_GetJobRequest{} } +func (m *JobServiceTypes_GetJobRequest) String() string { return proto.CompactTextString(m) } +func (*JobServiceTypes_GetJobRequest) ProtoMessage() {} +func (*JobServiceTypes_GetJobRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_JobService_b861c257f311e6ea, []int{0, 3} +} +func (m *JobServiceTypes_GetJobRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_JobServiceTypes_GetJobRequest.Unmarshal(m, b) +} +func (m *JobServiceTypes_GetJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_JobServiceTypes_GetJobRequest.Marshal(b, m, deterministic) +} +func (dst *JobServiceTypes_GetJobRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_JobServiceTypes_GetJobRequest.Merge(dst, src) +} +func (m *JobServiceTypes_GetJobRequest) XXX_Size() int { + return xxx_messageInfo_JobServiceTypes_GetJobRequest.Size(m) +} +func (m *JobServiceTypes_GetJobRequest) XXX_DiscardUnknown() { + xxx_messageInfo_JobServiceTypes_GetJobRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_JobServiceTypes_GetJobRequest proto.InternalMessageInfo + +func (m *JobServiceTypes_GetJobRequest) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +type JobServiceTypes_GetJobResponse struct { + Job *JobServiceTypes_JobDetail `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *JobServiceTypes_GetJobResponse) Reset() { *m = JobServiceTypes_GetJobResponse{} } +func (m *JobServiceTypes_GetJobResponse) String() string { return proto.CompactTextString(m) } +func (*JobServiceTypes_GetJobResponse) ProtoMessage() {} +func (*JobServiceTypes_GetJobResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_JobService_b861c257f311e6ea, []int{0, 4} +} +func (m *JobServiceTypes_GetJobResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_JobServiceTypes_GetJobResponse.Unmarshal(m, b) +} +func (m *JobServiceTypes_GetJobResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_JobServiceTypes_GetJobResponse.Marshal(b, m, deterministic) +} +func (dst *JobServiceTypes_GetJobResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_JobServiceTypes_GetJobResponse.Merge(dst, src) +} +func (m *JobServiceTypes_GetJobResponse) XXX_Size() int { + return xxx_messageInfo_JobServiceTypes_GetJobResponse.Size(m) +} +func (m *JobServiceTypes_GetJobResponse) XXX_DiscardUnknown() { + xxx_messageInfo_JobServiceTypes_GetJobResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_JobServiceTypes_GetJobResponse proto.InternalMessageInfo + +func (m *JobServiceTypes_GetJobResponse) GetJob() *JobServiceTypes_JobDetail { + if m != nil { + return m.Job + } + return nil +} + +type JobServiceTypes_AbortJobRequest struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *JobServiceTypes_AbortJobRequest) Reset() { *m = JobServiceTypes_AbortJobRequest{} } +func (m *JobServiceTypes_AbortJobRequest) String() string { return proto.CompactTextString(m) } +func (*JobServiceTypes_AbortJobRequest) ProtoMessage() {} +func (*JobServiceTypes_AbortJobRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_JobService_b861c257f311e6ea, []int{0, 5} +} +func (m *JobServiceTypes_AbortJobRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_JobServiceTypes_AbortJobRequest.Unmarshal(m, b) +} +func (m *JobServiceTypes_AbortJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_JobServiceTypes_AbortJobRequest.Marshal(b, m, deterministic) +} +func (dst *JobServiceTypes_AbortJobRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_JobServiceTypes_AbortJobRequest.Merge(dst, src) +} +func (m *JobServiceTypes_AbortJobRequest) XXX_Size() int { + return xxx_messageInfo_JobServiceTypes_AbortJobRequest.Size(m) +} +func (m *JobServiceTypes_AbortJobRequest) XXX_DiscardUnknown() { + xxx_messageInfo_JobServiceTypes_AbortJobRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_JobServiceTypes_AbortJobRequest proto.InternalMessageInfo + +func (m *JobServiceTypes_AbortJobRequest) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +type JobServiceTypes_AbortJobResponse struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *JobServiceTypes_AbortJobResponse) Reset() { *m = JobServiceTypes_AbortJobResponse{} } +func (m *JobServiceTypes_AbortJobResponse) String() string { return proto.CompactTextString(m) } +func (*JobServiceTypes_AbortJobResponse) ProtoMessage() {} +func (*JobServiceTypes_AbortJobResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_JobService_b861c257f311e6ea, []int{0, 6} +} +func (m *JobServiceTypes_AbortJobResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_JobServiceTypes_AbortJobResponse.Unmarshal(m, b) +} +func (m *JobServiceTypes_AbortJobResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_JobServiceTypes_AbortJobResponse.Marshal(b, m, deterministic) +} +func (dst *JobServiceTypes_AbortJobResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_JobServiceTypes_AbortJobResponse.Merge(dst, src) +} +func (m *JobServiceTypes_AbortJobResponse) XXX_Size() int { + return xxx_messageInfo_JobServiceTypes_AbortJobResponse.Size(m) +} +func (m *JobServiceTypes_AbortJobResponse) XXX_DiscardUnknown() { + xxx_messageInfo_JobServiceTypes_AbortJobResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_JobServiceTypes_AbortJobResponse proto.InternalMessageInfo + +func (m *JobServiceTypes_AbortJobResponse) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +// Expanded view of a given job. Returns job information, as well +// as latest metrics. +type JobServiceTypes_JobDetail struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + ExtId string `protobuf:"bytes,2,opt,name=extId,proto3" json:"extId,omitempty"` + Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` + Runner string `protobuf:"bytes,4,opt,name=runner,proto3" json:"runner,omitempty"` + Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` + Entities []string `protobuf:"bytes,6,rep,name=entities,proto3" json:"entities,omitempty"` + Features []string `protobuf:"bytes,7,rep,name=features,proto3" json:"features,omitempty"` + Metrics map[string]float64 `protobuf:"bytes,8,rep,name=metrics,proto3" json:"metrics,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"` + LastUpdated *timestamp.Timestamp `protobuf:"bytes,9,opt,name=lastUpdated,proto3" json:"lastUpdated,omitempty"` + Created *timestamp.Timestamp `protobuf:"bytes,10,opt,name=created,proto3" json:"created,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *JobServiceTypes_JobDetail) Reset() { *m = JobServiceTypes_JobDetail{} } +func (m *JobServiceTypes_JobDetail) String() string { return proto.CompactTextString(m) } +func (*JobServiceTypes_JobDetail) ProtoMessage() {} +func (*JobServiceTypes_JobDetail) Descriptor() ([]byte, []int) { + return fileDescriptor_JobService_b861c257f311e6ea, []int{0, 7} +} +func (m *JobServiceTypes_JobDetail) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_JobServiceTypes_JobDetail.Unmarshal(m, b) +} +func (m *JobServiceTypes_JobDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_JobServiceTypes_JobDetail.Marshal(b, m, deterministic) +} +func (dst *JobServiceTypes_JobDetail) XXX_Merge(src proto.Message) { + xxx_messageInfo_JobServiceTypes_JobDetail.Merge(dst, src) +} +func (m *JobServiceTypes_JobDetail) XXX_Size() int { + return xxx_messageInfo_JobServiceTypes_JobDetail.Size(m) +} +func (m *JobServiceTypes_JobDetail) XXX_DiscardUnknown() { + xxx_messageInfo_JobServiceTypes_JobDetail.DiscardUnknown(m) +} + +var xxx_messageInfo_JobServiceTypes_JobDetail proto.InternalMessageInfo + +func (m *JobServiceTypes_JobDetail) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +func (m *JobServiceTypes_JobDetail) GetExtId() string { + if m != nil { + return m.ExtId + } + return "" +} + +func (m *JobServiceTypes_JobDetail) GetType() string { + if m != nil { + return m.Type + } + return "" +} + +func (m *JobServiceTypes_JobDetail) GetRunner() string { + if m != nil { + return m.Runner + } + return "" +} + +func (m *JobServiceTypes_JobDetail) GetStatus() string { + if m != nil { + return m.Status + } + return "" +} + +func (m *JobServiceTypes_JobDetail) GetEntities() []string { + if m != nil { + return m.Entities + } + return nil +} + +func (m *JobServiceTypes_JobDetail) GetFeatures() []string { + if m != nil { + return m.Features + } + return nil +} + +func (m *JobServiceTypes_JobDetail) GetMetrics() map[string]float64 { + if m != nil { + return m.Metrics + } + return nil +} + +func (m *JobServiceTypes_JobDetail) GetLastUpdated() *timestamp.Timestamp { + if m != nil { + return m.LastUpdated + } + return nil +} + +func (m *JobServiceTypes_JobDetail) GetCreated() *timestamp.Timestamp { + if m != nil { + return m.Created + } + return nil +} + +func init() { + proto.RegisterType((*JobServiceTypes)(nil), "feast.core.JobServiceTypes") + proto.RegisterType((*JobServiceTypes_SubmitImportJobRequest)(nil), "feast.core.JobServiceTypes.SubmitImportJobRequest") + proto.RegisterType((*JobServiceTypes_SubmitImportJobResponse)(nil), "feast.core.JobServiceTypes.SubmitImportJobResponse") + proto.RegisterType((*JobServiceTypes_ListJobsResponse)(nil), "feast.core.JobServiceTypes.ListJobsResponse") + proto.RegisterType((*JobServiceTypes_GetJobRequest)(nil), "feast.core.JobServiceTypes.GetJobRequest") + proto.RegisterType((*JobServiceTypes_GetJobResponse)(nil), "feast.core.JobServiceTypes.GetJobResponse") + proto.RegisterType((*JobServiceTypes_AbortJobRequest)(nil), "feast.core.JobServiceTypes.AbortJobRequest") + proto.RegisterType((*JobServiceTypes_AbortJobResponse)(nil), "feast.core.JobServiceTypes.AbortJobResponse") + proto.RegisterType((*JobServiceTypes_JobDetail)(nil), "feast.core.JobServiceTypes.JobDetail") + proto.RegisterMapType((map[string]float64)(nil), "feast.core.JobServiceTypes.JobDetail.MetricsEntry") +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// JobServiceClient is the client API for JobService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type JobServiceClient interface { + // Submit a job to feast to run. Returns the job id. + SubmitJob(ctx context.Context, in *JobServiceTypes_SubmitImportJobRequest, opts ...grpc.CallOption) (*JobServiceTypes_SubmitImportJobResponse, error) + // List all jobs submitted to feast. + ListJobs(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*JobServiceTypes_ListJobsResponse, error) + // Get Job with ID + GetJob(ctx context.Context, in *JobServiceTypes_GetJobRequest, opts ...grpc.CallOption) (*JobServiceTypes_GetJobResponse, error) + // Abort job with given ID + AbortJob(ctx context.Context, in *JobServiceTypes_AbortJobRequest, opts ...grpc.CallOption) (*JobServiceTypes_AbortJobResponse, error) +} + +type jobServiceClient struct { + cc *grpc.ClientConn +} + +func NewJobServiceClient(cc *grpc.ClientConn) JobServiceClient { + return &jobServiceClient{cc} +} + +func (c *jobServiceClient) SubmitJob(ctx context.Context, in *JobServiceTypes_SubmitImportJobRequest, opts ...grpc.CallOption) (*JobServiceTypes_SubmitImportJobResponse, error) { + out := new(JobServiceTypes_SubmitImportJobResponse) + err := c.cc.Invoke(ctx, "/feast.core.JobService/SubmitJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) ListJobs(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*JobServiceTypes_ListJobsResponse, error) { + out := new(JobServiceTypes_ListJobsResponse) + err := c.cc.Invoke(ctx, "/feast.core.JobService/ListJobs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) GetJob(ctx context.Context, in *JobServiceTypes_GetJobRequest, opts ...grpc.CallOption) (*JobServiceTypes_GetJobResponse, error) { + out := new(JobServiceTypes_GetJobResponse) + err := c.cc.Invoke(ctx, "/feast.core.JobService/GetJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *jobServiceClient) AbortJob(ctx context.Context, in *JobServiceTypes_AbortJobRequest, opts ...grpc.CallOption) (*JobServiceTypes_AbortJobResponse, error) { + out := new(JobServiceTypes_AbortJobResponse) + err := c.cc.Invoke(ctx, "/feast.core.JobService/AbortJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// JobServiceServer is the server API for JobService service. +type JobServiceServer interface { + // Submit a job to feast to run. Returns the job id. + SubmitJob(context.Context, *JobServiceTypes_SubmitImportJobRequest) (*JobServiceTypes_SubmitImportJobResponse, error) + // List all jobs submitted to feast. + ListJobs(context.Context, *empty.Empty) (*JobServiceTypes_ListJobsResponse, error) + // Get Job with ID + GetJob(context.Context, *JobServiceTypes_GetJobRequest) (*JobServiceTypes_GetJobResponse, error) + // Abort job with given ID + AbortJob(context.Context, *JobServiceTypes_AbortJobRequest) (*JobServiceTypes_AbortJobResponse, error) +} + +func RegisterJobServiceServer(s *grpc.Server, srv JobServiceServer) { + s.RegisterService(&_JobService_serviceDesc, srv) +} + +func _JobService_SubmitJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(JobServiceTypes_SubmitImportJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).SubmitJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.JobService/SubmitJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).SubmitJob(ctx, req.(*JobServiceTypes_SubmitImportJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_ListJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).ListJobs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.JobService/ListJobs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).ListJobs(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_GetJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(JobServiceTypes_GetJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).GetJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.JobService/GetJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).GetJob(ctx, req.(*JobServiceTypes_GetJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _JobService_AbortJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(JobServiceTypes_AbortJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(JobServiceServer).AbortJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.JobService/AbortJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(JobServiceServer).AbortJob(ctx, req.(*JobServiceTypes_AbortJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _JobService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "feast.core.JobService", + HandlerType: (*JobServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "SubmitJob", + Handler: _JobService_SubmitJob_Handler, + }, + { + MethodName: "ListJobs", + Handler: _JobService_ListJobs_Handler, + }, + { + MethodName: "GetJob", + Handler: _JobService_GetJob_Handler, + }, + { + MethodName: "AbortJob", + Handler: _JobService_AbortJob_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "feast/core/JobService.proto", +} + +func init() { + proto.RegisterFile("feast/core/JobService.proto", fileDescriptor_JobService_b861c257f311e6ea) +} + +var fileDescriptor_JobService_b861c257f311e6ea = []byte{ + // 619 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xdb, 0x4e, 0xdb, 0x40, + 0x10, 0x55, 0x62, 0x08, 0xc9, 0xd0, 0x02, 0x5a, 0x55, 0x60, 0x2d, 0x95, 0x48, 0x91, 0x2a, 0xa5, + 0x17, 0x6c, 0x29, 0x20, 0xd1, 0xa2, 0xbe, 0x14, 0x15, 0x55, 0x41, 0x20, 0x21, 0x87, 0xbe, 0xf4, + 0xa5, 0xb2, 0x9d, 0x21, 0x6c, 0x88, 0xbd, 0xae, 0x77, 0x8d, 0x9a, 0x7f, 0xe9, 0x1f, 0xf4, 0x8b, + 0xfa, 0x37, 0xd5, 0xee, 0xda, 0xb1, 0x31, 0x55, 0x9a, 0xbe, 0xed, 0xd9, 0x39, 0xe3, 0xb3, 0x73, + 0x3c, 0x33, 0xb0, 0x7b, 0x83, 0xbe, 0x90, 0x6e, 0xc8, 0x53, 0x74, 0xcf, 0x79, 0x30, 0xc4, 0xf4, + 0x9e, 0x85, 0xe8, 0x24, 0x29, 0x97, 0x9c, 0x80, 0x0e, 0x3a, 0x2a, 0x48, 0x9f, 0x1b, 0xa2, 0x48, + 0x30, 0x14, 0xee, 0x20, 0x4a, 0x78, 0x2a, 0x87, 0x09, 0x86, 0x86, 0x49, 0x77, 0xc7, 0x9c, 0x8f, + 0xa7, 0xe8, 0x6a, 0x14, 0x64, 0x37, 0x2e, 0x46, 0x89, 0x9c, 0xe5, 0xc1, 0xbd, 0x7a, 0x50, 0xb2, + 0x08, 0x85, 0xf4, 0xa3, 0xc4, 0x10, 0xf6, 0x7f, 0xb7, 0x60, 0xb3, 0x14, 0xbf, 0x9e, 0x25, 0x28, + 0x28, 0xc2, 0xf6, 0x30, 0x0b, 0x22, 0x26, 0x8d, 0xd6, 0x39, 0x0f, 0x3c, 0xfc, 0x9e, 0xa1, 0x90, + 0xe4, 0x18, 0x80, 0xcd, 0xf5, 0xed, 0x46, 0xb7, 0xd1, 0x5b, 0xef, 0xef, 0x38, 0xe6, 0xa9, 0xfa, + 0x79, 0x4e, 0xf9, 0x3c, 0xaf, 0x42, 0x25, 0x04, 0x56, 0x62, 0x3f, 0x42, 0xbb, 0xd9, 0x6d, 0xf4, + 0x3a, 0x9e, 0x3e, 0x53, 0x17, 0x76, 0x1e, 0xc9, 0x88, 0x84, 0xc7, 0x02, 0xc9, 0x33, 0x58, 0x9d, + 0xf0, 0x60, 0x30, 0xd2, 0x12, 0x1d, 0xcf, 0x00, 0x7a, 0x09, 0x5b, 0x17, 0x4c, 0x28, 0xa2, 0x98, + 0x33, 0xdf, 0xc3, 0xca, 0x84, 0x07, 0xc2, 0x6e, 0x74, 0xad, 0xde, 0x7a, 0xff, 0xa5, 0x53, 0xda, + 0xe6, 0xd4, 0xca, 0x52, 0xf8, 0x13, 0x4a, 0x9f, 0x4d, 0x3d, 0x9d, 0x42, 0xf7, 0xe0, 0xe9, 0x67, + 0xac, 0x56, 0xb7, 0x01, 0x4d, 0x56, 0x48, 0x36, 0xd9, 0x88, 0x0e, 0x60, 0xa3, 0x20, 0xe4, 0x6a, + 0xc7, 0x60, 0x4d, 0x78, 0x90, 0x17, 0xbe, 0xa4, 0x98, 0xca, 0xa0, 0x2f, 0x60, 0xf3, 0x63, 0xf0, + 0xd0, 0xcb, 0xba, 0xda, 0x3e, 0x6c, 0x95, 0x94, 0x5c, 0xaf, 0xce, 0xf9, 0x65, 0x41, 0x67, 0xfe, + 0xe5, 0x7a, 0x54, 0xb9, 0x86, 0x3f, 0xe4, 0x60, 0x94, 0xbb, 0x6c, 0x80, 0xb2, 0x5e, 0xce, 0x12, + 0xb4, 0x2d, 0x63, 0xbd, 0x3a, 0x93, 0x6d, 0x68, 0xa5, 0x59, 0x1c, 0x63, 0x6a, 0xaf, 0xe8, 0xdb, + 0x1c, 0xa9, 0x7b, 0x21, 0x7d, 0x99, 0x09, 0x7b, 0xd5, 0xdc, 0x1b, 0x44, 0x28, 0xb4, 0x31, 0x96, + 0x4c, 0x32, 0x14, 0x76, 0xab, 0x6b, 0xf5, 0x3a, 0xde, 0x1c, 0xab, 0xd8, 0x0d, 0xfa, 0x32, 0x4b, + 0x51, 0xd8, 0x6b, 0x26, 0x56, 0x60, 0x72, 0x01, 0x6b, 0x11, 0xca, 0x94, 0x85, 0xc2, 0x6e, 0xeb, + 0x1f, 0xd4, 0x5f, 0xca, 0x33, 0xe7, 0xd2, 0x24, 0x9d, 0xc5, 0x32, 0x9d, 0x79, 0xc5, 0x27, 0xc8, + 0x07, 0x58, 0x9f, 0xfa, 0x42, 0x7e, 0x49, 0x46, 0xbe, 0xc4, 0x91, 0xdd, 0xd1, 0x7f, 0x81, 0x3a, + 0xa6, 0xc5, 0x9d, 0xa2, 0xc5, 0x9d, 0xeb, 0xa2, 0xc5, 0xbd, 0x2a, 0x9d, 0x1c, 0xc1, 0x5a, 0x98, + 0xa2, 0xce, 0x84, 0x7f, 0x66, 0x16, 0x54, 0x7a, 0x02, 0x4f, 0xaa, 0x8f, 0x21, 0x5b, 0x60, 0xdd, + 0xe1, 0x2c, 0x37, 0x5d, 0x1d, 0x95, 0xeb, 0xf7, 0xfe, 0x34, 0x33, 0xbd, 0xdd, 0xf0, 0x0c, 0x38, + 0x69, 0xbe, 0x6b, 0xf4, 0x7f, 0x5a, 0x00, 0x65, 0x8d, 0x44, 0x42, 0xc7, 0xf4, 0xfb, 0x39, 0x0f, + 0xc8, 0x42, 0x23, 0xfe, 0x3e, 0x7d, 0xf4, 0xf0, 0xbf, 0x72, 0xf2, 0x16, 0xba, 0x82, 0x76, 0x31, + 0x34, 0x64, 0xfb, 0x51, 0xc5, 0x67, 0x6a, 0x57, 0xd0, 0xb7, 0x8b, 0x3e, 0xfc, 0x68, 0xe4, 0xbe, + 0x41, 0xcb, 0x8c, 0x05, 0x79, 0xb5, 0x28, 0xef, 0xc1, 0x6c, 0xd1, 0xd7, 0xcb, 0x50, 0x73, 0x01, + 0x84, 0x76, 0x31, 0x09, 0xe4, 0xcd, 0xa2, 0xbc, 0xda, 0x48, 0x2d, 0xae, 0xa3, 0x3e, 0x5c, 0xa7, + 0x43, 0xa8, 0x2c, 0xd9, 0xd3, 0xca, 0x16, 0xbc, 0x52, 0xee, 0x7c, 0x3d, 0x1a, 0x33, 0x79, 0x9b, + 0x05, 0x4e, 0xc8, 0x23, 0x77, 0xcc, 0x27, 0x78, 0x27, 0x31, 0xbc, 0x75, 0xcd, 0x2a, 0x1e, 0xf3, + 0x03, 0x7d, 0x38, 0xd0, 0x46, 0xba, 0xe5, 0x22, 0x0f, 0x5a, 0xfa, 0xe6, 0xf0, 0x4f, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xb8, 0xf5, 0xcd, 0x5d, 0xdd, 0x05, 0x00, 0x00, +} diff --git a/go-feast-proto/feast/core/UIService.pb.go b/go-feast-proto/feast/core/UIService.pb.go new file mode 100644 index 0000000000..b897601eac --- /dev/null +++ b/go-feast-proto/feast/core/UIService.pb.go @@ -0,0 +1,1177 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: feast/core/UIService.proto + +package core // import "github.com/gojektech/feast/go-feast-proto/feast/core" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import specs "github.com/gojektech/feast/go-feast-proto/feast/specs" +import empty "github.com/golang/protobuf/ptypes/empty" +import timestamp "github.com/golang/protobuf/ptypes/timestamp" + +import ( + context "golang.org/x/net/context" + grpc "google.golang.org/grpc" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type UIServiceTypes struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UIServiceTypes) Reset() { *m = UIServiceTypes{} } +func (m *UIServiceTypes) String() string { return proto.CompactTextString(m) } +func (*UIServiceTypes) ProtoMessage() {} +func (*UIServiceTypes) Descriptor() ([]byte, []int) { + return fileDescriptor_UIService_758b01499c5abbc2, []int{0} +} +func (m *UIServiceTypes) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UIServiceTypes.Unmarshal(m, b) +} +func (m *UIServiceTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UIServiceTypes.Marshal(b, m, deterministic) +} +func (dst *UIServiceTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_UIServiceTypes.Merge(dst, src) +} +func (m *UIServiceTypes) XXX_Size() int { + return xxx_messageInfo_UIServiceTypes.Size(m) +} +func (m *UIServiceTypes) XXX_DiscardUnknown() { + xxx_messageInfo_UIServiceTypes.DiscardUnknown(m) +} + +var xxx_messageInfo_UIServiceTypes proto.InternalMessageInfo + +// Expanded entity spec +type UIServiceTypes_EntityDetail struct { + Spec *specs.EntitySpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` + Jobs []string `protobuf:"bytes,2,rep,name=jobs,proto3" json:"jobs,omitempty"` + LastUpdated *timestamp.Timestamp `protobuf:"bytes,3,opt,name=lastUpdated,proto3" json:"lastUpdated,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UIServiceTypes_EntityDetail) Reset() { *m = UIServiceTypes_EntityDetail{} } +func (m *UIServiceTypes_EntityDetail) String() string { return proto.CompactTextString(m) } +func (*UIServiceTypes_EntityDetail) ProtoMessage() {} +func (*UIServiceTypes_EntityDetail) Descriptor() ([]byte, []int) { + return fileDescriptor_UIService_758b01499c5abbc2, []int{0, 0} +} +func (m *UIServiceTypes_EntityDetail) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UIServiceTypes_EntityDetail.Unmarshal(m, b) +} +func (m *UIServiceTypes_EntityDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UIServiceTypes_EntityDetail.Marshal(b, m, deterministic) +} +func (dst *UIServiceTypes_EntityDetail) XXX_Merge(src proto.Message) { + xxx_messageInfo_UIServiceTypes_EntityDetail.Merge(dst, src) +} +func (m *UIServiceTypes_EntityDetail) XXX_Size() int { + return xxx_messageInfo_UIServiceTypes_EntityDetail.Size(m) +} +func (m *UIServiceTypes_EntityDetail) XXX_DiscardUnknown() { + xxx_messageInfo_UIServiceTypes_EntityDetail.DiscardUnknown(m) +} + +var xxx_messageInfo_UIServiceTypes_EntityDetail proto.InternalMessageInfo + +func (m *UIServiceTypes_EntityDetail) GetSpec() *specs.EntitySpec { + if m != nil { + return m.Spec + } + return nil +} + +func (m *UIServiceTypes_EntityDetail) GetJobs() []string { + if m != nil { + return m.Jobs + } + return nil +} + +func (m *UIServiceTypes_EntityDetail) GetLastUpdated() *timestamp.Timestamp { + if m != nil { + return m.LastUpdated + } + return nil +} + +type UIServiceTypes_GetEntityRequest struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UIServiceTypes_GetEntityRequest) Reset() { *m = UIServiceTypes_GetEntityRequest{} } +func (m *UIServiceTypes_GetEntityRequest) String() string { return proto.CompactTextString(m) } +func (*UIServiceTypes_GetEntityRequest) ProtoMessage() {} +func (*UIServiceTypes_GetEntityRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_UIService_758b01499c5abbc2, []int{0, 1} +} +func (m *UIServiceTypes_GetEntityRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UIServiceTypes_GetEntityRequest.Unmarshal(m, b) +} +func (m *UIServiceTypes_GetEntityRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UIServiceTypes_GetEntityRequest.Marshal(b, m, deterministic) +} +func (dst *UIServiceTypes_GetEntityRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UIServiceTypes_GetEntityRequest.Merge(dst, src) +} +func (m *UIServiceTypes_GetEntityRequest) XXX_Size() int { + return xxx_messageInfo_UIServiceTypes_GetEntityRequest.Size(m) +} +func (m *UIServiceTypes_GetEntityRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UIServiceTypes_GetEntityRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UIServiceTypes_GetEntityRequest proto.InternalMessageInfo + +func (m *UIServiceTypes_GetEntityRequest) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +type UIServiceTypes_GetEntityResponse struct { + Entity *UIServiceTypes_EntityDetail `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UIServiceTypes_GetEntityResponse) Reset() { *m = UIServiceTypes_GetEntityResponse{} } +func (m *UIServiceTypes_GetEntityResponse) String() string { return proto.CompactTextString(m) } +func (*UIServiceTypes_GetEntityResponse) ProtoMessage() {} +func (*UIServiceTypes_GetEntityResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_UIService_758b01499c5abbc2, []int{0, 2} +} +func (m *UIServiceTypes_GetEntityResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UIServiceTypes_GetEntityResponse.Unmarshal(m, b) +} +func (m *UIServiceTypes_GetEntityResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UIServiceTypes_GetEntityResponse.Marshal(b, m, deterministic) +} +func (dst *UIServiceTypes_GetEntityResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_UIServiceTypes_GetEntityResponse.Merge(dst, src) +} +func (m *UIServiceTypes_GetEntityResponse) XXX_Size() int { + return xxx_messageInfo_UIServiceTypes_GetEntityResponse.Size(m) +} +func (m *UIServiceTypes_GetEntityResponse) XXX_DiscardUnknown() { + xxx_messageInfo_UIServiceTypes_GetEntityResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_UIServiceTypes_GetEntityResponse proto.InternalMessageInfo + +func (m *UIServiceTypes_GetEntityResponse) GetEntity() *UIServiceTypes_EntityDetail { + if m != nil { + return m.Entity + } + return nil +} + +type UIServiceTypes_ListEntitiesResponse struct { + Entities []*UIServiceTypes_EntityDetail `protobuf:"bytes,1,rep,name=entities,proto3" json:"entities,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UIServiceTypes_ListEntitiesResponse) Reset() { *m = UIServiceTypes_ListEntitiesResponse{} } +func (m *UIServiceTypes_ListEntitiesResponse) String() string { return proto.CompactTextString(m) } +func (*UIServiceTypes_ListEntitiesResponse) ProtoMessage() {} +func (*UIServiceTypes_ListEntitiesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_UIService_758b01499c5abbc2, []int{0, 3} +} +func (m *UIServiceTypes_ListEntitiesResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UIServiceTypes_ListEntitiesResponse.Unmarshal(m, b) +} +func (m *UIServiceTypes_ListEntitiesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UIServiceTypes_ListEntitiesResponse.Marshal(b, m, deterministic) +} +func (dst *UIServiceTypes_ListEntitiesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_UIServiceTypes_ListEntitiesResponse.Merge(dst, src) +} +func (m *UIServiceTypes_ListEntitiesResponse) XXX_Size() int { + return xxx_messageInfo_UIServiceTypes_ListEntitiesResponse.Size(m) +} +func (m *UIServiceTypes_ListEntitiesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_UIServiceTypes_ListEntitiesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_UIServiceTypes_ListEntitiesResponse proto.InternalMessageInfo + +func (m *UIServiceTypes_ListEntitiesResponse) GetEntities() []*UIServiceTypes_EntityDetail { + if m != nil { + return m.Entities + } + return nil +} + +// Expanded feature spec +type UIServiceTypes_FeatureDetail struct { + Spec *specs.FeatureSpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` + BigqueryView string `protobuf:"bytes,2,opt,name=bigqueryView,proto3" json:"bigqueryView,omitempty"` + Enabled bool `protobuf:"varint,3,opt,name=enabled,proto3" json:"enabled,omitempty"` + Jobs []string `protobuf:"bytes,4,rep,name=jobs,proto3" json:"jobs,omitempty"` + LastUpdated *timestamp.Timestamp `protobuf:"bytes,5,opt,name=lastUpdated,proto3" json:"lastUpdated,omitempty"` + Created *timestamp.Timestamp `protobuf:"bytes,6,opt,name=created,proto3" json:"created,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UIServiceTypes_FeatureDetail) Reset() { *m = UIServiceTypes_FeatureDetail{} } +func (m *UIServiceTypes_FeatureDetail) String() string { return proto.CompactTextString(m) } +func (*UIServiceTypes_FeatureDetail) ProtoMessage() {} +func (*UIServiceTypes_FeatureDetail) Descriptor() ([]byte, []int) { + return fileDescriptor_UIService_758b01499c5abbc2, []int{0, 4} +} +func (m *UIServiceTypes_FeatureDetail) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UIServiceTypes_FeatureDetail.Unmarshal(m, b) +} +func (m *UIServiceTypes_FeatureDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UIServiceTypes_FeatureDetail.Marshal(b, m, deterministic) +} +func (dst *UIServiceTypes_FeatureDetail) XXX_Merge(src proto.Message) { + xxx_messageInfo_UIServiceTypes_FeatureDetail.Merge(dst, src) +} +func (m *UIServiceTypes_FeatureDetail) XXX_Size() int { + return xxx_messageInfo_UIServiceTypes_FeatureDetail.Size(m) +} +func (m *UIServiceTypes_FeatureDetail) XXX_DiscardUnknown() { + xxx_messageInfo_UIServiceTypes_FeatureDetail.DiscardUnknown(m) +} + +var xxx_messageInfo_UIServiceTypes_FeatureDetail proto.InternalMessageInfo + +func (m *UIServiceTypes_FeatureDetail) GetSpec() *specs.FeatureSpec { + if m != nil { + return m.Spec + } + return nil +} + +func (m *UIServiceTypes_FeatureDetail) GetBigqueryView() string { + if m != nil { + return m.BigqueryView + } + return "" +} + +func (m *UIServiceTypes_FeatureDetail) GetEnabled() bool { + if m != nil { + return m.Enabled + } + return false +} + +func (m *UIServiceTypes_FeatureDetail) GetJobs() []string { + if m != nil { + return m.Jobs + } + return nil +} + +func (m *UIServiceTypes_FeatureDetail) GetLastUpdated() *timestamp.Timestamp { + if m != nil { + return m.LastUpdated + } + return nil +} + +func (m *UIServiceTypes_FeatureDetail) GetCreated() *timestamp.Timestamp { + if m != nil { + return m.Created + } + return nil +} + +type UIServiceTypes_GetFeatureRequest struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UIServiceTypes_GetFeatureRequest) Reset() { *m = UIServiceTypes_GetFeatureRequest{} } +func (m *UIServiceTypes_GetFeatureRequest) String() string { return proto.CompactTextString(m) } +func (*UIServiceTypes_GetFeatureRequest) ProtoMessage() {} +func (*UIServiceTypes_GetFeatureRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_UIService_758b01499c5abbc2, []int{0, 5} +} +func (m *UIServiceTypes_GetFeatureRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UIServiceTypes_GetFeatureRequest.Unmarshal(m, b) +} +func (m *UIServiceTypes_GetFeatureRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UIServiceTypes_GetFeatureRequest.Marshal(b, m, deterministic) +} +func (dst *UIServiceTypes_GetFeatureRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UIServiceTypes_GetFeatureRequest.Merge(dst, src) +} +func (m *UIServiceTypes_GetFeatureRequest) XXX_Size() int { + return xxx_messageInfo_UIServiceTypes_GetFeatureRequest.Size(m) +} +func (m *UIServiceTypes_GetFeatureRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UIServiceTypes_GetFeatureRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UIServiceTypes_GetFeatureRequest proto.InternalMessageInfo + +func (m *UIServiceTypes_GetFeatureRequest) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +type UIServiceTypes_GetFeatureResponse struct { + Feature *UIServiceTypes_FeatureDetail `protobuf:"bytes,1,opt,name=feature,proto3" json:"feature,omitempty"` + RawSpec *specs.FeatureSpec `protobuf:"bytes,2,opt,name=rawSpec,proto3" json:"rawSpec,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UIServiceTypes_GetFeatureResponse) Reset() { *m = UIServiceTypes_GetFeatureResponse{} } +func (m *UIServiceTypes_GetFeatureResponse) String() string { return proto.CompactTextString(m) } +func (*UIServiceTypes_GetFeatureResponse) ProtoMessage() {} +func (*UIServiceTypes_GetFeatureResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_UIService_758b01499c5abbc2, []int{0, 6} +} +func (m *UIServiceTypes_GetFeatureResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UIServiceTypes_GetFeatureResponse.Unmarshal(m, b) +} +func (m *UIServiceTypes_GetFeatureResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UIServiceTypes_GetFeatureResponse.Marshal(b, m, deterministic) +} +func (dst *UIServiceTypes_GetFeatureResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_UIServiceTypes_GetFeatureResponse.Merge(dst, src) +} +func (m *UIServiceTypes_GetFeatureResponse) XXX_Size() int { + return xxx_messageInfo_UIServiceTypes_GetFeatureResponse.Size(m) +} +func (m *UIServiceTypes_GetFeatureResponse) XXX_DiscardUnknown() { + xxx_messageInfo_UIServiceTypes_GetFeatureResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_UIServiceTypes_GetFeatureResponse proto.InternalMessageInfo + +func (m *UIServiceTypes_GetFeatureResponse) GetFeature() *UIServiceTypes_FeatureDetail { + if m != nil { + return m.Feature + } + return nil +} + +func (m *UIServiceTypes_GetFeatureResponse) GetRawSpec() *specs.FeatureSpec { + if m != nil { + return m.RawSpec + } + return nil +} + +type UIServiceTypes_ListFeaturesResponse struct { + Features []*UIServiceTypes_FeatureDetail `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UIServiceTypes_ListFeaturesResponse) Reset() { *m = UIServiceTypes_ListFeaturesResponse{} } +func (m *UIServiceTypes_ListFeaturesResponse) String() string { return proto.CompactTextString(m) } +func (*UIServiceTypes_ListFeaturesResponse) ProtoMessage() {} +func (*UIServiceTypes_ListFeaturesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_UIService_758b01499c5abbc2, []int{0, 7} +} +func (m *UIServiceTypes_ListFeaturesResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UIServiceTypes_ListFeaturesResponse.Unmarshal(m, b) +} +func (m *UIServiceTypes_ListFeaturesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UIServiceTypes_ListFeaturesResponse.Marshal(b, m, deterministic) +} +func (dst *UIServiceTypes_ListFeaturesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_UIServiceTypes_ListFeaturesResponse.Merge(dst, src) +} +func (m *UIServiceTypes_ListFeaturesResponse) XXX_Size() int { + return xxx_messageInfo_UIServiceTypes_ListFeaturesResponse.Size(m) +} +func (m *UIServiceTypes_ListFeaturesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_UIServiceTypes_ListFeaturesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_UIServiceTypes_ListFeaturesResponse proto.InternalMessageInfo + +func (m *UIServiceTypes_ListFeaturesResponse) GetFeatures() []*UIServiceTypes_FeatureDetail { + if m != nil { + return m.Features + } + return nil +} + +// Expanded feature group spec +type UIServiceTypes_FeatureGroupDetail struct { + Spec *specs.FeatureGroupSpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` + LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=lastUpdated,proto3" json:"lastUpdated,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UIServiceTypes_FeatureGroupDetail) Reset() { *m = UIServiceTypes_FeatureGroupDetail{} } +func (m *UIServiceTypes_FeatureGroupDetail) String() string { return proto.CompactTextString(m) } +func (*UIServiceTypes_FeatureGroupDetail) ProtoMessage() {} +func (*UIServiceTypes_FeatureGroupDetail) Descriptor() ([]byte, []int) { + return fileDescriptor_UIService_758b01499c5abbc2, []int{0, 8} +} +func (m *UIServiceTypes_FeatureGroupDetail) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UIServiceTypes_FeatureGroupDetail.Unmarshal(m, b) +} +func (m *UIServiceTypes_FeatureGroupDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UIServiceTypes_FeatureGroupDetail.Marshal(b, m, deterministic) +} +func (dst *UIServiceTypes_FeatureGroupDetail) XXX_Merge(src proto.Message) { + xxx_messageInfo_UIServiceTypes_FeatureGroupDetail.Merge(dst, src) +} +func (m *UIServiceTypes_FeatureGroupDetail) XXX_Size() int { + return xxx_messageInfo_UIServiceTypes_FeatureGroupDetail.Size(m) +} +func (m *UIServiceTypes_FeatureGroupDetail) XXX_DiscardUnknown() { + xxx_messageInfo_UIServiceTypes_FeatureGroupDetail.DiscardUnknown(m) +} + +var xxx_messageInfo_UIServiceTypes_FeatureGroupDetail proto.InternalMessageInfo + +func (m *UIServiceTypes_FeatureGroupDetail) GetSpec() *specs.FeatureGroupSpec { + if m != nil { + return m.Spec + } + return nil +} + +func (m *UIServiceTypes_FeatureGroupDetail) GetLastUpdated() *timestamp.Timestamp { + if m != nil { + return m.LastUpdated + } + return nil +} + +type UIServiceTypes_GetFeatureGroupRequest struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UIServiceTypes_GetFeatureGroupRequest) Reset() { *m = UIServiceTypes_GetFeatureGroupRequest{} } +func (m *UIServiceTypes_GetFeatureGroupRequest) String() string { return proto.CompactTextString(m) } +func (*UIServiceTypes_GetFeatureGroupRequest) ProtoMessage() {} +func (*UIServiceTypes_GetFeatureGroupRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_UIService_758b01499c5abbc2, []int{0, 9} +} +func (m *UIServiceTypes_GetFeatureGroupRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UIServiceTypes_GetFeatureGroupRequest.Unmarshal(m, b) +} +func (m *UIServiceTypes_GetFeatureGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UIServiceTypes_GetFeatureGroupRequest.Marshal(b, m, deterministic) +} +func (dst *UIServiceTypes_GetFeatureGroupRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UIServiceTypes_GetFeatureGroupRequest.Merge(dst, src) +} +func (m *UIServiceTypes_GetFeatureGroupRequest) XXX_Size() int { + return xxx_messageInfo_UIServiceTypes_GetFeatureGroupRequest.Size(m) +} +func (m *UIServiceTypes_GetFeatureGroupRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UIServiceTypes_GetFeatureGroupRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UIServiceTypes_GetFeatureGroupRequest proto.InternalMessageInfo + +func (m *UIServiceTypes_GetFeatureGroupRequest) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +type UIServiceTypes_GetFeatureGroupResponse struct { + FeatureGroup *UIServiceTypes_FeatureGroupDetail `protobuf:"bytes,1,opt,name=featureGroup,proto3" json:"featureGroup,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UIServiceTypes_GetFeatureGroupResponse) Reset() { + *m = UIServiceTypes_GetFeatureGroupResponse{} +} +func (m *UIServiceTypes_GetFeatureGroupResponse) String() string { return proto.CompactTextString(m) } +func (*UIServiceTypes_GetFeatureGroupResponse) ProtoMessage() {} +func (*UIServiceTypes_GetFeatureGroupResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_UIService_758b01499c5abbc2, []int{0, 10} +} +func (m *UIServiceTypes_GetFeatureGroupResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UIServiceTypes_GetFeatureGroupResponse.Unmarshal(m, b) +} +func (m *UIServiceTypes_GetFeatureGroupResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UIServiceTypes_GetFeatureGroupResponse.Marshal(b, m, deterministic) +} +func (dst *UIServiceTypes_GetFeatureGroupResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_UIServiceTypes_GetFeatureGroupResponse.Merge(dst, src) +} +func (m *UIServiceTypes_GetFeatureGroupResponse) XXX_Size() int { + return xxx_messageInfo_UIServiceTypes_GetFeatureGroupResponse.Size(m) +} +func (m *UIServiceTypes_GetFeatureGroupResponse) XXX_DiscardUnknown() { + xxx_messageInfo_UIServiceTypes_GetFeatureGroupResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_UIServiceTypes_GetFeatureGroupResponse proto.InternalMessageInfo + +func (m *UIServiceTypes_GetFeatureGroupResponse) GetFeatureGroup() *UIServiceTypes_FeatureGroupDetail { + if m != nil { + return m.FeatureGroup + } + return nil +} + +type UIServiceTypes_ListFeatureGroupsResponse struct { + FeatureGroups []*UIServiceTypes_FeatureGroupDetail `protobuf:"bytes,1,rep,name=featureGroups,proto3" json:"featureGroups,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UIServiceTypes_ListFeatureGroupsResponse) Reset() { + *m = UIServiceTypes_ListFeatureGroupsResponse{} +} +func (m *UIServiceTypes_ListFeatureGroupsResponse) String() string { return proto.CompactTextString(m) } +func (*UIServiceTypes_ListFeatureGroupsResponse) ProtoMessage() {} +func (*UIServiceTypes_ListFeatureGroupsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_UIService_758b01499c5abbc2, []int{0, 11} +} +func (m *UIServiceTypes_ListFeatureGroupsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UIServiceTypes_ListFeatureGroupsResponse.Unmarshal(m, b) +} +func (m *UIServiceTypes_ListFeatureGroupsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UIServiceTypes_ListFeatureGroupsResponse.Marshal(b, m, deterministic) +} +func (dst *UIServiceTypes_ListFeatureGroupsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_UIServiceTypes_ListFeatureGroupsResponse.Merge(dst, src) +} +func (m *UIServiceTypes_ListFeatureGroupsResponse) XXX_Size() int { + return xxx_messageInfo_UIServiceTypes_ListFeatureGroupsResponse.Size(m) +} +func (m *UIServiceTypes_ListFeatureGroupsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_UIServiceTypes_ListFeatureGroupsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_UIServiceTypes_ListFeatureGroupsResponse proto.InternalMessageInfo + +func (m *UIServiceTypes_ListFeatureGroupsResponse) GetFeatureGroups() []*UIServiceTypes_FeatureGroupDetail { + if m != nil { + return m.FeatureGroups + } + return nil +} + +// Expanded storage spec +type UIServiceTypes_StorageDetail struct { + Spec *specs.StorageSpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` + LastUpdated *timestamp.Timestamp `protobuf:"bytes,2,opt,name=lastUpdated,proto3" json:"lastUpdated,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UIServiceTypes_StorageDetail) Reset() { *m = UIServiceTypes_StorageDetail{} } +func (m *UIServiceTypes_StorageDetail) String() string { return proto.CompactTextString(m) } +func (*UIServiceTypes_StorageDetail) ProtoMessage() {} +func (*UIServiceTypes_StorageDetail) Descriptor() ([]byte, []int) { + return fileDescriptor_UIService_758b01499c5abbc2, []int{0, 12} +} +func (m *UIServiceTypes_StorageDetail) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UIServiceTypes_StorageDetail.Unmarshal(m, b) +} +func (m *UIServiceTypes_StorageDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UIServiceTypes_StorageDetail.Marshal(b, m, deterministic) +} +func (dst *UIServiceTypes_StorageDetail) XXX_Merge(src proto.Message) { + xxx_messageInfo_UIServiceTypes_StorageDetail.Merge(dst, src) +} +func (m *UIServiceTypes_StorageDetail) XXX_Size() int { + return xxx_messageInfo_UIServiceTypes_StorageDetail.Size(m) +} +func (m *UIServiceTypes_StorageDetail) XXX_DiscardUnknown() { + xxx_messageInfo_UIServiceTypes_StorageDetail.DiscardUnknown(m) +} + +var xxx_messageInfo_UIServiceTypes_StorageDetail proto.InternalMessageInfo + +func (m *UIServiceTypes_StorageDetail) GetSpec() *specs.StorageSpec { + if m != nil { + return m.Spec + } + return nil +} + +func (m *UIServiceTypes_StorageDetail) GetLastUpdated() *timestamp.Timestamp { + if m != nil { + return m.LastUpdated + } + return nil +} + +type UIServiceTypes_GetStorageRequest struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UIServiceTypes_GetStorageRequest) Reset() { *m = UIServiceTypes_GetStorageRequest{} } +func (m *UIServiceTypes_GetStorageRequest) String() string { return proto.CompactTextString(m) } +func (*UIServiceTypes_GetStorageRequest) ProtoMessage() {} +func (*UIServiceTypes_GetStorageRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_UIService_758b01499c5abbc2, []int{0, 13} +} +func (m *UIServiceTypes_GetStorageRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UIServiceTypes_GetStorageRequest.Unmarshal(m, b) +} +func (m *UIServiceTypes_GetStorageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UIServiceTypes_GetStorageRequest.Marshal(b, m, deterministic) +} +func (dst *UIServiceTypes_GetStorageRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UIServiceTypes_GetStorageRequest.Merge(dst, src) +} +func (m *UIServiceTypes_GetStorageRequest) XXX_Size() int { + return xxx_messageInfo_UIServiceTypes_GetStorageRequest.Size(m) +} +func (m *UIServiceTypes_GetStorageRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UIServiceTypes_GetStorageRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UIServiceTypes_GetStorageRequest proto.InternalMessageInfo + +func (m *UIServiceTypes_GetStorageRequest) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +type UIServiceTypes_GetStorageResponse struct { + Storage *UIServiceTypes_StorageDetail `protobuf:"bytes,1,opt,name=storage,proto3" json:"storage,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UIServiceTypes_GetStorageResponse) Reset() { *m = UIServiceTypes_GetStorageResponse{} } +func (m *UIServiceTypes_GetStorageResponse) String() string { return proto.CompactTextString(m) } +func (*UIServiceTypes_GetStorageResponse) ProtoMessage() {} +func (*UIServiceTypes_GetStorageResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_UIService_758b01499c5abbc2, []int{0, 14} +} +func (m *UIServiceTypes_GetStorageResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UIServiceTypes_GetStorageResponse.Unmarshal(m, b) +} +func (m *UIServiceTypes_GetStorageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UIServiceTypes_GetStorageResponse.Marshal(b, m, deterministic) +} +func (dst *UIServiceTypes_GetStorageResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_UIServiceTypes_GetStorageResponse.Merge(dst, src) +} +func (m *UIServiceTypes_GetStorageResponse) XXX_Size() int { + return xxx_messageInfo_UIServiceTypes_GetStorageResponse.Size(m) +} +func (m *UIServiceTypes_GetStorageResponse) XXX_DiscardUnknown() { + xxx_messageInfo_UIServiceTypes_GetStorageResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_UIServiceTypes_GetStorageResponse proto.InternalMessageInfo + +func (m *UIServiceTypes_GetStorageResponse) GetStorage() *UIServiceTypes_StorageDetail { + if m != nil { + return m.Storage + } + return nil +} + +type UIServiceTypes_ListStorageResponse struct { + Storage []*UIServiceTypes_StorageDetail `protobuf:"bytes,1,rep,name=storage,proto3" json:"storage,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UIServiceTypes_ListStorageResponse) Reset() { *m = UIServiceTypes_ListStorageResponse{} } +func (m *UIServiceTypes_ListStorageResponse) String() string { return proto.CompactTextString(m) } +func (*UIServiceTypes_ListStorageResponse) ProtoMessage() {} +func (*UIServiceTypes_ListStorageResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_UIService_758b01499c5abbc2, []int{0, 15} +} +func (m *UIServiceTypes_ListStorageResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UIServiceTypes_ListStorageResponse.Unmarshal(m, b) +} +func (m *UIServiceTypes_ListStorageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UIServiceTypes_ListStorageResponse.Marshal(b, m, deterministic) +} +func (dst *UIServiceTypes_ListStorageResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_UIServiceTypes_ListStorageResponse.Merge(dst, src) +} +func (m *UIServiceTypes_ListStorageResponse) XXX_Size() int { + return xxx_messageInfo_UIServiceTypes_ListStorageResponse.Size(m) +} +func (m *UIServiceTypes_ListStorageResponse) XXX_DiscardUnknown() { + xxx_messageInfo_UIServiceTypes_ListStorageResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_UIServiceTypes_ListStorageResponse proto.InternalMessageInfo + +func (m *UIServiceTypes_ListStorageResponse) GetStorage() []*UIServiceTypes_StorageDetail { + if m != nil { + return m.Storage + } + return nil +} + +func init() { + proto.RegisterType((*UIServiceTypes)(nil), "feast.core.UIServiceTypes") + proto.RegisterType((*UIServiceTypes_EntityDetail)(nil), "feast.core.UIServiceTypes.EntityDetail") + proto.RegisterType((*UIServiceTypes_GetEntityRequest)(nil), "feast.core.UIServiceTypes.GetEntityRequest") + proto.RegisterType((*UIServiceTypes_GetEntityResponse)(nil), "feast.core.UIServiceTypes.GetEntityResponse") + proto.RegisterType((*UIServiceTypes_ListEntitiesResponse)(nil), "feast.core.UIServiceTypes.ListEntitiesResponse") + proto.RegisterType((*UIServiceTypes_FeatureDetail)(nil), "feast.core.UIServiceTypes.FeatureDetail") + proto.RegisterType((*UIServiceTypes_GetFeatureRequest)(nil), "feast.core.UIServiceTypes.GetFeatureRequest") + proto.RegisterType((*UIServiceTypes_GetFeatureResponse)(nil), "feast.core.UIServiceTypes.GetFeatureResponse") + proto.RegisterType((*UIServiceTypes_ListFeaturesResponse)(nil), "feast.core.UIServiceTypes.ListFeaturesResponse") + proto.RegisterType((*UIServiceTypes_FeatureGroupDetail)(nil), "feast.core.UIServiceTypes.FeatureGroupDetail") + proto.RegisterType((*UIServiceTypes_GetFeatureGroupRequest)(nil), "feast.core.UIServiceTypes.GetFeatureGroupRequest") + proto.RegisterType((*UIServiceTypes_GetFeatureGroupResponse)(nil), "feast.core.UIServiceTypes.GetFeatureGroupResponse") + proto.RegisterType((*UIServiceTypes_ListFeatureGroupsResponse)(nil), "feast.core.UIServiceTypes.ListFeatureGroupsResponse") + proto.RegisterType((*UIServiceTypes_StorageDetail)(nil), "feast.core.UIServiceTypes.StorageDetail") + proto.RegisterType((*UIServiceTypes_GetStorageRequest)(nil), "feast.core.UIServiceTypes.GetStorageRequest") + proto.RegisterType((*UIServiceTypes_GetStorageResponse)(nil), "feast.core.UIServiceTypes.GetStorageResponse") + proto.RegisterType((*UIServiceTypes_ListStorageResponse)(nil), "feast.core.UIServiceTypes.ListStorageResponse") +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// UIServiceClient is the client API for UIService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type UIServiceClient interface { + // + // Get entity specified in request. + // This process returns a single of entity specs. + GetEntity(ctx context.Context, in *UIServiceTypes_GetEntityRequest, opts ...grpc.CallOption) (*UIServiceTypes_GetEntityResponse, error) + // + // Get all entities. + // This process returns a list of entity specs. + ListEntities(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*UIServiceTypes_ListEntitiesResponse, error) + // + // Get feature specified in request. + GetFeature(ctx context.Context, in *UIServiceTypes_GetFeatureRequest, opts ...grpc.CallOption) (*UIServiceTypes_GetFeatureResponse, error) + // + // Get all features. + // This process returns a list of feature specs. + ListFeatures(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*UIServiceTypes_ListFeaturesResponse, error) + // + // Get feature group specified in request. + GetFeatureGroup(ctx context.Context, in *UIServiceTypes_GetFeatureGroupRequest, opts ...grpc.CallOption) (*UIServiceTypes_GetFeatureGroupResponse, error) + // + // Get all feature groups. + // This process returns a list of feature group specs. + ListFeatureGroups(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*UIServiceTypes_ListFeatureGroupsResponse, error) + // + // Get storage spec specified in request. + // + GetStorage(ctx context.Context, in *UIServiceTypes_GetStorageRequest, opts ...grpc.CallOption) (*UIServiceTypes_GetStorageResponse, error) + // + // Get all storage specs. + // This process returns a list of storage specs. + ListStorage(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*UIServiceTypes_ListStorageResponse, error) +} + +type uIServiceClient struct { + cc *grpc.ClientConn +} + +func NewUIServiceClient(cc *grpc.ClientConn) UIServiceClient { + return &uIServiceClient{cc} +} + +func (c *uIServiceClient) GetEntity(ctx context.Context, in *UIServiceTypes_GetEntityRequest, opts ...grpc.CallOption) (*UIServiceTypes_GetEntityResponse, error) { + out := new(UIServiceTypes_GetEntityResponse) + err := c.cc.Invoke(ctx, "/feast.core.UIService/GetEntity", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *uIServiceClient) ListEntities(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*UIServiceTypes_ListEntitiesResponse, error) { + out := new(UIServiceTypes_ListEntitiesResponse) + err := c.cc.Invoke(ctx, "/feast.core.UIService/ListEntities", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *uIServiceClient) GetFeature(ctx context.Context, in *UIServiceTypes_GetFeatureRequest, opts ...grpc.CallOption) (*UIServiceTypes_GetFeatureResponse, error) { + out := new(UIServiceTypes_GetFeatureResponse) + err := c.cc.Invoke(ctx, "/feast.core.UIService/GetFeature", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *uIServiceClient) ListFeatures(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*UIServiceTypes_ListFeaturesResponse, error) { + out := new(UIServiceTypes_ListFeaturesResponse) + err := c.cc.Invoke(ctx, "/feast.core.UIService/ListFeatures", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *uIServiceClient) GetFeatureGroup(ctx context.Context, in *UIServiceTypes_GetFeatureGroupRequest, opts ...grpc.CallOption) (*UIServiceTypes_GetFeatureGroupResponse, error) { + out := new(UIServiceTypes_GetFeatureGroupResponse) + err := c.cc.Invoke(ctx, "/feast.core.UIService/GetFeatureGroup", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *uIServiceClient) ListFeatureGroups(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*UIServiceTypes_ListFeatureGroupsResponse, error) { + out := new(UIServiceTypes_ListFeatureGroupsResponse) + err := c.cc.Invoke(ctx, "/feast.core.UIService/ListFeatureGroups", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *uIServiceClient) GetStorage(ctx context.Context, in *UIServiceTypes_GetStorageRequest, opts ...grpc.CallOption) (*UIServiceTypes_GetStorageResponse, error) { + out := new(UIServiceTypes_GetStorageResponse) + err := c.cc.Invoke(ctx, "/feast.core.UIService/GetStorage", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *uIServiceClient) ListStorage(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*UIServiceTypes_ListStorageResponse, error) { + out := new(UIServiceTypes_ListStorageResponse) + err := c.cc.Invoke(ctx, "/feast.core.UIService/ListStorage", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// UIServiceServer is the server API for UIService service. +type UIServiceServer interface { + // + // Get entity specified in request. + // This process returns a single of entity specs. + GetEntity(context.Context, *UIServiceTypes_GetEntityRequest) (*UIServiceTypes_GetEntityResponse, error) + // + // Get all entities. + // This process returns a list of entity specs. + ListEntities(context.Context, *empty.Empty) (*UIServiceTypes_ListEntitiesResponse, error) + // + // Get feature specified in request. + GetFeature(context.Context, *UIServiceTypes_GetFeatureRequest) (*UIServiceTypes_GetFeatureResponse, error) + // + // Get all features. + // This process returns a list of feature specs. + ListFeatures(context.Context, *empty.Empty) (*UIServiceTypes_ListFeaturesResponse, error) + // + // Get feature group specified in request. + GetFeatureGroup(context.Context, *UIServiceTypes_GetFeatureGroupRequest) (*UIServiceTypes_GetFeatureGroupResponse, error) + // + // Get all feature groups. + // This process returns a list of feature group specs. + ListFeatureGroups(context.Context, *empty.Empty) (*UIServiceTypes_ListFeatureGroupsResponse, error) + // + // Get storage spec specified in request. + // + GetStorage(context.Context, *UIServiceTypes_GetStorageRequest) (*UIServiceTypes_GetStorageResponse, error) + // + // Get all storage specs. + // This process returns a list of storage specs. + ListStorage(context.Context, *empty.Empty) (*UIServiceTypes_ListStorageResponse, error) +} + +func RegisterUIServiceServer(s *grpc.Server, srv UIServiceServer) { + s.RegisterService(&_UIService_serviceDesc, srv) +} + +func _UIService_GetEntity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UIServiceTypes_GetEntityRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UIServiceServer).GetEntity(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.UIService/GetEntity", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UIServiceServer).GetEntity(ctx, req.(*UIServiceTypes_GetEntityRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UIService_ListEntities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UIServiceServer).ListEntities(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.UIService/ListEntities", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UIServiceServer).ListEntities(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _UIService_GetFeature_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UIServiceTypes_GetFeatureRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UIServiceServer).GetFeature(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.UIService/GetFeature", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UIServiceServer).GetFeature(ctx, req.(*UIServiceTypes_GetFeatureRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UIService_ListFeatures_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UIServiceServer).ListFeatures(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.UIService/ListFeatures", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UIServiceServer).ListFeatures(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _UIService_GetFeatureGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UIServiceTypes_GetFeatureGroupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UIServiceServer).GetFeatureGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.UIService/GetFeatureGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UIServiceServer).GetFeatureGroup(ctx, req.(*UIServiceTypes_GetFeatureGroupRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UIService_ListFeatureGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UIServiceServer).ListFeatureGroups(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.UIService/ListFeatureGroups", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UIServiceServer).ListFeatureGroups(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _UIService_GetStorage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UIServiceTypes_GetStorageRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UIServiceServer).GetStorage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.UIService/GetStorage", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UIServiceServer).GetStorage(ctx, req.(*UIServiceTypes_GetStorageRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UIService_ListStorage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(empty.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UIServiceServer).ListStorage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.core.UIService/ListStorage", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UIServiceServer).ListStorage(ctx, req.(*empty.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +var _UIService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "feast.core.UIService", + HandlerType: (*UIServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetEntity", + Handler: _UIService_GetEntity_Handler, + }, + { + MethodName: "ListEntities", + Handler: _UIService_ListEntities_Handler, + }, + { + MethodName: "GetFeature", + Handler: _UIService_GetFeature_Handler, + }, + { + MethodName: "ListFeatures", + Handler: _UIService_ListFeatures_Handler, + }, + { + MethodName: "GetFeatureGroup", + Handler: _UIService_GetFeatureGroup_Handler, + }, + { + MethodName: "ListFeatureGroups", + Handler: _UIService_ListFeatureGroups_Handler, + }, + { + MethodName: "GetStorage", + Handler: _UIService_GetStorage_Handler, + }, + { + MethodName: "ListStorage", + Handler: _UIService_ListStorage_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "feast/core/UIService.proto", +} + +func init() { + proto.RegisterFile("feast/core/UIService.proto", fileDescriptor_UIService_758b01499c5abbc2) +} + +var fileDescriptor_UIService_758b01499c5abbc2 = []byte{ + // 782 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x4d, 0x6f, 0xd3, 0x4c, + 0x10, 0xce, 0x47, 0xdf, 0xa4, 0x99, 0xa6, 0x7d, 0xe9, 0x82, 0x5a, 0xb3, 0x50, 0x51, 0x99, 0x03, + 0x91, 0xda, 0xd8, 0x6a, 0xe8, 0x11, 0x09, 0xa9, 0xb4, 0x54, 0x48, 0x1c, 0xc0, 0x69, 0x81, 0x02, + 0x17, 0xc7, 0xd9, 0xb8, 0x6e, 0x93, 0xda, 0xb5, 0x37, 0x54, 0x81, 0x23, 0xe2, 0x06, 0xbf, 0x89, + 0xbf, 0xc5, 0x11, 0x65, 0x77, 0x6d, 0xaf, 0x9d, 0x38, 0x71, 0x2a, 0x6e, 0xc9, 0x7c, 0x3c, 0x9e, + 0x79, 0x9e, 0x99, 0xb1, 0x01, 0xf7, 0x88, 0x19, 0x50, 0xdd, 0x72, 0x7d, 0xa2, 0x9f, 0xbe, 0x6a, + 0x13, 0xff, 0x8b, 0x63, 0x11, 0xcd, 0xf3, 0x5d, 0xea, 0x22, 0x60, 0x3e, 0x6d, 0xec, 0xc3, 0x0f, + 0x79, 0x5c, 0xe0, 0x11, 0x2b, 0xd0, 0x8f, 0xae, 0xa8, 0x43, 0x47, 0x6d, 0x8f, 0x58, 0x3c, 0x12, + 0x6f, 0xc9, 0xde, 0x97, 0xc4, 0xa4, 0x43, 0x9f, 0x48, 0x6e, 0x75, 0x8a, 0xfb, 0xd8, 0x77, 0x87, + 0x5e, 0x16, 0x44, 0x9b, 0xba, 0xbe, 0x69, 0xcb, 0x10, 0x0f, 0x6c, 0xd7, 0xb5, 0xfb, 0x44, 0x67, + 0xff, 0x3a, 0xc3, 0x9e, 0x4e, 0x06, 0x1e, 0x1d, 0x09, 0xe7, 0xa3, 0xb4, 0x93, 0x3a, 0x03, 0x12, + 0x50, 0x73, 0xe0, 0xf1, 0x00, 0xf5, 0x4f, 0x1d, 0xd6, 0xa2, 0xee, 0x4e, 0x46, 0x1e, 0x09, 0xf0, + 0xaf, 0x22, 0xd4, 0x79, 0x1f, 0x87, 0x84, 0x9a, 0x4e, 0x1f, 0xed, 0xc0, 0xd2, 0xf8, 0xe1, 0x4a, + 0x71, 0xbb, 0xd8, 0x58, 0x69, 0x6d, 0x6a, 0xbc, 0x79, 0x56, 0x8f, 0x16, 0x37, 0x6c, 0xb0, 0x20, + 0x84, 0x60, 0xe9, 0xc2, 0xed, 0x04, 0x4a, 0x69, 0xbb, 0xdc, 0xa8, 0x19, 0xec, 0x37, 0x7a, 0x06, + 0x2b, 0x7d, 0x33, 0xa0, 0xa7, 0x5e, 0xd7, 0xa4, 0xa4, 0xab, 0x94, 0x19, 0x0e, 0xd6, 0x78, 0x6d, + 0x5a, 0x58, 0x9b, 0x76, 0x12, 0xd6, 0x66, 0xc8, 0xe1, 0x58, 0x85, 0x3b, 0xc7, 0x84, 0xf2, 0x07, + 0x19, 0xe4, 0x7a, 0x48, 0x02, 0x8a, 0xd6, 0xa0, 0xe4, 0x74, 0x59, 0x41, 0x35, 0xa3, 0xe4, 0x74, + 0xf1, 0x09, 0xac, 0x4b, 0x31, 0x81, 0xe7, 0x5e, 0x05, 0x04, 0x3d, 0x87, 0x0a, 0x61, 0x16, 0x51, + 0xf9, 0x13, 0x2d, 0x96, 0x4d, 0x4b, 0x36, 0xad, 0xc9, 0x0d, 0x1b, 0x22, 0x0d, 0x7f, 0x82, 0x7b, + 0xaf, 0x9d, 0x80, 0xc3, 0x3a, 0x24, 0x88, 0x80, 0x5f, 0xc0, 0x32, 0x11, 0x36, 0xa5, 0xb8, 0x5d, + 0x5e, 0x04, 0x3a, 0x4a, 0xc4, 0xdf, 0x4b, 0xb0, 0x2a, 0x14, 0x17, 0x3c, 0xef, 0x26, 0x78, 0x56, + 0x12, 0x3c, 0x4b, 0xa3, 0x23, 0x88, 0x56, 0xa1, 0xde, 0x71, 0xec, 0xeb, 0x21, 0xf1, 0x47, 0xef, + 0x1c, 0x72, 0xa3, 0x94, 0x18, 0x19, 0x09, 0x1b, 0x52, 0xa0, 0x4a, 0xae, 0xcc, 0x4e, 0x5f, 0x90, + 0xbe, 0x6c, 0x84, 0x7f, 0x23, 0x99, 0x96, 0xb2, 0x65, 0xfa, 0x6f, 0x21, 0x99, 0xd0, 0x3e, 0x54, + 0x2d, 0x9f, 0xb0, 0xcc, 0xca, 0xdc, 0xcc, 0x30, 0x14, 0x3f, 0x66, 0xc2, 0x89, 0xee, 0xb2, 0xd4, + 0xfd, 0x59, 0x04, 0x24, 0x47, 0x09, 0x19, 0x0e, 0xa0, 0xda, 0xe3, 0x26, 0x41, 0x59, 0x63, 0x86, + 0x0a, 0x09, 0xaa, 0x8d, 0x30, 0x11, 0xb5, 0xa0, 0xea, 0x9b, 0x37, 0x63, 0x5a, 0x19, 0x81, 0xb3, + 0x68, 0x0f, 0x03, 0xf1, 0x67, 0x3e, 0x16, 0xc2, 0x17, 0x8f, 0xc5, 0x21, 0x2c, 0x0b, 0xd8, 0x70, + 0x2c, 0xf2, 0x17, 0x14, 0x65, 0xe2, 0x1f, 0x45, 0x40, 0xf2, 0x25, 0x10, 0xc3, 0xb1, 0x97, 0x18, + 0x8e, 0xad, 0x69, 0x55, 0x46, 0x87, 0x43, 0x4c, 0x48, 0x4a, 0xcf, 0xd2, 0x62, 0x6b, 0xd7, 0x80, + 0x8d, 0x98, 0x73, 0x06, 0x9d, 0x25, 0x4f, 0x1f, 0x36, 0x27, 0x22, 0x05, 0x25, 0x6f, 0xa1, 0xde, + 0x93, 0xec, 0xa2, 0xfa, 0xe6, 0x7c, 0x5a, 0xa4, 0xd6, 0x8d, 0x04, 0x04, 0xf6, 0xe0, 0xbe, 0xc4, + 0x3e, 0xb3, 0xc5, 0x12, 0xb4, 0x61, 0x55, 0x0e, 0x0e, 0x75, 0x58, 0xf0, 0x81, 0x49, 0x0c, 0xfc, + 0x0d, 0x56, 0xc5, 0xd9, 0xcd, 0xb1, 0xa8, 0xd2, 0x81, 0xfe, 0x27, 0x32, 0xf0, 0x05, 0x11, 0xa8, + 0x59, 0x0a, 0x7c, 0x60, 0xfb, 0x11, 0x05, 0xc5, 0xfb, 0x11, 0x70, 0x53, 0x8e, 0xfd, 0x48, 0x74, + 0x68, 0x84, 0x89, 0xf8, 0x0c, 0xee, 0x8e, 0xd9, 0x9e, 0x09, 0x5d, 0xbe, 0x15, 0x74, 0xeb, 0x77, + 0x05, 0x6a, 0x51, 0x24, 0x3a, 0x87, 0x5a, 0x74, 0xc1, 0xd1, 0xce, 0x0c, 0xb4, 0xf4, 0xbb, 0x00, + 0xef, 0xe6, 0x0b, 0xe6, 0x95, 0xab, 0x05, 0x74, 0x06, 0x75, 0xf9, 0xaa, 0xa3, 0x8d, 0x09, 0x29, + 0x8e, 0xc6, 0x6f, 0x50, 0xac, 0xcf, 0xc0, 0x9d, 0xf6, 0x5a, 0x50, 0x0b, 0xe8, 0x12, 0x20, 0xde, + 0x04, 0x34, 0xa7, 0xb0, 0xe4, 0xd1, 0xc3, 0xcd, 0x9c, 0xd1, 0xe9, 0x3e, 0xc2, 0x33, 0x74, 0xeb, + 0x3e, 0xd2, 0x77, 0x4c, 0x2d, 0xa0, 0xaf, 0xf0, 0x7f, 0x6a, 0xa3, 0xd1, 0x5e, 0xae, 0xf2, 0xe4, + 0x3b, 0x81, 0x5b, 0x8b, 0xa4, 0x44, 0xcf, 0xb6, 0x60, 0x7d, 0x62, 0xbf, 0x33, 0x7b, 0xdb, 0xcf, + 0xd7, 0x5b, 0xf2, 0x4a, 0x44, 0x42, 0x89, 0xc1, 0x9c, 0x27, 0x54, 0x72, 0xf9, 0xe6, 0x09, 0x95, + 0x5a, 0x15, 0xb5, 0x80, 0xde, 0xc3, 0x8a, 0xb4, 0x43, 0x99, 0xbd, 0x68, 0x73, 0x7a, 0x99, 0x00, + 0x3e, 0x30, 0x40, 0xfa, 0x10, 0x3d, 0x88, 0xbf, 0xe3, 0xde, 0x8c, 0x81, 0x3f, 0xee, 0xdb, 0x0e, + 0x3d, 0x1f, 0x76, 0x34, 0xcb, 0x1d, 0xe8, 0xb6, 0x7b, 0x41, 0x2e, 0x29, 0xb1, 0xce, 0x75, 0xfe, + 0x31, 0x69, 0xbb, 0x4d, 0xf6, 0xa3, 0xc9, 0x6a, 0xd0, 0xe3, 0x4f, 0xdd, 0x4e, 0x85, 0x59, 0x9e, + 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x27, 0x48, 0xa2, 0x57, 0xff, 0x0a, 0x00, 0x00, +} diff --git a/go-feast-proto/feast/serving/Serving.pb.go b/go-feast-proto/feast/serving/Serving.pb.go new file mode 100644 index 0000000000..4f6d7b267b --- /dev/null +++ b/go-feast-proto/feast/serving/Serving.pb.go @@ -0,0 +1,531 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: feast/serving/Serving.proto + +package serving // import "github.com/gojektech/feast/go-feast-proto/feast/serving" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import types "github.com/gojektech/feast/go-feast-proto/feast/types" +import timestamp "github.com/golang/protobuf/ptypes/timestamp" + +import ( + context "golang.org/x/net/context" + grpc "google.golang.org/grpc" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type RequestType int32 + +const ( + // LAST : return only the latest value based on timestamp. (default) + RequestType_LAST RequestType = 0 + // LIST : return list of historical data sorted by timestamp. + RequestType_LIST RequestType = 1 +) + +var RequestType_name = map[int32]string{ + 0: "LAST", + 1: "LIST", +} +var RequestType_value = map[string]int32{ + "LAST": 0, + "LIST": 1, +} + +func (x RequestType) String() string { + return proto.EnumName(RequestType_name, int32(x)) +} +func (RequestType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_Serving_fd09065a28d57eb8, []int{0} +} + +type QueryFeatures struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryFeatures) Reset() { *m = QueryFeatures{} } +func (m *QueryFeatures) String() string { return proto.CompactTextString(m) } +func (*QueryFeatures) ProtoMessage() {} +func (*QueryFeatures) Descriptor() ([]byte, []int) { + return fileDescriptor_Serving_fd09065a28d57eb8, []int{0} +} +func (m *QueryFeatures) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryFeatures.Unmarshal(m, b) +} +func (m *QueryFeatures) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryFeatures.Marshal(b, m, deterministic) +} +func (dst *QueryFeatures) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryFeatures.Merge(dst, src) +} +func (m *QueryFeatures) XXX_Size() int { + return xxx_messageInfo_QueryFeatures.Size(m) +} +func (m *QueryFeatures) XXX_DiscardUnknown() { + xxx_messageInfo_QueryFeatures.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryFeatures proto.InternalMessageInfo + +type QueryFeatures_Request struct { + // e.g. "driver", "customer", "city". + EntityName string `protobuf:"bytes,1,opt,name=entityName,proto3" json:"entityName,omitempty"` + // List of entity ID. + EntityId []string `protobuf:"bytes,2,rep,name=entityId,proto3" json:"entityId,omitempty"` + // List of request details, contains: featureId, type of query, and limit. + RequestDetails []*RequestDetail `protobuf:"bytes,3,rep,name=requestDetails,proto3" json:"requestDetails,omitempty"` + // Filter specifying only to retrieve features having timestamp within this range. + TimestampRange *TimestampRange `protobuf:"bytes,4,opt,name=timestampRange,proto3" json:"timestampRange,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryFeatures_Request) Reset() { *m = QueryFeatures_Request{} } +func (m *QueryFeatures_Request) String() string { return proto.CompactTextString(m) } +func (*QueryFeatures_Request) ProtoMessage() {} +func (*QueryFeatures_Request) Descriptor() ([]byte, []int) { + return fileDescriptor_Serving_fd09065a28d57eb8, []int{0, 0} +} +func (m *QueryFeatures_Request) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryFeatures_Request.Unmarshal(m, b) +} +func (m *QueryFeatures_Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryFeatures_Request.Marshal(b, m, deterministic) +} +func (dst *QueryFeatures_Request) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryFeatures_Request.Merge(dst, src) +} +func (m *QueryFeatures_Request) XXX_Size() int { + return xxx_messageInfo_QueryFeatures_Request.Size(m) +} +func (m *QueryFeatures_Request) XXX_DiscardUnknown() { + xxx_messageInfo_QueryFeatures_Request.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryFeatures_Request proto.InternalMessageInfo + +func (m *QueryFeatures_Request) GetEntityName() string { + if m != nil { + return m.EntityName + } + return "" +} + +func (m *QueryFeatures_Request) GetEntityId() []string { + if m != nil { + return m.EntityId + } + return nil +} + +func (m *QueryFeatures_Request) GetRequestDetails() []*RequestDetail { + if m != nil { + return m.RequestDetails + } + return nil +} + +func (m *QueryFeatures_Request) GetTimestampRange() *TimestampRange { + if m != nil { + return m.TimestampRange + } + return nil +} + +type QueryFeatures_Response struct { + // e.g. "driver", "customer", "city". + EntityName string `protobuf:"bytes,1,opt,name=entityName,proto3" json:"entityName,omitempty"` + // map of entity ID and its entity's properties. + Entities map[string]*Entity `protobuf:"bytes,2,rep,name=entities,proto3" json:"entities,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryFeatures_Response) Reset() { *m = QueryFeatures_Response{} } +func (m *QueryFeatures_Response) String() string { return proto.CompactTextString(m) } +func (*QueryFeatures_Response) ProtoMessage() {} +func (*QueryFeatures_Response) Descriptor() ([]byte, []int) { + return fileDescriptor_Serving_fd09065a28d57eb8, []int{0, 1} +} +func (m *QueryFeatures_Response) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryFeatures_Response.Unmarshal(m, b) +} +func (m *QueryFeatures_Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryFeatures_Response.Marshal(b, m, deterministic) +} +func (dst *QueryFeatures_Response) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryFeatures_Response.Merge(dst, src) +} +func (m *QueryFeatures_Response) XXX_Size() int { + return xxx_messageInfo_QueryFeatures_Response.Size(m) +} +func (m *QueryFeatures_Response) XXX_DiscardUnknown() { + xxx_messageInfo_QueryFeatures_Response.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryFeatures_Response proto.InternalMessageInfo + +func (m *QueryFeatures_Response) GetEntityName() string { + if m != nil { + return m.EntityName + } + return "" +} + +func (m *QueryFeatures_Response) GetEntities() map[string]*Entity { + if m != nil { + return m.Entities + } + return nil +} + +type RequestDetail struct { + // feature ID to be included in the query. + // feature ID is in the form of [entity_name].[granularity].[feature_name] + // e.g: "driver.day.total_accepted_booking" + // all requested feature ID shall have same entity name. + FeatureId string `protobuf:"bytes,1,opt,name=featureId,proto3" json:"featureId,omitempty"` + // request type either LAST or LIST. + // LAST : return only the latest value based on timestamp. + // LIST : return list of historical data sorted by timestamp. + Type RequestType `protobuf:"varint,2,opt,name=type,proto3,enum=feast.serving.RequestType" json:"type,omitempty"` + // only applicable to LIST. + // length of the returned list <= limit. + // default = 0 + Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RequestDetail) Reset() { *m = RequestDetail{} } +func (m *RequestDetail) String() string { return proto.CompactTextString(m) } +func (*RequestDetail) ProtoMessage() {} +func (*RequestDetail) Descriptor() ([]byte, []int) { + return fileDescriptor_Serving_fd09065a28d57eb8, []int{1} +} +func (m *RequestDetail) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RequestDetail.Unmarshal(m, b) +} +func (m *RequestDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RequestDetail.Marshal(b, m, deterministic) +} +func (dst *RequestDetail) XXX_Merge(src proto.Message) { + xxx_messageInfo_RequestDetail.Merge(dst, src) +} +func (m *RequestDetail) XXX_Size() int { + return xxx_messageInfo_RequestDetail.Size(m) +} +func (m *RequestDetail) XXX_DiscardUnknown() { + xxx_messageInfo_RequestDetail.DiscardUnknown(m) +} + +var xxx_messageInfo_RequestDetail proto.InternalMessageInfo + +func (m *RequestDetail) GetFeatureId() string { + if m != nil { + return m.FeatureId + } + return "" +} + +func (m *RequestDetail) GetType() RequestType { + if m != nil { + return m.Type + } + return RequestType_LAST +} + +func (m *RequestDetail) GetLimit() int32 { + if m != nil { + return m.Limit + } + return 0 +} + +// range of timestamp for querying +// valid timestamp range is having start <= end +type TimestampRange struct { + // start time of the range query. + Start *timestamp.Timestamp `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` + // end time of the range query. + End *timestamp.Timestamp `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TimestampRange) Reset() { *m = TimestampRange{} } +func (m *TimestampRange) String() string { return proto.CompactTextString(m) } +func (*TimestampRange) ProtoMessage() {} +func (*TimestampRange) Descriptor() ([]byte, []int) { + return fileDescriptor_Serving_fd09065a28d57eb8, []int{2} +} +func (m *TimestampRange) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TimestampRange.Unmarshal(m, b) +} +func (m *TimestampRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TimestampRange.Marshal(b, m, deterministic) +} +func (dst *TimestampRange) XXX_Merge(src proto.Message) { + xxx_messageInfo_TimestampRange.Merge(dst, src) +} +func (m *TimestampRange) XXX_Size() int { + return xxx_messageInfo_TimestampRange.Size(m) +} +func (m *TimestampRange) XXX_DiscardUnknown() { + xxx_messageInfo_TimestampRange.DiscardUnknown(m) +} + +var xxx_messageInfo_TimestampRange proto.InternalMessageInfo + +func (m *TimestampRange) GetStart() *timestamp.Timestamp { + if m != nil { + return m.Start + } + return nil +} + +func (m *TimestampRange) GetEnd() *timestamp.Timestamp { + if m != nil { + return m.End + } + return nil +} + +type Entity struct { + // map of feature ID and its feature value. + Features map[string]*FeatureValueList `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Entity) Reset() { *m = Entity{} } +func (m *Entity) String() string { return proto.CompactTextString(m) } +func (*Entity) ProtoMessage() {} +func (*Entity) Descriptor() ([]byte, []int) { + return fileDescriptor_Serving_fd09065a28d57eb8, []int{3} +} +func (m *Entity) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Entity.Unmarshal(m, b) +} +func (m *Entity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Entity.Marshal(b, m, deterministic) +} +func (dst *Entity) XXX_Merge(src proto.Message) { + xxx_messageInfo_Entity.Merge(dst, src) +} +func (m *Entity) XXX_Size() int { + return xxx_messageInfo_Entity.Size(m) +} +func (m *Entity) XXX_DiscardUnknown() { + xxx_messageInfo_Entity.DiscardUnknown(m) +} + +var xxx_messageInfo_Entity proto.InternalMessageInfo + +func (m *Entity) GetFeatures() map[string]*FeatureValueList { + if m != nil { + return m.Features + } + return nil +} + +type FeatureValueList struct { + // list of feature value + // if "type" in "requestDetail" is "LAST", then the length will always be 1. + // if "type" in "requestDetail" is "LIST", then the length is <= "limit". + ValueList *types.ValueList `protobuf:"bytes,1,opt,name=valueList,proto3" json:"valueList,omitempty"` + // list of timestamp of the value. + // the i-th timestamps correspond to the i-th value. + TimestampList *types.TimestampList `protobuf:"bytes,2,opt,name=timestampList,proto3" json:"timestampList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FeatureValueList) Reset() { *m = FeatureValueList{} } +func (m *FeatureValueList) String() string { return proto.CompactTextString(m) } +func (*FeatureValueList) ProtoMessage() {} +func (*FeatureValueList) Descriptor() ([]byte, []int) { + return fileDescriptor_Serving_fd09065a28d57eb8, []int{4} +} +func (m *FeatureValueList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FeatureValueList.Unmarshal(m, b) +} +func (m *FeatureValueList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FeatureValueList.Marshal(b, m, deterministic) +} +func (dst *FeatureValueList) XXX_Merge(src proto.Message) { + xxx_messageInfo_FeatureValueList.Merge(dst, src) +} +func (m *FeatureValueList) XXX_Size() int { + return xxx_messageInfo_FeatureValueList.Size(m) +} +func (m *FeatureValueList) XXX_DiscardUnknown() { + xxx_messageInfo_FeatureValueList.DiscardUnknown(m) +} + +var xxx_messageInfo_FeatureValueList proto.InternalMessageInfo + +func (m *FeatureValueList) GetValueList() *types.ValueList { + if m != nil { + return m.ValueList + } + return nil +} + +func (m *FeatureValueList) GetTimestampList() *types.TimestampList { + if m != nil { + return m.TimestampList + } + return nil +} + +func init() { + proto.RegisterType((*QueryFeatures)(nil), "feast.serving.QueryFeatures") + proto.RegisterType((*QueryFeatures_Request)(nil), "feast.serving.QueryFeatures.Request") + proto.RegisterType((*QueryFeatures_Response)(nil), "feast.serving.QueryFeatures.Response") + proto.RegisterMapType((map[string]*Entity)(nil), "feast.serving.QueryFeatures.Response.EntitiesEntry") + proto.RegisterType((*RequestDetail)(nil), "feast.serving.RequestDetail") + proto.RegisterType((*TimestampRange)(nil), "feast.serving.TimestampRange") + proto.RegisterType((*Entity)(nil), "feast.serving.Entity") + proto.RegisterMapType((map[string]*FeatureValueList)(nil), "feast.serving.Entity.FeaturesEntry") + proto.RegisterType((*FeatureValueList)(nil), "feast.serving.FeatureValueList") + proto.RegisterEnum("feast.serving.RequestType", RequestType_name, RequestType_value) +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// ServingAPIClient is the client API for ServingAPI service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type ServingAPIClient interface { + // Query features from Feast + QueryFeatures(ctx context.Context, in *QueryFeatures_Request, opts ...grpc.CallOption) (*QueryFeatures_Response, error) +} + +type servingAPIClient struct { + cc *grpc.ClientConn +} + +func NewServingAPIClient(cc *grpc.ClientConn) ServingAPIClient { + return &servingAPIClient{cc} +} + +func (c *servingAPIClient) QueryFeatures(ctx context.Context, in *QueryFeatures_Request, opts ...grpc.CallOption) (*QueryFeatures_Response, error) { + out := new(QueryFeatures_Response) + err := c.cc.Invoke(ctx, "/feast.serving.ServingAPI/QueryFeatures", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ServingAPIServer is the server API for ServingAPI service. +type ServingAPIServer interface { + // Query features from Feast + QueryFeatures(context.Context, *QueryFeatures_Request) (*QueryFeatures_Response, error) +} + +func RegisterServingAPIServer(s *grpc.Server, srv ServingAPIServer) { + s.RegisterService(&_ServingAPI_serviceDesc, srv) +} + +func _ServingAPI_QueryFeatures_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryFeatures_Request) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ServingAPIServer).QueryFeatures(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/feast.serving.ServingAPI/QueryFeatures", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ServingAPIServer).QueryFeatures(ctx, req.(*QueryFeatures_Request)) + } + return interceptor(ctx, in, info, handler) +} + +var _ServingAPI_serviceDesc = grpc.ServiceDesc{ + ServiceName: "feast.serving.ServingAPI", + HandlerType: (*ServingAPIServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "QueryFeatures", + Handler: _ServingAPI_QueryFeatures_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "feast/serving/Serving.proto", +} + +func init() { + proto.RegisterFile("feast/serving/Serving.proto", fileDescriptor_Serving_fd09065a28d57eb8) +} + +var fileDescriptor_Serving_fd09065a28d57eb8 = []byte{ + // 591 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0xef, 0x6e, 0xd3, 0x3e, + 0x14, 0x5d, 0x96, 0x75, 0xbf, 0xf6, 0x56, 0xe9, 0xaf, 0xb2, 0xf8, 0x13, 0x85, 0xc1, 0x4a, 0x01, + 0xa9, 0x02, 0xe6, 0xa0, 0x0c, 0x04, 0xe2, 0x0b, 0x6c, 0xda, 0x90, 0x2a, 0x4d, 0x30, 0xbc, 0x0a, + 0x09, 0x84, 0x90, 0xb2, 0xed, 0x36, 0x0b, 0x6b, 0x93, 0x10, 0x3b, 0x95, 0xf2, 0x0a, 0xbc, 0x08, + 0x6f, 0xc0, 0x6b, 0x20, 0xf1, 0x44, 0xa8, 0xb6, 0xd3, 0x26, 0x51, 0xc5, 0xf8, 0x14, 0xdb, 0xf7, + 0x9c, 0x73, 0x73, 0xef, 0xb1, 0x2f, 0xdc, 0x1a, 0xa3, 0xcf, 0x85, 0xcb, 0x31, 0x9d, 0x85, 0x51, + 0xe0, 0x9e, 0xa8, 0x2f, 0x4d, 0xd2, 0x58, 0xc4, 0xc4, 0x92, 0x41, 0xaa, 0x83, 0xce, 0x76, 0x10, + 0xc7, 0xc1, 0x04, 0x5d, 0x19, 0x3c, 0xcd, 0xc6, 0xae, 0x08, 0xa7, 0xc8, 0x85, 0x3f, 0x4d, 0x14, + 0xde, 0xb9, 0xa9, 0xc4, 0x44, 0x9e, 0x20, 0x77, 0x3f, 0xf8, 0x93, 0x0c, 0x55, 0xa0, 0xff, 0xd3, + 0x04, 0xeb, 0x7d, 0x86, 0x69, 0xfe, 0x06, 0x7d, 0x91, 0xa5, 0xc8, 0x9d, 0xdf, 0x06, 0xfc, 0xc7, + 0xf0, 0x5b, 0x86, 0x5c, 0x90, 0x3b, 0x00, 0x18, 0x89, 0x50, 0xe4, 0x6f, 0xfd, 0x29, 0xda, 0x46, + 0xcf, 0x18, 0xb4, 0x58, 0xe9, 0x84, 0x38, 0xd0, 0x54, 0xbb, 0xe1, 0xb9, 0xbd, 0xde, 0x33, 0x07, + 0x2d, 0xb6, 0xd8, 0x93, 0x03, 0xe8, 0xa4, 0x4a, 0xe6, 0x00, 0x85, 0x1f, 0x4e, 0xb8, 0x6d, 0xf6, + 0xcc, 0x41, 0xdb, 0xdb, 0xa2, 0x95, 0x7f, 0xa7, 0xac, 0x0c, 0x62, 0x35, 0x0e, 0x39, 0x84, 0xce, + 0xa2, 0x16, 0xe6, 0x47, 0x01, 0xda, 0x1b, 0x3d, 0x63, 0xd0, 0xf6, 0x6e, 0xd7, 0x54, 0x46, 0x15, + 0x10, 0xab, 0x91, 0x9c, 0x5f, 0x06, 0x34, 0x19, 0xf2, 0x24, 0x8e, 0x38, 0x5e, 0x59, 0xd5, 0x3b, + 0x5d, 0x55, 0x88, 0x5c, 0x56, 0xd5, 0xf6, 0x76, 0x6b, 0xd9, 0x2a, 0x1d, 0xa3, 0x85, 0x30, 0x3d, + 0xd4, 0xac, 0xc3, 0x48, 0xa4, 0x39, 0x5b, 0x88, 0x38, 0x0c, 0xac, 0x4a, 0x88, 0x74, 0xc1, 0xbc, + 0xc4, 0x5c, 0xa7, 0x9e, 0x2f, 0xc9, 0x23, 0x68, 0xcc, 0xe6, 0xb6, 0xd8, 0xeb, 0xb2, 0xbc, 0xeb, + 0xb5, 0x84, 0x92, 0x9e, 0x33, 0x85, 0x79, 0xb9, 0xfe, 0xc2, 0xe8, 0x73, 0xb0, 0x2a, 0x9d, 0x23, + 0x5b, 0xd0, 0x1a, 0xab, 0x3f, 0x1a, 0x9e, 0x6b, 0xe5, 0xe5, 0x01, 0xa1, 0xb0, 0x31, 0x37, 0x5f, + 0xca, 0x77, 0x3c, 0x67, 0xb5, 0x07, 0xa3, 0x3c, 0x41, 0x26, 0x71, 0xe4, 0x1a, 0x34, 0x26, 0xe1, + 0x34, 0x14, 0xb6, 0xd9, 0x33, 0x06, 0x0d, 0xa6, 0x36, 0xfd, 0x04, 0x3a, 0xd5, 0x46, 0x93, 0x27, + 0xd0, 0xe0, 0xc2, 0x4f, 0x85, 0xcc, 0xd8, 0xf6, 0x1c, 0xaa, 0x6e, 0x22, 0x2d, 0x6e, 0x62, 0xc9, + 0x18, 0x05, 0x24, 0x8f, 0xc1, 0xc4, 0xe8, 0x5c, 0xd7, 0xf9, 0x37, 0xfc, 0x1c, 0xd6, 0xff, 0x61, + 0xc0, 0xa6, 0x2a, 0x9e, 0xbc, 0x82, 0xa6, 0xae, 0x87, 0xdb, 0x86, 0xb4, 0xe5, 0xde, 0xca, 0x2e, + 0xd1, 0xc2, 0x18, 0x6d, 0x43, 0x41, 0x72, 0x3e, 0x83, 0x55, 0x09, 0xad, 0xb0, 0xe1, 0x59, 0xd5, + 0x86, 0xed, 0x5a, 0x02, 0x4d, 0x97, 0x0f, 0xe8, 0x28, 0xe4, 0xa2, 0x6c, 0xc8, 0x77, 0x03, 0xba, + 0xf5, 0x38, 0x79, 0x0a, 0xad, 0x59, 0xb1, 0xd1, 0x2d, 0xba, 0xa1, 0x35, 0xe5, 0x5b, 0xa4, 0x4b, + 0xa9, 0x25, 0x90, 0xbc, 0x06, 0x6b, 0x71, 0x7f, 0x25, 0xb3, 0x68, 0x56, 0x99, 0x39, 0x2a, 0x23, + 0x58, 0x95, 0xf0, 0xf0, 0x2e, 0xb4, 0x4b, 0x9e, 0x92, 0x26, 0x6c, 0x1c, 0xed, 0x9d, 0x8c, 0xba, + 0x6b, 0x72, 0x35, 0x3c, 0x19, 0x75, 0x0d, 0x6f, 0x02, 0xa0, 0x67, 0xca, 0xde, 0xf1, 0x90, 0x7c, + 0xa9, 0x8d, 0x01, 0x72, 0xff, 0x8a, 0x2b, 0x2f, 0xc5, 0x9d, 0x07, 0xff, 0xf4, 0x30, 0xfa, 0x6b, + 0xfb, 0x1f, 0xa1, 0x3a, 0xb2, 0xf6, 0xff, 0x5f, 0x26, 0x3f, 0x9e, 0x7b, 0xff, 0xe9, 0x79, 0x10, + 0x8a, 0x8b, 0xec, 0x94, 0x9e, 0xc5, 0x53, 0x37, 0x88, 0xbf, 0xe2, 0xa5, 0xc0, 0xb3, 0x0b, 0x57, + 0xcd, 0xad, 0x20, 0xde, 0x91, 0x8b, 0x1d, 0x79, 0x4d, 0xdc, 0xca, 0x64, 0x3c, 0xdd, 0x94, 0x87, + 0xbb, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x47, 0x65, 0xae, 0x98, 0x31, 0x05, 0x00, 0x00, +} diff --git a/go-feast-proto/feast/specs/EntitySpec.pb.go b/go-feast-proto/feast/specs/EntitySpec.pb.go new file mode 100644 index 0000000000..0bb5445f58 --- /dev/null +++ b/go-feast-proto/feast/specs/EntitySpec.pb.go @@ -0,0 +1,96 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: feast/specs/EntitySpec.proto + +package specs // import "github.com/gojektech/feast/go-feast-proto/feast/specs" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type EntitySpec struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + Tags []string `protobuf:"bytes,3,rep,name=tags,proto3" json:"tags,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *EntitySpec) Reset() { *m = EntitySpec{} } +func (m *EntitySpec) String() string { return proto.CompactTextString(m) } +func (*EntitySpec) ProtoMessage() {} +func (*EntitySpec) Descriptor() ([]byte, []int) { + return fileDescriptor_EntitySpec_acaf20f0bc303278, []int{0} +} +func (m *EntitySpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_EntitySpec.Unmarshal(m, b) +} +func (m *EntitySpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_EntitySpec.Marshal(b, m, deterministic) +} +func (dst *EntitySpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_EntitySpec.Merge(dst, src) +} +func (m *EntitySpec) XXX_Size() int { + return xxx_messageInfo_EntitySpec.Size(m) +} +func (m *EntitySpec) XXX_DiscardUnknown() { + xxx_messageInfo_EntitySpec.DiscardUnknown(m) +} + +var xxx_messageInfo_EntitySpec proto.InternalMessageInfo + +func (m *EntitySpec) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *EntitySpec) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +func (m *EntitySpec) GetTags() []string { + if m != nil { + return m.Tags + } + return nil +} + +func init() { + proto.RegisterType((*EntitySpec)(nil), "feast.specs.EntitySpec") +} + +func init() { + proto.RegisterFile("feast/specs/EntitySpec.proto", fileDescriptor_EntitySpec_acaf20f0bc303278) +} + +var fileDescriptor_EntitySpec_acaf20f0bc303278 = []byte{ + // 172 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x49, 0x4b, 0x4d, 0x2c, + 0x2e, 0xd1, 0x2f, 0x2e, 0x48, 0x4d, 0x2e, 0xd6, 0x77, 0xcd, 0x2b, 0xc9, 0x2c, 0xa9, 0x0c, 0x2e, + 0x48, 0x4d, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x06, 0xcb, 0xea, 0x81, 0x65, 0x95, + 0xc2, 0xb8, 0xb8, 0x10, 0x0a, 0x84, 0x84, 0xb8, 0x58, 0xf2, 0x12, 0x73, 0x53, 0x25, 0x18, 0x15, + 0x18, 0x35, 0x38, 0x83, 0xc0, 0x6c, 0x21, 0x05, 0x2e, 0xee, 0x94, 0xd4, 0xe2, 0xe4, 0xa2, 0xcc, + 0x82, 0x92, 0xcc, 0xfc, 0x3c, 0x09, 0x26, 0xb0, 0x14, 0xb2, 0x10, 0x48, 0x57, 0x49, 0x62, 0x7a, + 0xb1, 0x04, 0xb3, 0x02, 0x33, 0x48, 0x17, 0x88, 0xed, 0x14, 0xca, 0x85, 0x6c, 0x8d, 0x13, 0x3f, + 0xc2, 0x92, 0x00, 0x90, 0x23, 0xa2, 0x4c, 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, + 0x73, 0xf5, 0xd3, 0xf3, 0xb3, 0x52, 0xb3, 0x4b, 0x52, 0x93, 0x33, 0xf4, 0x21, 0xee, 0x4e, 0xcf, + 0xd7, 0x05, 0x33, 0x74, 0xc1, 0xee, 0xd5, 0x47, 0xf2, 0x4c, 0x12, 0x1b, 0x58, 0xc8, 0x18, 0x10, + 0x00, 0x00, 0xff, 0xff, 0xb2, 0xa8, 0xdf, 0xe2, 0xe2, 0x00, 0x00, 0x00, +} diff --git a/go-feast-proto/feast/specs/FeatureGroupSpec.pb.go b/go-feast-proto/feast/specs/FeatureGroupSpec.pb.go new file mode 100644 index 0000000000..52bbe3569e --- /dev/null +++ b/go-feast-proto/feast/specs/FeatureGroupSpec.pb.go @@ -0,0 +1,98 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: feast/specs/FeatureGroupSpec.proto + +package specs // import "github.com/gojektech/feast/go-feast-proto/feast/specs" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type FeatureGroupSpec struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Tags []string `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags,omitempty"` + DataStores *DataStores `protobuf:"bytes,3,opt,name=dataStores,proto3" json:"dataStores,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FeatureGroupSpec) Reset() { *m = FeatureGroupSpec{} } +func (m *FeatureGroupSpec) String() string { return proto.CompactTextString(m) } +func (*FeatureGroupSpec) ProtoMessage() {} +func (*FeatureGroupSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_FeatureGroupSpec_3b2276702dd15bc5, []int{0} +} +func (m *FeatureGroupSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FeatureGroupSpec.Unmarshal(m, b) +} +func (m *FeatureGroupSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FeatureGroupSpec.Marshal(b, m, deterministic) +} +func (dst *FeatureGroupSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_FeatureGroupSpec.Merge(dst, src) +} +func (m *FeatureGroupSpec) XXX_Size() int { + return xxx_messageInfo_FeatureGroupSpec.Size(m) +} +func (m *FeatureGroupSpec) XXX_DiscardUnknown() { + xxx_messageInfo_FeatureGroupSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_FeatureGroupSpec proto.InternalMessageInfo + +func (m *FeatureGroupSpec) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +func (m *FeatureGroupSpec) GetTags() []string { + if m != nil { + return m.Tags + } + return nil +} + +func (m *FeatureGroupSpec) GetDataStores() *DataStores { + if m != nil { + return m.DataStores + } + return nil +} + +func init() { + proto.RegisterType((*FeatureGroupSpec)(nil), "feast.specs.FeatureGroupSpec") +} + +func init() { + proto.RegisterFile("feast/specs/FeatureGroupSpec.proto", fileDescriptor_FeatureGroupSpec_3b2276702dd15bc5) +} + +var fileDescriptor_FeatureGroupSpec_3b2276702dd15bc5 = []byte{ + // 199 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4a, 0x4b, 0x4d, 0x2c, + 0x2e, 0xd1, 0x2f, 0x2e, 0x48, 0x4d, 0x2e, 0xd6, 0x77, 0x4b, 0x4d, 0x2c, 0x29, 0x2d, 0x4a, 0x75, + 0x2f, 0xca, 0x2f, 0x2d, 0x08, 0x2e, 0x48, 0x4d, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, + 0x06, 0xab, 0xd1, 0x03, 0xab, 0x91, 0x92, 0xc5, 0xa2, 0x01, 0xa1, 0x56, 0x29, 0x9f, 0x4b, 0x00, + 0xdd, 0x14, 0x21, 0x3e, 0x2e, 0xa6, 0xcc, 0x14, 0x09, 0x46, 0x05, 0x46, 0x0d, 0xce, 0x20, 0xa6, + 0xcc, 0x14, 0x21, 0x21, 0x2e, 0x96, 0x92, 0xc4, 0xf4, 0x62, 0x09, 0x26, 0x05, 0x66, 0x0d, 0xce, + 0x20, 0x30, 0x5b, 0xc8, 0x9c, 0x8b, 0x2b, 0x25, 0xb1, 0x24, 0x31, 0xb8, 0x24, 0xbf, 0x28, 0xb5, + 0x58, 0x82, 0x59, 0x81, 0x51, 0x83, 0xdb, 0x48, 0x5c, 0x0f, 0xc9, 0x62, 0x3d, 0x17, 0xb8, 0x74, + 0x10, 0x92, 0x52, 0xa7, 0x68, 0x2e, 0x64, 0xe7, 0x39, 0x89, 0xa2, 0xdb, 0x1e, 0x00, 0x72, 0x56, + 0x94, 0x69, 0x7a, 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x7e, 0x7a, 0x7e, 0x56, + 0x6a, 0x76, 0x49, 0x6a, 0x72, 0x86, 0x3e, 0xc4, 0x2b, 0xe9, 0xf9, 0xba, 0x60, 0x86, 0x2e, 0xd8, + 0x07, 0xfa, 0x48, 0xfe, 0x4b, 0x62, 0x03, 0x0b, 0x19, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0x61, + 0x2e, 0xdb, 0x62, 0x26, 0x01, 0x00, 0x00, +} diff --git a/go-feast-proto/feast/specs/FeatureSpec.pb.go b/go-feast-proto/feast/specs/FeatureSpec.pb.go new file mode 100644 index 0000000000..49b49de040 --- /dev/null +++ b/go-feast-proto/feast/specs/FeatureSpec.pb.go @@ -0,0 +1,284 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: feast/specs/FeatureSpec.proto + +package specs // import "github.com/gojektech/feast/go-feast-proto/feast/specs" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import types "github.com/gojektech/feast/go-feast-proto/feast/types" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type FeatureSpec struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Owner string `protobuf:"bytes,3,opt,name=owner,proto3" json:"owner,omitempty"` + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + Uri string `protobuf:"bytes,5,opt,name=uri,proto3" json:"uri,omitempty"` + Granularity types.Granularity_Enum `protobuf:"varint,6,opt,name=granularity,proto3,enum=feast.types.Granularity_Enum" json:"granularity,omitempty"` + ValueType types.ValueType_Enum `protobuf:"varint,7,opt,name=valueType,proto3,enum=feast.types.ValueType_Enum" json:"valueType,omitempty"` + Entity string `protobuf:"bytes,8,opt,name=entity,proto3" json:"entity,omitempty"` + Group string `protobuf:"bytes,9,opt,name=group,proto3" json:"group,omitempty"` + Tags []string `protobuf:"bytes,10,rep,name=tags,proto3" json:"tags,omitempty"` + Options map[string]string `protobuf:"bytes,11,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + DataStores *DataStores `protobuf:"bytes,12,opt,name=dataStores,proto3" json:"dataStores,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FeatureSpec) Reset() { *m = FeatureSpec{} } +func (m *FeatureSpec) String() string { return proto.CompactTextString(m) } +func (*FeatureSpec) ProtoMessage() {} +func (*FeatureSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_FeatureSpec_f61b2ffac65ee0e1, []int{0} +} +func (m *FeatureSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FeatureSpec.Unmarshal(m, b) +} +func (m *FeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FeatureSpec.Marshal(b, m, deterministic) +} +func (dst *FeatureSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_FeatureSpec.Merge(dst, src) +} +func (m *FeatureSpec) XXX_Size() int { + return xxx_messageInfo_FeatureSpec.Size(m) +} +func (m *FeatureSpec) XXX_DiscardUnknown() { + xxx_messageInfo_FeatureSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_FeatureSpec proto.InternalMessageInfo + +func (m *FeatureSpec) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +func (m *FeatureSpec) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *FeatureSpec) GetOwner() string { + if m != nil { + return m.Owner + } + return "" +} + +func (m *FeatureSpec) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +func (m *FeatureSpec) GetUri() string { + if m != nil { + return m.Uri + } + return "" +} + +func (m *FeatureSpec) GetGranularity() types.Granularity_Enum { + if m != nil { + return m.Granularity + } + return types.Granularity_NONE +} + +func (m *FeatureSpec) GetValueType() types.ValueType_Enum { + if m != nil { + return m.ValueType + } + return types.ValueType_UNKNOWN +} + +func (m *FeatureSpec) GetEntity() string { + if m != nil { + return m.Entity + } + return "" +} + +func (m *FeatureSpec) GetGroup() string { + if m != nil { + return m.Group + } + return "" +} + +func (m *FeatureSpec) GetTags() []string { + if m != nil { + return m.Tags + } + return nil +} + +func (m *FeatureSpec) GetOptions() map[string]string { + if m != nil { + return m.Options + } + return nil +} + +func (m *FeatureSpec) GetDataStores() *DataStores { + if m != nil { + return m.DataStores + } + return nil +} + +type DataStores struct { + Serving *DataStore `protobuf:"bytes,1,opt,name=serving,proto3" json:"serving,omitempty"` + Warehouse *DataStore `protobuf:"bytes,2,opt,name=warehouse,proto3" json:"warehouse,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DataStores) Reset() { *m = DataStores{} } +func (m *DataStores) String() string { return proto.CompactTextString(m) } +func (*DataStores) ProtoMessage() {} +func (*DataStores) Descriptor() ([]byte, []int) { + return fileDescriptor_FeatureSpec_f61b2ffac65ee0e1, []int{1} +} +func (m *DataStores) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DataStores.Unmarshal(m, b) +} +func (m *DataStores) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DataStores.Marshal(b, m, deterministic) +} +func (dst *DataStores) XXX_Merge(src proto.Message) { + xxx_messageInfo_DataStores.Merge(dst, src) +} +func (m *DataStores) XXX_Size() int { + return xxx_messageInfo_DataStores.Size(m) +} +func (m *DataStores) XXX_DiscardUnknown() { + xxx_messageInfo_DataStores.DiscardUnknown(m) +} + +var xxx_messageInfo_DataStores proto.InternalMessageInfo + +func (m *DataStores) GetServing() *DataStore { + if m != nil { + return m.Serving + } + return nil +} + +func (m *DataStores) GetWarehouse() *DataStore { + if m != nil { + return m.Warehouse + } + return nil +} + +type DataStore struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Options map[string]string `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DataStore) Reset() { *m = DataStore{} } +func (m *DataStore) String() string { return proto.CompactTextString(m) } +func (*DataStore) ProtoMessage() {} +func (*DataStore) Descriptor() ([]byte, []int) { + return fileDescriptor_FeatureSpec_f61b2ffac65ee0e1, []int{2} +} +func (m *DataStore) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DataStore.Unmarshal(m, b) +} +func (m *DataStore) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DataStore.Marshal(b, m, deterministic) +} +func (dst *DataStore) XXX_Merge(src proto.Message) { + xxx_messageInfo_DataStore.Merge(dst, src) +} +func (m *DataStore) XXX_Size() int { + return xxx_messageInfo_DataStore.Size(m) +} +func (m *DataStore) XXX_DiscardUnknown() { + xxx_messageInfo_DataStore.DiscardUnknown(m) +} + +var xxx_messageInfo_DataStore proto.InternalMessageInfo + +func (m *DataStore) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +func (m *DataStore) GetOptions() map[string]string { + if m != nil { + return m.Options + } + return nil +} + +func init() { + proto.RegisterType((*FeatureSpec)(nil), "feast.specs.FeatureSpec") + proto.RegisterMapType((map[string]string)(nil), "feast.specs.FeatureSpec.OptionsEntry") + proto.RegisterType((*DataStores)(nil), "feast.specs.DataStores") + proto.RegisterType((*DataStore)(nil), "feast.specs.DataStore") + proto.RegisterMapType((map[string]string)(nil), "feast.specs.DataStore.OptionsEntry") +} + +func init() { + proto.RegisterFile("feast/specs/FeatureSpec.proto", fileDescriptor_FeatureSpec_f61b2ffac65ee0e1) +} + +var fileDescriptor_FeatureSpec_f61b2ffac65ee0e1 = []byte{ + // 477 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0xc1, 0x6e, 0xd3, 0x40, + 0x10, 0x95, 0xed, 0x36, 0xc1, 0xe3, 0xaa, 0xaa, 0x56, 0xa8, 0x5d, 0x05, 0x2a, 0x59, 0x41, 0x48, + 0xb9, 0xd4, 0x46, 0x01, 0x04, 0x54, 0x42, 0x95, 0x2a, 0x02, 0x47, 0x90, 0x8b, 0x72, 0xe0, 0xb6, + 0x75, 0x06, 0xc7, 0xb4, 0xf1, 0x5a, 0xbb, 0xeb, 0x56, 0xfe, 0x11, 0x7e, 0x93, 0x5f, 0x40, 0x3b, + 0x4e, 0xea, 0x8d, 0x1a, 0x4e, 0xdc, 0x66, 0xe7, 0xcd, 0x1b, 0xcf, 0x7b, 0xe3, 0x81, 0xd3, 0x9f, + 0x28, 0xb4, 0x49, 0x75, 0x8d, 0xb9, 0x4e, 0x3f, 0xa3, 0x30, 0x8d, 0xc2, 0xab, 0x1a, 0xf3, 0xa4, + 0x56, 0xd2, 0x48, 0x16, 0x11, 0x9c, 0x10, 0x3c, 0x7a, 0xee, 0xd6, 0xce, 0x2a, 0x53, 0x9a, 0xb6, + 0x2f, 0x1d, 0x6d, 0x75, 0xba, 0x32, 0x52, 0x89, 0x02, 0x1f, 0xc3, 0xa6, 0xad, 0x51, 0xa7, 0x5f, + 0x94, 0xa8, 0x9a, 0x5b, 0xa1, 0x4a, 0xd3, 0xae, 0xe1, 0x13, 0x17, 0x9e, 0x8b, 0xdb, 0x06, 0x3b, + 0x60, 0xfc, 0x27, 0x80, 0xc8, 0x99, 0x8b, 0x1d, 0x82, 0x5f, 0x2e, 0xb8, 0x17, 0x7b, 0x93, 0x30, + 0xf3, 0xcb, 0x05, 0x63, 0xb0, 0x57, 0x89, 0x15, 0x72, 0x9f, 0x32, 0x14, 0xb3, 0xa7, 0xb0, 0x2f, + 0xef, 0x2b, 0x54, 0x3c, 0xa0, 0x64, 0xf7, 0x60, 0x31, 0x44, 0x0b, 0xd4, 0xb9, 0x2a, 0x6b, 0x53, + 0xca, 0x8a, 0xef, 0x11, 0xe6, 0xa6, 0xd8, 0x11, 0x04, 0x8d, 0x2a, 0xf9, 0x3e, 0x21, 0x36, 0x64, + 0x17, 0x10, 0x15, 0xfd, 0xac, 0x7c, 0x10, 0x7b, 0x93, 0xc3, 0xe9, 0x69, 0xd2, 0xb9, 0x42, 0xc3, + 0x26, 0xae, 0x96, 0x59, 0xd5, 0xac, 0x32, 0x97, 0xc1, 0x3e, 0x40, 0x78, 0x67, 0xd5, 0x7c, 0x6f, + 0x6b, 0xe4, 0x43, 0xa2, 0x3f, 0xdb, 0xa2, 0xcf, 0x37, 0x68, 0x47, 0xee, 0xab, 0xd9, 0x31, 0x0c, + 0x90, 0x4c, 0xe6, 0x4f, 0x68, 0xa0, 0xf5, 0xcb, 0xaa, 0x2b, 0x94, 0x6c, 0x6a, 0x1e, 0x76, 0xea, + 0xe8, 0x61, 0x7d, 0x30, 0xa2, 0xd0, 0x1c, 0xe2, 0xc0, 0xfa, 0x60, 0x63, 0x76, 0x01, 0x43, 0x49, + 0xca, 0x34, 0x8f, 0xe2, 0x60, 0x12, 0x4d, 0x5f, 0x26, 0xce, 0x3e, 0x13, 0x77, 0xdd, 0x5f, 0xbb, + 0xba, 0x59, 0x65, 0x54, 0x9b, 0x6d, 0x58, 0xec, 0x1d, 0xc0, 0x42, 0x18, 0x61, 0xb7, 0x89, 0x9a, + 0x1f, 0xc4, 0xde, 0x24, 0x9a, 0x9e, 0x6c, 0xf5, 0xf8, 0xf4, 0x00, 0x67, 0x4e, 0xe9, 0xe8, 0x1c, + 0x0e, 0xdc, 0x8e, 0xd6, 0xd9, 0x1b, 0x6c, 0xd7, 0x6b, 0xb3, 0xa1, 0x55, 0x41, 0x52, 0xd7, 0x8b, + 0xeb, 0x1e, 0xe7, 0xfe, 0x7b, 0x6f, 0x6c, 0x00, 0xfa, 0xae, 0xec, 0x15, 0x0c, 0x35, 0xaa, 0xbb, + 0xb2, 0x2a, 0x88, 0x1d, 0x4d, 0x8f, 0x77, 0x7f, 0x3f, 0xdb, 0x94, 0xb1, 0x37, 0x10, 0xde, 0x0b, + 0x85, 0x4b, 0xd9, 0xe8, 0xae, 0xfb, 0xbf, 0x39, 0x7d, 0xe1, 0xf8, 0xb7, 0x07, 0xe1, 0x03, 0xf0, + 0xe8, 0x2f, 0xfb, 0xd8, 0x3b, 0xe9, 0x93, 0x93, 0x2f, 0x76, 0x77, 0xdc, 0xed, 0xe3, 0xff, 0xd8, + 0x71, 0x39, 0x07, 0xf7, 0x08, 0x2f, 0x8f, 0x9c, 0xad, 0x7d, 0xb3, 0x17, 0xf2, 0xe3, 0x6d, 0x51, + 0x9a, 0x65, 0x73, 0x9d, 0xe4, 0x72, 0x95, 0x16, 0xf2, 0x17, 0xde, 0x18, 0xcc, 0x97, 0x69, 0x77, + 0x4f, 0x85, 0x3c, 0xa3, 0xe0, 0x8c, 0x8e, 0x29, 0x75, 0x4e, 0xf4, 0x7a, 0x40, 0xa9, 0xd7, 0x7f, + 0x03, 0x00, 0x00, 0xff, 0xff, 0x8e, 0xe3, 0xde, 0x3d, 0x02, 0x04, 0x00, 0x00, +} diff --git a/go-feast-proto/feast/specs/ImportSpec.pb.go b/go-feast-proto/feast/specs/ImportSpec.pb.go new file mode 100644 index 0000000000..76af084a16 --- /dev/null +++ b/go-feast-proto/feast/specs/ImportSpec.pb.go @@ -0,0 +1,333 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: feast/specs/ImportSpec.proto + +package specs // import "github.com/gojektech/feast/go-feast-proto/feast/specs" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import _ "github.com/gojektech/feast/go-feast-proto/feast/types" +import timestamp "github.com/golang/protobuf/ptypes/timestamp" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type ImportSpec struct { + // type should define what sort of store it is + // pubsub: topic, subscription (already a featureRow) + // kafka: ? (already a featureRow) + // file: csv, parquet, json + // bigquery: table, query + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Options map[string]string `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // You should probably only set one of these, but if you set both, they concatenate + Entities []string `protobuf:"bytes,3,rep,name=entities,proto3" json:"entities,omitempty"` + Schema *Schema `protobuf:"bytes,4,opt,name=schema,proto3" json:"schema,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ImportSpec) Reset() { *m = ImportSpec{} } +func (m *ImportSpec) String() string { return proto.CompactTextString(m) } +func (*ImportSpec) ProtoMessage() {} +func (*ImportSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_ImportSpec_83b1ff6d7ea8bc36, []int{0} +} +func (m *ImportSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ImportSpec.Unmarshal(m, b) +} +func (m *ImportSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ImportSpec.Marshal(b, m, deterministic) +} +func (dst *ImportSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_ImportSpec.Merge(dst, src) +} +func (m *ImportSpec) XXX_Size() int { + return xxx_messageInfo_ImportSpec.Size(m) +} +func (m *ImportSpec) XXX_DiscardUnknown() { + xxx_messageInfo_ImportSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_ImportSpec proto.InternalMessageInfo + +func (m *ImportSpec) GetType() string { + if m != nil { + return m.Type + } + return "" +} + +func (m *ImportSpec) GetOptions() map[string]string { + if m != nil { + return m.Options + } + return nil +} + +func (m *ImportSpec) GetEntities() []string { + if m != nil { + return m.Entities + } + return nil +} + +func (m *ImportSpec) GetSchema() *Schema { + if m != nil { + return m.Schema + } + return nil +} + +type Schema struct { + Fields []*Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` + // Types that are valid to be assigned to Timestamp: + // *Schema_TimestampColumn + // *Schema_TimestampValue + Timestamp isSchema_Timestamp `protobuf_oneof:"timestamp"` + EntityIdColumn string `protobuf:"bytes,7,opt,name=entityIdColumn,proto3" json:"entityIdColumn,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Schema) Reset() { *m = Schema{} } +func (m *Schema) String() string { return proto.CompactTextString(m) } +func (*Schema) ProtoMessage() {} +func (*Schema) Descriptor() ([]byte, []int) { + return fileDescriptor_ImportSpec_83b1ff6d7ea8bc36, []int{1} +} +func (m *Schema) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Schema.Unmarshal(m, b) +} +func (m *Schema) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Schema.Marshal(b, m, deterministic) +} +func (dst *Schema) XXX_Merge(src proto.Message) { + xxx_messageInfo_Schema.Merge(dst, src) +} +func (m *Schema) XXX_Size() int { + return xxx_messageInfo_Schema.Size(m) +} +func (m *Schema) XXX_DiscardUnknown() { + xxx_messageInfo_Schema.DiscardUnknown(m) +} + +var xxx_messageInfo_Schema proto.InternalMessageInfo + +func (m *Schema) GetFields() []*Field { + if m != nil { + return m.Fields + } + return nil +} + +type isSchema_Timestamp interface { + isSchema_Timestamp() +} + +type Schema_TimestampColumn struct { + TimestampColumn string `protobuf:"bytes,5,opt,name=timestampColumn,proto3,oneof"` +} + +type Schema_TimestampValue struct { + TimestampValue *timestamp.Timestamp `protobuf:"bytes,6,opt,name=timestampValue,proto3,oneof"` +} + +func (*Schema_TimestampColumn) isSchema_Timestamp() {} + +func (*Schema_TimestampValue) isSchema_Timestamp() {} + +func (m *Schema) GetTimestamp() isSchema_Timestamp { + if m != nil { + return m.Timestamp + } + return nil +} + +func (m *Schema) GetTimestampColumn() string { + if x, ok := m.GetTimestamp().(*Schema_TimestampColumn); ok { + return x.TimestampColumn + } + return "" +} + +func (m *Schema) GetTimestampValue() *timestamp.Timestamp { + if x, ok := m.GetTimestamp().(*Schema_TimestampValue); ok { + return x.TimestampValue + } + return nil +} + +func (m *Schema) GetEntityIdColumn() string { + if m != nil { + return m.EntityIdColumn + } + return "" +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*Schema) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _Schema_OneofMarshaler, _Schema_OneofUnmarshaler, _Schema_OneofSizer, []interface{}{ + (*Schema_TimestampColumn)(nil), + (*Schema_TimestampValue)(nil), + } +} + +func _Schema_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*Schema) + // timestamp + switch x := m.Timestamp.(type) { + case *Schema_TimestampColumn: + b.EncodeVarint(5<<3 | proto.WireBytes) + b.EncodeStringBytes(x.TimestampColumn) + case *Schema_TimestampValue: + b.EncodeVarint(6<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.TimestampValue); err != nil { + return err + } + case nil: + default: + return fmt.Errorf("Schema.Timestamp has unexpected type %T", x) + } + return nil +} + +func _Schema_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*Schema) + switch tag { + case 5: // timestamp.timestampColumn + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeStringBytes() + m.Timestamp = &Schema_TimestampColumn{x} + return true, err + case 6: // timestamp.timestampValue + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(timestamp.Timestamp) + err := b.DecodeMessage(msg) + m.Timestamp = &Schema_TimestampValue{msg} + return true, err + default: + return false, nil + } +} + +func _Schema_OneofSizer(msg proto.Message) (n int) { + m := msg.(*Schema) + // timestamp + switch x := m.Timestamp.(type) { + case *Schema_TimestampColumn: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(len(x.TimestampColumn))) + n += len(x.TimestampColumn) + case *Schema_TimestampValue: + s := proto.Size(x.TimestampValue) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +type Field struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + FeatureId string `protobuf:"bytes,2,opt,name=featureId,proto3" json:"featureId,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Field) Reset() { *m = Field{} } +func (m *Field) String() string { return proto.CompactTextString(m) } +func (*Field) ProtoMessage() {} +func (*Field) Descriptor() ([]byte, []int) { + return fileDescriptor_ImportSpec_83b1ff6d7ea8bc36, []int{2} +} +func (m *Field) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Field.Unmarshal(m, b) +} +func (m *Field) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Field.Marshal(b, m, deterministic) +} +func (dst *Field) XXX_Merge(src proto.Message) { + xxx_messageInfo_Field.Merge(dst, src) +} +func (m *Field) XXX_Size() int { + return xxx_messageInfo_Field.Size(m) +} +func (m *Field) XXX_DiscardUnknown() { + xxx_messageInfo_Field.DiscardUnknown(m) +} + +var xxx_messageInfo_Field proto.InternalMessageInfo + +func (m *Field) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *Field) GetFeatureId() string { + if m != nil { + return m.FeatureId + } + return "" +} + +func init() { + proto.RegisterType((*ImportSpec)(nil), "feast.specs.ImportSpec") + proto.RegisterMapType((map[string]string)(nil), "feast.specs.ImportSpec.OptionsEntry") + proto.RegisterType((*Schema)(nil), "feast.specs.Schema") + proto.RegisterType((*Field)(nil), "feast.specs.Field") +} + +func init() { + proto.RegisterFile("feast/specs/ImportSpec.proto", fileDescriptor_ImportSpec_83b1ff6d7ea8bc36) +} + +var fileDescriptor_ImportSpec_83b1ff6d7ea8bc36 = []byte{ + // 412 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0x52, 0x4b, 0x6f, 0xd3, 0x40, + 0x10, 0xae, 0x93, 0xc6, 0x25, 0x63, 0xd4, 0xa2, 0x05, 0x89, 0x95, 0x55, 0x09, 0x2b, 0x42, 0xc8, + 0x2a, 0xea, 0xae, 0x54, 0x84, 0x04, 0x3d, 0x70, 0x08, 0x0f, 0x35, 0x27, 0x90, 0x0b, 0x1c, 0xb8, + 0x39, 0xce, 0xd8, 0x31, 0xb5, 0xbd, 0x96, 0x77, 0x8d, 0xe4, 0xdf, 0xca, 0x99, 0xff, 0x81, 0x76, + 0xd7, 0x71, 0x9c, 0xdc, 0xe6, 0xf1, 0xcd, 0xe3, 0x9b, 0x6f, 0xe0, 0x32, 0xc5, 0x58, 0x2a, 0x2e, + 0x6b, 0x4c, 0x24, 0x5f, 0x95, 0xb5, 0x68, 0xd4, 0x7d, 0x8d, 0x09, 0xab, 0x1b, 0xa1, 0x04, 0xf1, + 0x4c, 0x96, 0x99, 0xac, 0xff, 0xdc, 0x42, 0x55, 0x57, 0xa3, 0xe4, 0x3f, 0xe3, 0xa2, 0x45, 0x8b, + 0xf2, 0x5f, 0x64, 0x42, 0x64, 0x05, 0x72, 0xe3, 0xad, 0xdb, 0x94, 0xab, 0xbc, 0x44, 0xa9, 0xe2, + 0xb2, 0xb6, 0x80, 0xc5, 0x3f, 0x07, 0x60, 0xdf, 0x9b, 0x10, 0x38, 0xd5, 0x4d, 0xa8, 0x13, 0x38, + 0xe1, 0x3c, 0x32, 0x36, 0xf9, 0x00, 0x67, 0xa2, 0x56, 0xb9, 0xa8, 0x24, 0x9d, 0x04, 0xd3, 0xd0, + 0xbb, 0x79, 0xc9, 0x46, 0xb3, 0xd9, 0x68, 0xb3, 0xaf, 0x16, 0xf6, 0xb9, 0x52, 0x4d, 0x17, 0xed, + 0x8a, 0x88, 0x0f, 0x8f, 0xb0, 0x52, 0xb9, 0xca, 0x51, 0xd2, 0x69, 0x30, 0x0d, 0xe7, 0xd1, 0xe0, + 0x93, 0xd7, 0xe0, 0xca, 0x64, 0x8b, 0x65, 0x4c, 0x4f, 0x03, 0x27, 0xf4, 0x6e, 0x9e, 0x1e, 0xb4, + 0xbe, 0x37, 0xa9, 0xa8, 0x87, 0xf8, 0xb7, 0xf0, 0x78, 0x3c, 0x81, 0x3c, 0x81, 0xe9, 0x03, 0x76, + 0xfd, 0xae, 0xda, 0x24, 0xcf, 0x60, 0xf6, 0x47, 0xb3, 0xa7, 0x13, 0x13, 0xb3, 0xce, 0xed, 0xe4, + 0x9d, 0xb3, 0xf8, 0xeb, 0x80, 0x6b, 0xdb, 0x91, 0x2b, 0x70, 0xd3, 0x1c, 0x8b, 0x8d, 0xa4, 0x8e, + 0xa1, 0x43, 0x0e, 0x66, 0x7e, 0xd1, 0xa9, 0xa8, 0x47, 0x90, 0x2b, 0xb8, 0x18, 0x2e, 0xf6, 0x51, + 0x14, 0x6d, 0x59, 0xd1, 0x99, 0x6e, 0x7d, 0x77, 0x12, 0x1d, 0x27, 0xc8, 0x27, 0x38, 0x1f, 0x42, + 0x46, 0x03, 0xea, 0x1a, 0x4e, 0x3e, 0xb3, 0x22, 0xb0, 0x9d, 0x08, 0xec, 0xfb, 0x0e, 0x76, 0x77, + 0x12, 0x1d, 0xd5, 0x90, 0x57, 0x70, 0x6e, 0xae, 0xd3, 0xad, 0x36, 0xfd, 0xc0, 0x33, 0xc3, 0xe5, + 0x28, 0xba, 0xf4, 0x60, 0x3e, 0x54, 0x2e, 0xde, 0xc3, 0xcc, 0xec, 0xad, 0xf5, 0xab, 0xe2, 0x72, + 0xd0, 0x4f, 0xdb, 0xe4, 0x12, 0xe6, 0x29, 0xc6, 0xaa, 0x6d, 0x70, 0xb5, 0xe9, 0x0f, 0xb3, 0x0f, + 0x2c, 0x7f, 0xc0, 0xf8, 0x93, 0x96, 0x17, 0x7b, 0x39, 0xbf, 0xe9, 0x75, 0x7f, 0xbd, 0xcd, 0x72, + 0xb5, 0x6d, 0xd7, 0x2c, 0x11, 0x25, 0xcf, 0xc4, 0x6f, 0x7c, 0x50, 0x98, 0x6c, 0xb9, 0xfd, 0xb7, + 0x4c, 0x5c, 0x1b, 0xe3, 0xda, 0x30, 0xe3, 0xa3, 0x7f, 0x5d, 0xbb, 0x26, 0xf4, 0xe6, 0x7f, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xfa, 0x32, 0xa7, 0x49, 0xc5, 0x02, 0x00, 0x00, +} diff --git a/go-feast-proto/feast/specs/StorageSpec.pb.go b/go-feast-proto/feast/specs/StorageSpec.pb.go new file mode 100644 index 0000000000..9a2bf5faa4 --- /dev/null +++ b/go-feast-proto/feast/specs/StorageSpec.pb.go @@ -0,0 +1,105 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: feast/specs/StorageSpec.proto + +package specs // import "github.com/gojektech/feast/go-feast-proto/feast/specs" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type StorageSpec struct { + // unique identifier for this instance + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // type should define what sort of store it is + // e.g. redis, bigquery, etc + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + // options contain (but are not restricted to) options like + // connection information. + Options map[string]string `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StorageSpec) Reset() { *m = StorageSpec{} } +func (m *StorageSpec) String() string { return proto.CompactTextString(m) } +func (*StorageSpec) ProtoMessage() {} +func (*StorageSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_StorageSpec_e36eea24415a551a, []int{0} +} +func (m *StorageSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StorageSpec.Unmarshal(m, b) +} +func (m *StorageSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StorageSpec.Marshal(b, m, deterministic) +} +func (dst *StorageSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_StorageSpec.Merge(dst, src) +} +func (m *StorageSpec) XXX_Size() int { + return xxx_messageInfo_StorageSpec.Size(m) +} +func (m *StorageSpec) XXX_DiscardUnknown() { + xxx_messageInfo_StorageSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_StorageSpec proto.InternalMessageInfo + +func (m *StorageSpec) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +func (m *StorageSpec) GetType() string { + if m != nil { + return m.Type + } + return "" +} + +func (m *StorageSpec) GetOptions() map[string]string { + if m != nil { + return m.Options + } + return nil +} + +func init() { + proto.RegisterType((*StorageSpec)(nil), "feast.specs.StorageSpec") + proto.RegisterMapType((map[string]string)(nil), "feast.specs.StorageSpec.OptionsEntry") +} + +func init() { + proto.RegisterFile("feast/specs/StorageSpec.proto", fileDescriptor_StorageSpec_e36eea24415a551a) +} + +var fileDescriptor_StorageSpec_e36eea24415a551a = []byte{ + // 223 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4d, 0x4b, 0x4d, 0x2c, + 0x2e, 0xd1, 0x2f, 0x2e, 0x48, 0x4d, 0x2e, 0xd6, 0x0f, 0x2e, 0xc9, 0x2f, 0x4a, 0x4c, 0x4f, 0x0d, + 0x2e, 0x48, 0x4d, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x06, 0x4b, 0xeb, 0x81, 0xa5, + 0x95, 0xd6, 0x31, 0x72, 0x71, 0x23, 0x29, 0x11, 0xe2, 0xe3, 0x62, 0xca, 0x4c, 0x91, 0x60, 0x54, + 0x60, 0xd4, 0xe0, 0x0c, 0x62, 0xca, 0x4c, 0x11, 0x12, 0xe2, 0x62, 0x29, 0xa9, 0x2c, 0x48, 0x95, + 0x60, 0x02, 0x8b, 0x80, 0xd9, 0x42, 0xf6, 0x5c, 0xec, 0xf9, 0x05, 0x25, 0x99, 0xf9, 0x79, 0xc5, + 0x12, 0xcc, 0x0a, 0xcc, 0x1a, 0xdc, 0x46, 0xaa, 0x7a, 0x48, 0x46, 0xea, 0x21, 0xdb, 0xe8, 0x0f, + 0x51, 0xe7, 0x9a, 0x57, 0x52, 0x54, 0x19, 0x04, 0xd3, 0x25, 0x65, 0xc5, 0xc5, 0x83, 0x2c, 0x21, + 0x24, 0xc0, 0xc5, 0x9c, 0x9d, 0x5a, 0x09, 0xb5, 0x15, 0xc4, 0x14, 0x12, 0xe1, 0x62, 0x2d, 0x4b, + 0xcc, 0x29, 0x85, 0xd9, 0x0b, 0xe1, 0x58, 0x31, 0x59, 0x30, 0x3a, 0x85, 0x71, 0x21, 0xbb, 0xdf, + 0x49, 0x00, 0xc9, 0xb6, 0x00, 0x90, 0xf7, 0xa2, 0x4c, 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, + 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xb3, 0x52, 0xb3, 0x4b, 0x52, 0x93, 0x33, 0xf4, 0x21, 0x41, + 0x92, 0x9e, 0xaf, 0x0b, 0x66, 0xe8, 0x82, 0x43, 0x42, 0x1f, 0x29, 0x9c, 0x92, 0xd8, 0xc0, 0x42, + 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf0, 0x9e, 0x30, 0x12, 0x3d, 0x01, 0x00, 0x00, +} diff --git a/go-feast-proto/feast/storage/BigTable.pb.go b/go-feast-proto/feast/storage/BigTable.pb.go new file mode 100644 index 0000000000..537476ea68 --- /dev/null +++ b/go-feast-proto/feast/storage/BigTable.pb.go @@ -0,0 +1,102 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: feast/storage/BigTable.proto + +package storage // import "github.com/gojektech/feast/go-feast-proto/feast/storage" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import _ "github.com/gojektech/feast/go-feast-proto/feast/types" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type BigTableRowKey struct { + // This should be the first 7 characters of a sha1 of the entityKey proto encoded + Sha1Prefix string `protobuf:"bytes,1,opt,name=sha1Prefix,proto3" json:"sha1Prefix,omitempty"` + EntityKey string `protobuf:"bytes,2,opt,name=entityKey,proto3" json:"entityKey,omitempty"` + // This should be String.valueOf(int64.MAX_VALUE - roundToEntityGranularity(eventTimestamp)) + ReversedMillis string `protobuf:"bytes,3,opt,name=reversedMillis,proto3" json:"reversedMillis,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BigTableRowKey) Reset() { *m = BigTableRowKey{} } +func (m *BigTableRowKey) String() string { return proto.CompactTextString(m) } +func (*BigTableRowKey) ProtoMessage() {} +func (*BigTableRowKey) Descriptor() ([]byte, []int) { + return fileDescriptor_BigTable_f2b8e30e0cf0e5c3, []int{0} +} +func (m *BigTableRowKey) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BigTableRowKey.Unmarshal(m, b) +} +func (m *BigTableRowKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BigTableRowKey.Marshal(b, m, deterministic) +} +func (dst *BigTableRowKey) XXX_Merge(src proto.Message) { + xxx_messageInfo_BigTableRowKey.Merge(dst, src) +} +func (m *BigTableRowKey) XXX_Size() int { + return xxx_messageInfo_BigTableRowKey.Size(m) +} +func (m *BigTableRowKey) XXX_DiscardUnknown() { + xxx_messageInfo_BigTableRowKey.DiscardUnknown(m) +} + +var xxx_messageInfo_BigTableRowKey proto.InternalMessageInfo + +func (m *BigTableRowKey) GetSha1Prefix() string { + if m != nil { + return m.Sha1Prefix + } + return "" +} + +func (m *BigTableRowKey) GetEntityKey() string { + if m != nil { + return m.EntityKey + } + return "" +} + +func (m *BigTableRowKey) GetReversedMillis() string { + if m != nil { + return m.ReversedMillis + } + return "" +} + +func init() { + proto.RegisterType((*BigTableRowKey)(nil), "feast.storage.BigTableRowKey") +} + +func init() { + proto.RegisterFile("feast/storage/BigTable.proto", fileDescriptor_BigTable_f2b8e30e0cf0e5c3) +} + +var fileDescriptor_BigTable_f2b8e30e0cf0e5c3 = []byte{ + // 209 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x49, 0x4b, 0x4d, 0x2c, + 0x2e, 0xd1, 0x2f, 0x2e, 0xc9, 0x2f, 0x4a, 0x4c, 0x4f, 0xd5, 0x77, 0xca, 0x4c, 0x0f, 0x49, 0x4c, + 0xca, 0x49, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x05, 0xcb, 0xea, 0x41, 0x65, 0xa5, + 0xc4, 0x21, 0x8a, 0x4b, 0x2a, 0x0b, 0x52, 0x8b, 0xf5, 0xc3, 0x12, 0x73, 0x4a, 0xa1, 0xea, 0x94, + 0xca, 0xb8, 0xf8, 0x60, 0x3a, 0x83, 0xf2, 0xcb, 0xbd, 0x53, 0x2b, 0x85, 0xe4, 0xb8, 0xb8, 0x8a, + 0x33, 0x12, 0x0d, 0x03, 0x8a, 0x52, 0xd3, 0x32, 0x2b, 0x24, 0x18, 0x15, 0x18, 0x35, 0x38, 0x83, + 0x90, 0x44, 0x84, 0x64, 0xb8, 0x38, 0x53, 0xf3, 0x4a, 0x32, 0x4b, 0x2a, 0xbd, 0x53, 0x2b, 0x25, + 0x98, 0xc0, 0xd2, 0x08, 0x01, 0x21, 0x35, 0x2e, 0xbe, 0xa2, 0xd4, 0xb2, 0xd4, 0xa2, 0xe2, 0xd4, + 0x14, 0xdf, 0xcc, 0x9c, 0x9c, 0xcc, 0x62, 0x09, 0x66, 0xb0, 0x12, 0x34, 0x51, 0xa7, 0x70, 0x2e, + 0x54, 0x17, 0x3a, 0xf1, 0xc2, 0x9c, 0x11, 0x00, 0x72, 0x57, 0x94, 0x79, 0x7a, 0x66, 0x49, 0x46, + 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x7e, 0x7a, 0x7e, 0x56, 0x6a, 0x76, 0x49, 0x6a, 0x72, 0x86, + 0x3e, 0xc4, 0x17, 0xe9, 0xf9, 0xba, 0x60, 0x86, 0x2e, 0xd8, 0x0b, 0xfa, 0x28, 0xe1, 0x90, 0xc4, + 0x06, 0x16, 0x34, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x16, 0x21, 0xf7, 0x1f, 0x01, 0x00, + 0x00, +} diff --git a/go-feast-proto/feast/storage/Redis.pb.go b/go-feast-proto/feast/storage/Redis.pb.go new file mode 100644 index 0000000000..565e2dfaf5 --- /dev/null +++ b/go-feast-proto/feast/storage/Redis.pb.go @@ -0,0 +1,208 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: feast/storage/Redis.proto + +package storage // import "github.com/gojektech/feast/go-feast-proto/feast/storage" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import types "github.com/gojektech/feast/go-feast-proto/feast/types" +import timestamp "github.com/golang/protobuf/ptypes/timestamp" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type RedisBucketKey struct { + // Entity key from the FeatureRow + EntityKey string `protobuf:"bytes,2,opt,name=entityKey,proto3" json:"entityKey,omitempty"` + // * + // This should be the first 7 characters of a sha1 of the featureId + // This is just to save storage space as it's kept in memory. + FeatureIdSha1Prefix string `protobuf:"bytes,3,opt,name=featureIdSha1Prefix,proto3" json:"featureIdSha1Prefix,omitempty"` + // * + // This groups a feature's values (for different eventTimestamps), + // into buckets so many can be retrieved together. + // + // See FeatureRowToRedisMutationDoFn. + // bucketId = roundedToGranularity(eventTimestamp).seconds / bucketSize.seconds + BucketId uint64 `protobuf:"fixed64,4,opt,name=bucketId,proto3" json:"bucketId,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RedisBucketKey) Reset() { *m = RedisBucketKey{} } +func (m *RedisBucketKey) String() string { return proto.CompactTextString(m) } +func (*RedisBucketKey) ProtoMessage() {} +func (*RedisBucketKey) Descriptor() ([]byte, []int) { + return fileDescriptor_Redis_ad00784f17632936, []int{0} +} +func (m *RedisBucketKey) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RedisBucketKey.Unmarshal(m, b) +} +func (m *RedisBucketKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RedisBucketKey.Marshal(b, m, deterministic) +} +func (dst *RedisBucketKey) XXX_Merge(src proto.Message) { + xxx_messageInfo_RedisBucketKey.Merge(dst, src) +} +func (m *RedisBucketKey) XXX_Size() int { + return xxx_messageInfo_RedisBucketKey.Size(m) +} +func (m *RedisBucketKey) XXX_DiscardUnknown() { + xxx_messageInfo_RedisBucketKey.DiscardUnknown(m) +} + +var xxx_messageInfo_RedisBucketKey proto.InternalMessageInfo + +func (m *RedisBucketKey) GetEntityKey() string { + if m != nil { + return m.EntityKey + } + return "" +} + +func (m *RedisBucketKey) GetFeatureIdSha1Prefix() string { + if m != nil { + return m.FeatureIdSha1Prefix + } + return "" +} + +func (m *RedisBucketKey) GetBucketId() uint64 { + if m != nil { + return m.BucketId + } + return 0 +} + +// * +// Because in redis features are stored as a key per feature not per +// feature row, we need the event timestamp in the value. +type RedisBucketValue struct { + Value *types.Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + EventTimestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=eventTimestamp,proto3" json:"eventTimestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RedisBucketValue) Reset() { *m = RedisBucketValue{} } +func (m *RedisBucketValue) String() string { return proto.CompactTextString(m) } +func (*RedisBucketValue) ProtoMessage() {} +func (*RedisBucketValue) Descriptor() ([]byte, []int) { + return fileDescriptor_Redis_ad00784f17632936, []int{1} +} +func (m *RedisBucketValue) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RedisBucketValue.Unmarshal(m, b) +} +func (m *RedisBucketValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RedisBucketValue.Marshal(b, m, deterministic) +} +func (dst *RedisBucketValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_RedisBucketValue.Merge(dst, src) +} +func (m *RedisBucketValue) XXX_Size() int { + return xxx_messageInfo_RedisBucketValue.Size(m) +} +func (m *RedisBucketValue) XXX_DiscardUnknown() { + xxx_messageInfo_RedisBucketValue.DiscardUnknown(m) +} + +var xxx_messageInfo_RedisBucketValue proto.InternalMessageInfo + +func (m *RedisBucketValue) GetValue() *types.Value { + if m != nil { + return m.Value + } + return nil +} + +func (m *RedisBucketValue) GetEventTimestamp() *timestamp.Timestamp { + if m != nil { + return m.EventTimestamp + } + return nil +} + +// * +// This allows us to group multiple bucket values together in a +// single list to make it easier to keep sets together +type RedisBucketValueList struct { + Values []*RedisBucketValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RedisBucketValueList) Reset() { *m = RedisBucketValueList{} } +func (m *RedisBucketValueList) String() string { return proto.CompactTextString(m) } +func (*RedisBucketValueList) ProtoMessage() {} +func (*RedisBucketValueList) Descriptor() ([]byte, []int) { + return fileDescriptor_Redis_ad00784f17632936, []int{2} +} +func (m *RedisBucketValueList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RedisBucketValueList.Unmarshal(m, b) +} +func (m *RedisBucketValueList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RedisBucketValueList.Marshal(b, m, deterministic) +} +func (dst *RedisBucketValueList) XXX_Merge(src proto.Message) { + xxx_messageInfo_RedisBucketValueList.Merge(dst, src) +} +func (m *RedisBucketValueList) XXX_Size() int { + return xxx_messageInfo_RedisBucketValueList.Size(m) +} +func (m *RedisBucketValueList) XXX_DiscardUnknown() { + xxx_messageInfo_RedisBucketValueList.DiscardUnknown(m) +} + +var xxx_messageInfo_RedisBucketValueList proto.InternalMessageInfo + +func (m *RedisBucketValueList) GetValues() []*RedisBucketValue { + if m != nil { + return m.Values + } + return nil +} + +func init() { + proto.RegisterType((*RedisBucketKey)(nil), "feast.storage.RedisBucketKey") + proto.RegisterType((*RedisBucketValue)(nil), "feast.storage.RedisBucketValue") + proto.RegisterType((*RedisBucketValueList)(nil), "feast.storage.RedisBucketValueList") +} + +func init() { proto.RegisterFile("feast/storage/Redis.proto", fileDescriptor_Redis_ad00784f17632936) } + +var fileDescriptor_Redis_ad00784f17632936 = []byte{ + // 323 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0x4f, 0x4f, 0xf2, 0x40, + 0x10, 0xc6, 0xd3, 0x97, 0x57, 0x22, 0x43, 0x24, 0x66, 0x35, 0xb1, 0x36, 0x26, 0x34, 0x9c, 0x7a, + 0x61, 0x57, 0xf1, 0xc0, 0xbd, 0x37, 0x82, 0x89, 0xa4, 0x12, 0x0f, 0xde, 0x5a, 0x98, 0x96, 0xca, + 0x9f, 0x25, 0xdd, 0x29, 0xb1, 0x89, 0x07, 0x3f, 0xba, 0x61, 0x16, 0x50, 0x88, 0xb7, 0xdd, 0x79, + 0x7e, 0x33, 0xf3, 0xcc, 0x0c, 0xdc, 0xa6, 0x18, 0x1b, 0x52, 0x86, 0x74, 0x11, 0x67, 0xa8, 0x22, + 0x9c, 0xe6, 0x46, 0xae, 0x0b, 0x4d, 0x5a, 0x5c, 0xb0, 0x24, 0x77, 0x92, 0xd7, 0xce, 0xb4, 0xce, + 0x16, 0xa8, 0x58, 0x4c, 0xca, 0x54, 0x51, 0xbe, 0x44, 0x43, 0xf1, 0x72, 0x6d, 0x79, 0xef, 0xc6, + 0x96, 0xa2, 0x6a, 0x8d, 0x46, 0xbd, 0xc6, 0x8b, 0x12, 0xad, 0xd0, 0xf9, 0x84, 0x16, 0xd7, 0x0d, + 0xcb, 0xc9, 0x1c, 0x69, 0x88, 0x95, 0xb8, 0x83, 0x06, 0xae, 0x28, 0xa7, 0x6a, 0x88, 0x95, 0xfb, + 0xcf, 0x77, 0x82, 0x46, 0xf4, 0x13, 0x10, 0xf7, 0x70, 0x95, 0x62, 0x4c, 0x65, 0x81, 0x83, 0xe9, + 0xcb, 0x2c, 0x7e, 0x18, 0x15, 0x98, 0xe6, 0x1f, 0x6e, 0x8d, 0xb9, 0xbf, 0x24, 0xe1, 0xc1, 0x79, + 0xc2, 0xc5, 0x07, 0x53, 0xf7, 0xbf, 0xef, 0x04, 0xf5, 0xe8, 0xf0, 0xef, 0x7c, 0x39, 0x70, 0xf9, + 0xab, 0x3d, 0x1b, 0x13, 0x01, 0x9c, 0x6d, 0xb6, 0x0f, 0xd7, 0xf1, 0x9d, 0xa0, 0xd9, 0x13, 0xd2, + 0xce, 0xca, 0xde, 0x25, 0x23, 0x91, 0x05, 0x44, 0x08, 0x2d, 0xdc, 0xe0, 0x8a, 0xc6, 0xfb, 0x69, + 0xd9, 0x6f, 0xb3, 0xe7, 0x49, 0xbb, 0x0f, 0xb9, 0xdf, 0x87, 0x3c, 0x10, 0xd1, 0x49, 0x46, 0xe7, + 0x19, 0xae, 0x4f, 0x1d, 0x3c, 0xe5, 0x86, 0x44, 0x1f, 0xea, 0xdc, 0xc4, 0xb8, 0x8e, 0x5f, 0x0b, + 0x9a, 0xbd, 0xb6, 0x3c, 0x5a, 0xb9, 0x3c, 0x4d, 0x8a, 0x76, 0x78, 0x38, 0x86, 0xe3, 0xe3, 0x84, + 0xc0, 0xe8, 0x68, 0x6b, 0xe5, 0xad, 0x9f, 0xe5, 0x34, 0x2b, 0x13, 0x39, 0xd1, 0x4b, 0x95, 0xe9, + 0x77, 0x9c, 0x13, 0x4e, 0x66, 0xca, 0x1e, 0x27, 0xd3, 0x5d, 0x7e, 0x74, 0xd9, 0xb5, 0x3a, 0x3a, + 0x7e, 0x52, 0xe7, 0xe0, 0xe3, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x9d, 0x61, 0xa8, 0x14, + 0x02, 0x00, 0x00, +} diff --git a/go-feast-proto/feast/types/Feature.pb.go b/go-feast-proto/feast/types/Feature.pb.go new file mode 100644 index 0000000000..0b67134c23 --- /dev/null +++ b/go-feast-proto/feast/types/Feature.pb.go @@ -0,0 +1,89 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: feast/types/Feature.proto + +package types // import "github.com/gojektech/feast/go-feast-proto/feast/types" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import _ "github.com/golang/protobuf/ptypes/timestamp" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type Feature struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Value *Value `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Feature) Reset() { *m = Feature{} } +func (m *Feature) String() string { return proto.CompactTextString(m) } +func (*Feature) ProtoMessage() {} +func (*Feature) Descriptor() ([]byte, []int) { + return fileDescriptor_Feature_274e590d653fbf23, []int{0} +} +func (m *Feature) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Feature.Unmarshal(m, b) +} +func (m *Feature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Feature.Marshal(b, m, deterministic) +} +func (dst *Feature) XXX_Merge(src proto.Message) { + xxx_messageInfo_Feature.Merge(dst, src) +} +func (m *Feature) XXX_Size() int { + return xxx_messageInfo_Feature.Size(m) +} +func (m *Feature) XXX_DiscardUnknown() { + xxx_messageInfo_Feature.DiscardUnknown(m) +} + +var xxx_messageInfo_Feature proto.InternalMessageInfo + +func (m *Feature) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +func (m *Feature) GetValue() *Value { + if m != nil { + return m.Value + } + return nil +} + +func init() { + proto.RegisterType((*Feature)(nil), "feast.types.Feature") +} + +func init() { proto.RegisterFile("feast/types/Feature.proto", fileDescriptor_Feature_274e590d653fbf23) } + +var fileDescriptor_Feature_274e590d653fbf23 = []byte{ + // 195 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x8e, 0xb1, 0xce, 0x82, 0x30, + 0x14, 0x85, 0x03, 0xc9, 0xff, 0x1b, 0x8b, 0x71, 0xe8, 0x22, 0xb2, 0x48, 0x9c, 0x58, 0x68, 0x13, + 0x8d, 0x2f, 0x80, 0x89, 0xb3, 0x61, 0x70, 0x70, 0x2b, 0x70, 0x29, 0x55, 0x48, 0x09, 0xdc, 0x9a, + 0xf8, 0xf6, 0x86, 0xc2, 0xd0, 0xed, 0xe6, 0x9e, 0x93, 0xef, 0x7c, 0x64, 0x5f, 0x83, 0x18, 0x91, + 0xe3, 0xb7, 0x87, 0x91, 0xdf, 0x40, 0xa0, 0x19, 0x80, 0xf5, 0x83, 0x46, 0x4d, 0x03, 0x1b, 0x31, + 0x1b, 0x45, 0x07, 0xa9, 0xb5, 0x6c, 0x81, 0xdb, 0xa8, 0x30, 0x35, 0x47, 0xd5, 0xc1, 0x88, 0xa2, + 0xeb, 0xe7, 0x76, 0xb4, 0x73, 0x41, 0x0f, 0xd1, 0x9a, 0x05, 0x73, 0xbc, 0x92, 0xd5, 0xc2, 0xa5, + 0x5b, 0xe2, 0xab, 0x2a, 0xf4, 0x62, 0x2f, 0x59, 0xe7, 0xbe, 0xaa, 0x68, 0x42, 0xfe, 0x3e, 0x53, + 0x33, 0xf4, 0x63, 0x2f, 0x09, 0x4e, 0x94, 0x39, 0x8b, 0xcc, 0x32, 0xf2, 0xb9, 0x90, 0xe5, 0xc4, + 0xb5, 0xc9, 0x36, 0x0b, 0xf1, 0x3e, 0x2d, 0x3c, 0x2f, 0x52, 0x61, 0x63, 0x0a, 0x56, 0xea, 0x8e, + 0x4b, 0xfd, 0x82, 0x37, 0x42, 0xd9, 0xf0, 0xd9, 0x47, 0xea, 0xd4, 0x1e, 0xa9, 0x95, 0xe1, 0x8e, + 0x64, 0xf1, 0x6f, 0x5f, 0xe7, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa3, 0x49, 0xdb, 0x6c, 0x03, + 0x01, 0x00, 0x00, +} diff --git a/go-feast-proto/feast/types/FeatureRow.pb.go b/go-feast-proto/feast/types/FeatureRow.pb.go new file mode 100644 index 0000000000..e77e60c6aa --- /dev/null +++ b/go-feast-proto/feast/types/FeatureRow.pb.go @@ -0,0 +1,121 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: feast/types/FeatureRow.proto + +package types // import "github.com/gojektech/feast/go-feast-proto/feast/types" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import timestamp "github.com/golang/protobuf/ptypes/timestamp" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type FeatureRow struct { + EntityKey string `protobuf:"bytes,1,opt,name=entityKey,proto3" json:"entityKey,omitempty"` + Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"` + EventTimestamp *timestamp.Timestamp `protobuf:"bytes,3,opt,name=eventTimestamp,proto3" json:"eventTimestamp,omitempty"` + EntityName string `protobuf:"bytes,4,opt,name=entityName,proto3" json:"entityName,omitempty"` + Granularity Granularity_Enum `protobuf:"varint,5,opt,name=granularity,proto3,enum=feast.types.Granularity_Enum" json:"granularity,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FeatureRow) Reset() { *m = FeatureRow{} } +func (m *FeatureRow) String() string { return proto.CompactTextString(m) } +func (*FeatureRow) ProtoMessage() {} +func (*FeatureRow) Descriptor() ([]byte, []int) { + return fileDescriptor_FeatureRow_6b06ea938f8ece4f, []int{0} +} +func (m *FeatureRow) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FeatureRow.Unmarshal(m, b) +} +func (m *FeatureRow) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FeatureRow.Marshal(b, m, deterministic) +} +func (dst *FeatureRow) XXX_Merge(src proto.Message) { + xxx_messageInfo_FeatureRow.Merge(dst, src) +} +func (m *FeatureRow) XXX_Size() int { + return xxx_messageInfo_FeatureRow.Size(m) +} +func (m *FeatureRow) XXX_DiscardUnknown() { + xxx_messageInfo_FeatureRow.DiscardUnknown(m) +} + +var xxx_messageInfo_FeatureRow proto.InternalMessageInfo + +func (m *FeatureRow) GetEntityKey() string { + if m != nil { + return m.EntityKey + } + return "" +} + +func (m *FeatureRow) GetFeatures() []*Feature { + if m != nil { + return m.Features + } + return nil +} + +func (m *FeatureRow) GetEventTimestamp() *timestamp.Timestamp { + if m != nil { + return m.EventTimestamp + } + return nil +} + +func (m *FeatureRow) GetEntityName() string { + if m != nil { + return m.EntityName + } + return "" +} + +func (m *FeatureRow) GetGranularity() Granularity_Enum { + if m != nil { + return m.Granularity + } + return Granularity_NONE +} + +func init() { + proto.RegisterType((*FeatureRow)(nil), "feast.types.FeatureRow") +} + +func init() { + proto.RegisterFile("feast/types/FeatureRow.proto", fileDescriptor_FeatureRow_6b06ea938f8ece4f) +} + +var fileDescriptor_FeatureRow_6b06ea938f8ece4f = []byte{ + // 294 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0xc1, 0x4b, 0xf4, 0x30, + 0x10, 0xc5, 0xe9, 0xee, 0xf7, 0x89, 0x9b, 0xc2, 0x0a, 0x41, 0xb0, 0x2e, 0xbb, 0x5a, 0x3c, 0xf5, + 0xb2, 0x89, 0x54, 0x3c, 0x0b, 0x05, 0xf5, 0x20, 0x88, 0x14, 0xf5, 0xe0, 0x2d, 0x5d, 0xa6, 0xd9, + 0x6a, 0xdb, 0x94, 0x76, 0xa2, 0xf4, 0xe8, 0x7f, 0x2e, 0xa6, 0xed, 0x36, 0x8a, 0xb7, 0x30, 0xbf, + 0x37, 0xc3, 0x7b, 0x2f, 0x64, 0x99, 0x82, 0x68, 0x90, 0x63, 0x5b, 0x41, 0xc3, 0x6f, 0x40, 0xa0, + 0xae, 0x21, 0x56, 0x1f, 0xac, 0xaa, 0x15, 0x2a, 0xea, 0x1a, 0xca, 0x0c, 0x5d, 0x9c, 0x4a, 0xa5, + 0x64, 0x0e, 0xdc, 0xa0, 0x44, 0xa7, 0x1c, 0xb3, 0x02, 0x1a, 0x14, 0x45, 0xd5, 0xa9, 0x17, 0xc7, + 0x7f, 0xdc, 0xea, 0xd1, 0xca, 0x46, 0xb7, 0xb5, 0x28, 0x75, 0x2e, 0xea, 0x0c, 0xdb, 0x1e, 0x1f, + 0xd9, 0xf8, 0x59, 0xe4, 0xba, 0xdf, 0x3b, 0xfb, 0x9c, 0x10, 0x32, 0xba, 0xa2, 0x4b, 0x32, 0x83, + 0x12, 0x33, 0x6c, 0xef, 0xa0, 0xf5, 0x1c, 0xdf, 0x09, 0x66, 0xf1, 0x38, 0xa0, 0xe7, 0x64, 0x3f, + 0xed, 0xb4, 0x8d, 0x37, 0xf1, 0xa7, 0x81, 0x1b, 0x1e, 0x32, 0x2b, 0x00, 0x1b, 0x0e, 0xed, 0x54, + 0x34, 0x22, 0x73, 0x78, 0x87, 0x12, 0x1f, 0x87, 0x24, 0xde, 0xd4, 0x77, 0x02, 0x37, 0x5c, 0xb0, + 0x2e, 0x2b, 0x1b, 0xb2, 0xb2, 0x9d, 0x22, 0xfe, 0xb5, 0x41, 0x4f, 0x08, 0xe9, 0x2c, 0xdc, 0x8b, + 0x02, 0xbc, 0x7f, 0xc6, 0x94, 0x35, 0xa1, 0x57, 0xc4, 0x95, 0x63, 0x60, 0xef, 0xbf, 0xef, 0x04, + 0xf3, 0x70, 0xf5, 0xc3, 0x98, 0x5d, 0xc8, 0x75, 0xa9, 0x8b, 0xd8, 0xde, 0x88, 0x9e, 0x88, 0xfd, + 0x0d, 0xd1, 0xc1, 0xd8, 0xc7, 0xc3, 0xb7, 0xbb, 0x97, 0x4b, 0x99, 0xe1, 0x56, 0x27, 0x6c, 0xa3, + 0x0a, 0x2e, 0xd5, 0x2b, 0xbc, 0x21, 0x6c, 0xb6, 0xbc, 0x6b, 0x54, 0xaa, 0xb5, 0x79, 0xac, 0x4d, + 0x10, 0x6e, 0xd5, 0x9c, 0xec, 0x99, 0xd1, 0xc5, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3c, 0x18, + 0xb6, 0xac, 0x02, 0x02, 0x00, 0x00, +} diff --git a/go-feast-proto/feast/types/FeatureRowExtended.pb.go b/go-feast-proto/feast/types/FeatureRowExtended.pb.go new file mode 100644 index 0000000000..32af20bc5d --- /dev/null +++ b/go-feast-proto/feast/types/FeatureRowExtended.pb.go @@ -0,0 +1,218 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: feast/types/FeatureRowExtended.proto + +package types // import "github.com/gojektech/feast/go-feast-proto/feast/types" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import timestamp "github.com/golang/protobuf/ptypes/timestamp" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type Error struct { + Cause string `protobuf:"bytes,1,opt,name=cause,proto3" json:"cause,omitempty"` + Transform string `protobuf:"bytes,2,opt,name=transform,proto3" json:"transform,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + StackTrace string `protobuf:"bytes,4,opt,name=stackTrace,proto3" json:"stackTrace,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Error) Reset() { *m = Error{} } +func (m *Error) String() string { return proto.CompactTextString(m) } +func (*Error) ProtoMessage() {} +func (*Error) Descriptor() ([]byte, []int) { + return fileDescriptor_FeatureRowExtended_fd8617e19d07849d, []int{0} +} +func (m *Error) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Error.Unmarshal(m, b) +} +func (m *Error) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Error.Marshal(b, m, deterministic) +} +func (dst *Error) XXX_Merge(src proto.Message) { + xxx_messageInfo_Error.Merge(dst, src) +} +func (m *Error) XXX_Size() int { + return xxx_messageInfo_Error.Size(m) +} +func (m *Error) XXX_DiscardUnknown() { + xxx_messageInfo_Error.DiscardUnknown(m) +} + +var xxx_messageInfo_Error proto.InternalMessageInfo + +func (m *Error) GetCause() string { + if m != nil { + return m.Cause + } + return "" +} + +func (m *Error) GetTransform() string { + if m != nil { + return m.Transform + } + return "" +} + +func (m *Error) GetMessage() string { + if m != nil { + return m.Message + } + return "" +} + +func (m *Error) GetStackTrace() string { + if m != nil { + return m.StackTrace + } + return "" +} + +type Attempt struct { + Attempts int32 `protobuf:"varint,1,opt,name=attempts,proto3" json:"attempts,omitempty"` + Error *Error `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Attempt) Reset() { *m = Attempt{} } +func (m *Attempt) String() string { return proto.CompactTextString(m) } +func (*Attempt) ProtoMessage() {} +func (*Attempt) Descriptor() ([]byte, []int) { + return fileDescriptor_FeatureRowExtended_fd8617e19d07849d, []int{1} +} +func (m *Attempt) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Attempt.Unmarshal(m, b) +} +func (m *Attempt) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Attempt.Marshal(b, m, deterministic) +} +func (dst *Attempt) XXX_Merge(src proto.Message) { + xxx_messageInfo_Attempt.Merge(dst, src) +} +func (m *Attempt) XXX_Size() int { + return xxx_messageInfo_Attempt.Size(m) +} +func (m *Attempt) XXX_DiscardUnknown() { + xxx_messageInfo_Attempt.DiscardUnknown(m) +} + +var xxx_messageInfo_Attempt proto.InternalMessageInfo + +func (m *Attempt) GetAttempts() int32 { + if m != nil { + return m.Attempts + } + return 0 +} + +func (m *Attempt) GetError() *Error { + if m != nil { + return m.Error + } + return nil +} + +type FeatureRowExtended struct { + Row *FeatureRow `protobuf:"bytes,1,opt,name=row,proto3" json:"row,omitempty"` + LastAttempt *Attempt `protobuf:"bytes,2,opt,name=lastAttempt,proto3" json:"lastAttempt,omitempty"` + FirstSeen *timestamp.Timestamp `protobuf:"bytes,3,opt,name=firstSeen,proto3" json:"firstSeen,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FeatureRowExtended) Reset() { *m = FeatureRowExtended{} } +func (m *FeatureRowExtended) String() string { return proto.CompactTextString(m) } +func (*FeatureRowExtended) ProtoMessage() {} +func (*FeatureRowExtended) Descriptor() ([]byte, []int) { + return fileDescriptor_FeatureRowExtended_fd8617e19d07849d, []int{2} +} +func (m *FeatureRowExtended) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FeatureRowExtended.Unmarshal(m, b) +} +func (m *FeatureRowExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FeatureRowExtended.Marshal(b, m, deterministic) +} +func (dst *FeatureRowExtended) XXX_Merge(src proto.Message) { + xxx_messageInfo_FeatureRowExtended.Merge(dst, src) +} +func (m *FeatureRowExtended) XXX_Size() int { + return xxx_messageInfo_FeatureRowExtended.Size(m) +} +func (m *FeatureRowExtended) XXX_DiscardUnknown() { + xxx_messageInfo_FeatureRowExtended.DiscardUnknown(m) +} + +var xxx_messageInfo_FeatureRowExtended proto.InternalMessageInfo + +func (m *FeatureRowExtended) GetRow() *FeatureRow { + if m != nil { + return m.Row + } + return nil +} + +func (m *FeatureRowExtended) GetLastAttempt() *Attempt { + if m != nil { + return m.LastAttempt + } + return nil +} + +func (m *FeatureRowExtended) GetFirstSeen() *timestamp.Timestamp { + if m != nil { + return m.FirstSeen + } + return nil +} + +func init() { + proto.RegisterType((*Error)(nil), "feast.types.Error") + proto.RegisterType((*Attempt)(nil), "feast.types.Attempt") + proto.RegisterType((*FeatureRowExtended)(nil), "feast.types.FeatureRowExtended") +} + +func init() { + proto.RegisterFile("feast/types/FeatureRowExtended.proto", fileDescriptor_FeatureRowExtended_fd8617e19d07849d) +} + +var fileDescriptor_FeatureRowExtended_fd8617e19d07849d = []byte{ + // 338 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0x41, 0x6f, 0xe2, 0x30, + 0x10, 0x85, 0xc5, 0xb2, 0x59, 0x96, 0xc9, 0xcd, 0x42, 0x22, 0x8a, 0xd0, 0x6e, 0x85, 0x7a, 0xa0, + 0x07, 0x1c, 0x89, 0xaa, 0x55, 0xaf, 0x45, 0xa2, 0xd7, 0x56, 0x2e, 0xa7, 0x4a, 0x3d, 0x98, 0x30, + 0x09, 0x14, 0x82, 0x23, 0x7b, 0x22, 0xda, 0x9f, 0xd5, 0x7f, 0x58, 0x31, 0x86, 0x12, 0x44, 0x6f, + 0x9e, 0x79, 0xdf, 0x78, 0x9e, 0xfd, 0xe0, 0x32, 0x43, 0xed, 0x28, 0xa1, 0x8f, 0x12, 0x5d, 0xf2, + 0x80, 0x9a, 0x2a, 0x8b, 0xca, 0x6c, 0x27, 0xef, 0x84, 0x9b, 0x39, 0xce, 0x65, 0x69, 0x0d, 0x19, + 0x11, 0x32, 0x25, 0x99, 0x8a, 0xff, 0xe7, 0xc6, 0xe4, 0x6b, 0x4c, 0x58, 0x9a, 0x55, 0x59, 0x42, + 0xcb, 0x02, 0x1d, 0xe9, 0xa2, 0xf4, 0x74, 0xdc, 0xfb, 0xf9, 0x4e, 0xaf, 0xf6, 0x2b, 0x08, 0x26, + 0xd6, 0x1a, 0x2b, 0x3a, 0x10, 0xa4, 0xba, 0x72, 0x18, 0x35, 0x2e, 0x1a, 0x83, 0xb6, 0xf2, 0x85, + 0xe8, 0x41, 0x9b, 0xac, 0xde, 0xb8, 0xcc, 0xd8, 0x22, 0xfa, 0xc5, 0xca, 0xb1, 0x21, 0x22, 0x68, + 0x15, 0xe8, 0x9c, 0xce, 0x31, 0x6a, 0xb2, 0x76, 0x28, 0xc5, 0x3f, 0x00, 0x47, 0x3a, 0x5d, 0x4d, + 0xad, 0x4e, 0x31, 0xfa, 0xcd, 0x62, 0xad, 0xd3, 0x7f, 0x84, 0xd6, 0x3d, 0x11, 0x16, 0x25, 0x89, + 0x18, 0xfe, 0x6a, 0x7f, 0x74, 0xbc, 0x3b, 0x50, 0xdf, 0xb5, 0x18, 0x40, 0x80, 0x3b, 0x77, 0xbc, + 0x3a, 0x1c, 0x09, 0x59, 0x7b, 0xb9, 0x64, 0xdf, 0xca, 0x03, 0xfd, 0xcf, 0x06, 0x88, 0xf3, 0x0f, + 0x13, 0x57, 0xd0, 0xb4, 0x66, 0xcb, 0xf7, 0x86, 0xa3, 0xee, 0xc9, 0xf8, 0x91, 0x56, 0x3b, 0x46, + 0xdc, 0x42, 0xb8, 0xd6, 0x8e, 0xf6, 0xb6, 0xf6, 0x1b, 0x3b, 0x27, 0x23, 0x7b, 0x4d, 0xd5, 0x41, + 0x71, 0x07, 0xed, 0x6c, 0x69, 0x1d, 0x3d, 0x23, 0x6e, 0xf8, 0x1b, 0xc2, 0x51, 0x2c, 0x7d, 0x28, + 0xf2, 0x10, 0x8a, 0x9c, 0x1e, 0x42, 0x51, 0x47, 0x78, 0xfc, 0x0a, 0xf5, 0x24, 0xc7, 0xdd, 0x73, + 0xff, 0x4f, 0xbb, 0xf9, 0x97, 0x9b, 0x7c, 0x49, 0x8b, 0x6a, 0x26, 0x53, 0x53, 0x24, 0xb9, 0x79, + 0xc3, 0x15, 0x61, 0xba, 0x48, 0x7c, 0xac, 0xb9, 0x19, 0xf2, 0x61, 0xc8, 0xab, 0x92, 0x5a, 0xd6, + 0xb3, 0x3f, 0xdc, 0xba, 0xfe, 0x0a, 0x00, 0x00, 0xff, 0xff, 0xd4, 0x9c, 0x62, 0x4c, 0x55, 0x02, + 0x00, 0x00, +} diff --git a/go-feast-proto/feast/types/Granularity.pb.go b/go-feast-proto/feast/types/Granularity.pb.go new file mode 100644 index 0000000000..b7d55cb29d --- /dev/null +++ b/go-feast-proto/feast/types/Granularity.pb.go @@ -0,0 +1,106 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: feast/types/Granularity.proto + +package types // import "github.com/gojektech/feast/go-feast-proto/feast/types" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type Granularity_Enum int32 + +const ( + Granularity_NONE Granularity_Enum = 0 + Granularity_DAY Granularity_Enum = 1 + Granularity_HOUR Granularity_Enum = 2 + Granularity_MINUTE Granularity_Enum = 3 + Granularity_SECOND Granularity_Enum = 4 +) + +var Granularity_Enum_name = map[int32]string{ + 0: "NONE", + 1: "DAY", + 2: "HOUR", + 3: "MINUTE", + 4: "SECOND", +} +var Granularity_Enum_value = map[string]int32{ + "NONE": 0, + "DAY": 1, + "HOUR": 2, + "MINUTE": 3, + "SECOND": 4, +} + +func (x Granularity_Enum) String() string { + return proto.EnumName(Granularity_Enum_name, int32(x)) +} +func (Granularity_Enum) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_Granularity_068270588f5c18e3, []int{0, 0} +} + +type Granularity struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Granularity) Reset() { *m = Granularity{} } +func (m *Granularity) String() string { return proto.CompactTextString(m) } +func (*Granularity) ProtoMessage() {} +func (*Granularity) Descriptor() ([]byte, []int) { + return fileDescriptor_Granularity_068270588f5c18e3, []int{0} +} +func (m *Granularity) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Granularity.Unmarshal(m, b) +} +func (m *Granularity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Granularity.Marshal(b, m, deterministic) +} +func (dst *Granularity) XXX_Merge(src proto.Message) { + xxx_messageInfo_Granularity.Merge(dst, src) +} +func (m *Granularity) XXX_Size() int { + return xxx_messageInfo_Granularity.Size(m) +} +func (m *Granularity) XXX_DiscardUnknown() { + xxx_messageInfo_Granularity.DiscardUnknown(m) +} + +var xxx_messageInfo_Granularity proto.InternalMessageInfo + +func init() { + proto.RegisterType((*Granularity)(nil), "feast.types.Granularity") + proto.RegisterEnum("feast.types.Granularity_Enum", Granularity_Enum_name, Granularity_Enum_value) +} + +func init() { + proto.RegisterFile("feast/types/Granularity.proto", fileDescriptor_Granularity_068270588f5c18e3) +} + +var fileDescriptor_Granularity_068270588f5c18e3 = []byte{ + // 179 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4d, 0x4b, 0x4d, 0x2c, + 0x2e, 0xd1, 0x2f, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x77, 0x2f, 0x4a, 0xcc, 0x2b, 0xcd, 0x49, 0x2c, + 0xca, 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x06, 0x4b, 0xeb, 0x81, 0xa5, + 0x95, 0xbc, 0xb8, 0xb8, 0x91, 0x54, 0x28, 0x59, 0x73, 0xb1, 0xb8, 0xe6, 0x95, 0xe6, 0x0a, 0x71, + 0x70, 0xb1, 0xf8, 0xf9, 0xfb, 0xb9, 0x0a, 0x30, 0x08, 0xb1, 0x73, 0x31, 0xbb, 0x38, 0x46, 0x0a, + 0x30, 0x82, 0x84, 0x3c, 0xfc, 0x43, 0x83, 0x04, 0x98, 0x84, 0xb8, 0xb8, 0xd8, 0x7c, 0x3d, 0xfd, + 0x42, 0x43, 0x5c, 0x05, 0x98, 0x41, 0xec, 0x60, 0x57, 0x67, 0x7f, 0x3f, 0x17, 0x01, 0x16, 0xa7, + 0x30, 0x2e, 0x64, 0xa3, 0x9d, 0x04, 0x90, 0x0c, 0x0e, 0x00, 0xd9, 0x1c, 0x65, 0x9a, 0x9e, 0x59, + 0x92, 0x51, 0x9a, 0xa4, 0x97, 0x9c, 0x9f, 0xab, 0x9f, 0x9e, 0x9f, 0x95, 0x9a, 0x5d, 0x92, 0x9a, + 0x9c, 0xa1, 0x0f, 0x71, 0x6d, 0x7a, 0xbe, 0x2e, 0x98, 0xa1, 0x0b, 0x76, 0xa4, 0x3e, 0x92, 0x17, + 0x92, 0xd8, 0xc0, 0x42, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xaf, 0xc7, 0x4c, 0x67, 0xd8, + 0x00, 0x00, 0x00, +} diff --git a/go-feast-proto/feast/types/Value.pb.go b/go-feast-proto/feast/types/Value.pb.go new file mode 100644 index 0000000000..0a697b68a3 --- /dev/null +++ b/go-feast-proto/feast/types/Value.pb.go @@ -0,0 +1,1116 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: feast/types/Value.proto + +package types // import "github.com/gojektech/feast/go-feast-proto/feast/types" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import timestamp "github.com/golang/protobuf/ptypes/timestamp" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package + +type ValueType_Enum int32 + +const ( + ValueType_UNKNOWN ValueType_Enum = 0 + ValueType_BYTES ValueType_Enum = 1 + ValueType_STRING ValueType_Enum = 2 + ValueType_INT32 ValueType_Enum = 3 + ValueType_INT64 ValueType_Enum = 4 + ValueType_DOUBLE ValueType_Enum = 5 + ValueType_FLOAT ValueType_Enum = 6 + ValueType_BOOL ValueType_Enum = 7 + ValueType_TIMESTAMP ValueType_Enum = 8 +) + +var ValueType_Enum_name = map[int32]string{ + 0: "UNKNOWN", + 1: "BYTES", + 2: "STRING", + 3: "INT32", + 4: "INT64", + 5: "DOUBLE", + 6: "FLOAT", + 7: "BOOL", + 8: "TIMESTAMP", +} +var ValueType_Enum_value = map[string]int32{ + "UNKNOWN": 0, + "BYTES": 1, + "STRING": 2, + "INT32": 3, + "INT64": 4, + "DOUBLE": 5, + "FLOAT": 6, + "BOOL": 7, + "TIMESTAMP": 8, +} + +func (x ValueType_Enum) String() string { + return proto.EnumName(ValueType_Enum_name, int32(x)) +} +func (ValueType_Enum) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_Value_d050960009ca8e98, []int{0, 0} +} + +type ValueType struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ValueType) Reset() { *m = ValueType{} } +func (m *ValueType) String() string { return proto.CompactTextString(m) } +func (*ValueType) ProtoMessage() {} +func (*ValueType) Descriptor() ([]byte, []int) { + return fileDescriptor_Value_d050960009ca8e98, []int{0} +} +func (m *ValueType) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ValueType.Unmarshal(m, b) +} +func (m *ValueType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ValueType.Marshal(b, m, deterministic) +} +func (dst *ValueType) XXX_Merge(src proto.Message) { + xxx_messageInfo_ValueType.Merge(dst, src) +} +func (m *ValueType) XXX_Size() int { + return xxx_messageInfo_ValueType.Size(m) +} +func (m *ValueType) XXX_DiscardUnknown() { + xxx_messageInfo_ValueType.DiscardUnknown(m) +} + +var xxx_messageInfo_ValueType proto.InternalMessageInfo + +type Value struct { + // Types that are valid to be assigned to Val: + // *Value_BytesVal + // *Value_StringVal + // *Value_Int32Val + // *Value_Int64Val + // *Value_DoubleVal + // *Value_FloatVal + // *Value_BoolVal + // *Value_TimestampVal + Val isValue_Val `protobuf_oneof:"val"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Value) Reset() { *m = Value{} } +func (m *Value) String() string { return proto.CompactTextString(m) } +func (*Value) ProtoMessage() {} +func (*Value) Descriptor() ([]byte, []int) { + return fileDescriptor_Value_d050960009ca8e98, []int{1} +} +func (m *Value) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Value.Unmarshal(m, b) +} +func (m *Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Value.Marshal(b, m, deterministic) +} +func (dst *Value) XXX_Merge(src proto.Message) { + xxx_messageInfo_Value.Merge(dst, src) +} +func (m *Value) XXX_Size() int { + return xxx_messageInfo_Value.Size(m) +} +func (m *Value) XXX_DiscardUnknown() { + xxx_messageInfo_Value.DiscardUnknown(m) +} + +var xxx_messageInfo_Value proto.InternalMessageInfo + +type isValue_Val interface { + isValue_Val() +} + +type Value_BytesVal struct { + BytesVal []byte `protobuf:"bytes,1,opt,name=bytesVal,proto3,oneof"` +} + +type Value_StringVal struct { + StringVal string `protobuf:"bytes,2,opt,name=stringVal,proto3,oneof"` +} + +type Value_Int32Val struct { + Int32Val int32 `protobuf:"varint,3,opt,name=int32Val,proto3,oneof"` +} + +type Value_Int64Val struct { + Int64Val int64 `protobuf:"varint,4,opt,name=int64Val,proto3,oneof"` +} + +type Value_DoubleVal struct { + DoubleVal float64 `protobuf:"fixed64,5,opt,name=doubleVal,proto3,oneof"` +} + +type Value_FloatVal struct { + FloatVal float32 `protobuf:"fixed32,6,opt,name=floatVal,proto3,oneof"` +} + +type Value_BoolVal struct { + BoolVal bool `protobuf:"varint,7,opt,name=boolVal,proto3,oneof"` +} + +type Value_TimestampVal struct { + TimestampVal *timestamp.Timestamp `protobuf:"bytes,8,opt,name=timestampVal,proto3,oneof"` +} + +func (*Value_BytesVal) isValue_Val() {} + +func (*Value_StringVal) isValue_Val() {} + +func (*Value_Int32Val) isValue_Val() {} + +func (*Value_Int64Val) isValue_Val() {} + +func (*Value_DoubleVal) isValue_Val() {} + +func (*Value_FloatVal) isValue_Val() {} + +func (*Value_BoolVal) isValue_Val() {} + +func (*Value_TimestampVal) isValue_Val() {} + +func (m *Value) GetVal() isValue_Val { + if m != nil { + return m.Val + } + return nil +} + +func (m *Value) GetBytesVal() []byte { + if x, ok := m.GetVal().(*Value_BytesVal); ok { + return x.BytesVal + } + return nil +} + +func (m *Value) GetStringVal() string { + if x, ok := m.GetVal().(*Value_StringVal); ok { + return x.StringVal + } + return "" +} + +func (m *Value) GetInt32Val() int32 { + if x, ok := m.GetVal().(*Value_Int32Val); ok { + return x.Int32Val + } + return 0 +} + +func (m *Value) GetInt64Val() int64 { + if x, ok := m.GetVal().(*Value_Int64Val); ok { + return x.Int64Val + } + return 0 +} + +func (m *Value) GetDoubleVal() float64 { + if x, ok := m.GetVal().(*Value_DoubleVal); ok { + return x.DoubleVal + } + return 0 +} + +func (m *Value) GetFloatVal() float32 { + if x, ok := m.GetVal().(*Value_FloatVal); ok { + return x.FloatVal + } + return 0 +} + +func (m *Value) GetBoolVal() bool { + if x, ok := m.GetVal().(*Value_BoolVal); ok { + return x.BoolVal + } + return false +} + +func (m *Value) GetTimestampVal() *timestamp.Timestamp { + if x, ok := m.GetVal().(*Value_TimestampVal); ok { + return x.TimestampVal + } + return nil +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*Value) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _Value_OneofMarshaler, _Value_OneofUnmarshaler, _Value_OneofSizer, []interface{}{ + (*Value_BytesVal)(nil), + (*Value_StringVal)(nil), + (*Value_Int32Val)(nil), + (*Value_Int64Val)(nil), + (*Value_DoubleVal)(nil), + (*Value_FloatVal)(nil), + (*Value_BoolVal)(nil), + (*Value_TimestampVal)(nil), + } +} + +func _Value_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*Value) + // val + switch x := m.Val.(type) { + case *Value_BytesVal: + b.EncodeVarint(1<<3 | proto.WireBytes) + b.EncodeRawBytes(x.BytesVal) + case *Value_StringVal: + b.EncodeVarint(2<<3 | proto.WireBytes) + b.EncodeStringBytes(x.StringVal) + case *Value_Int32Val: + b.EncodeVarint(3<<3 | proto.WireVarint) + b.EncodeVarint(uint64(x.Int32Val)) + case *Value_Int64Val: + b.EncodeVarint(4<<3 | proto.WireVarint) + b.EncodeVarint(uint64(x.Int64Val)) + case *Value_DoubleVal: + b.EncodeVarint(5<<3 | proto.WireFixed64) + b.EncodeFixed64(math.Float64bits(x.DoubleVal)) + case *Value_FloatVal: + b.EncodeVarint(6<<3 | proto.WireFixed32) + b.EncodeFixed32(uint64(math.Float32bits(x.FloatVal))) + case *Value_BoolVal: + t := uint64(0) + if x.BoolVal { + t = 1 + } + b.EncodeVarint(7<<3 | proto.WireVarint) + b.EncodeVarint(t) + case *Value_TimestampVal: + b.EncodeVarint(8<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.TimestampVal); err != nil { + return err + } + case nil: + default: + return fmt.Errorf("Value.Val has unexpected type %T", x) + } + return nil +} + +func _Value_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*Value) + switch tag { + case 1: // val.bytesVal + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeRawBytes(true) + m.Val = &Value_BytesVal{x} + return true, err + case 2: // val.stringVal + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeStringBytes() + m.Val = &Value_StringVal{x} + return true, err + case 3: // val.int32Val + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.Val = &Value_Int32Val{int32(x)} + return true, err + case 4: // val.int64Val + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.Val = &Value_Int64Val{int64(x)} + return true, err + case 5: // val.doubleVal + if wire != proto.WireFixed64 { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeFixed64() + m.Val = &Value_DoubleVal{math.Float64frombits(x)} + return true, err + case 6: // val.floatVal + if wire != proto.WireFixed32 { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeFixed32() + m.Val = &Value_FloatVal{math.Float32frombits(uint32(x))} + return true, err + case 7: // val.boolVal + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.Val = &Value_BoolVal{x != 0} + return true, err + case 8: // val.timestampVal + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(timestamp.Timestamp) + err := b.DecodeMessage(msg) + m.Val = &Value_TimestampVal{msg} + return true, err + default: + return false, nil + } +} + +func _Value_OneofSizer(msg proto.Message) (n int) { + m := msg.(*Value) + // val + switch x := m.Val.(type) { + case *Value_BytesVal: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(len(x.BytesVal))) + n += len(x.BytesVal) + case *Value_StringVal: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(len(x.StringVal))) + n += len(x.StringVal) + case *Value_Int32Val: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(x.Int32Val)) + case *Value_Int64Val: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(x.Int64Val)) + case *Value_DoubleVal: + n += 1 // tag and wire + n += 8 + case *Value_FloatVal: + n += 1 // tag and wire + n += 4 + case *Value_BoolVal: + n += 1 // tag and wire + n += 1 + case *Value_TimestampVal: + s := proto.Size(x.TimestampVal) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +type ValueList struct { + // Types that are valid to be assigned to ValueList: + // *ValueList_BytesList + // *ValueList_StringList + // *ValueList_Int32List + // *ValueList_Int64List + // *ValueList_DoubleList + // *ValueList_FloatList + // *ValueList_BoolList + // *ValueList_TimestampList + ValueList isValueList_ValueList `protobuf_oneof:"valueList"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ValueList) Reset() { *m = ValueList{} } +func (m *ValueList) String() string { return proto.CompactTextString(m) } +func (*ValueList) ProtoMessage() {} +func (*ValueList) Descriptor() ([]byte, []int) { + return fileDescriptor_Value_d050960009ca8e98, []int{2} +} +func (m *ValueList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ValueList.Unmarshal(m, b) +} +func (m *ValueList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ValueList.Marshal(b, m, deterministic) +} +func (dst *ValueList) XXX_Merge(src proto.Message) { + xxx_messageInfo_ValueList.Merge(dst, src) +} +func (m *ValueList) XXX_Size() int { + return xxx_messageInfo_ValueList.Size(m) +} +func (m *ValueList) XXX_DiscardUnknown() { + xxx_messageInfo_ValueList.DiscardUnknown(m) +} + +var xxx_messageInfo_ValueList proto.InternalMessageInfo + +type isValueList_ValueList interface { + isValueList_ValueList() +} + +type ValueList_BytesList struct { + BytesList *BytesList `protobuf:"bytes,1,opt,name=bytesList,proto3,oneof"` +} + +type ValueList_StringList struct { + StringList *StringList `protobuf:"bytes,2,opt,name=stringList,proto3,oneof"` +} + +type ValueList_Int32List struct { + Int32List *Int32List `protobuf:"bytes,3,opt,name=int32List,proto3,oneof"` +} + +type ValueList_Int64List struct { + Int64List *Int64List `protobuf:"bytes,4,opt,name=int64List,proto3,oneof"` +} + +type ValueList_DoubleList struct { + DoubleList *DoubleList `protobuf:"bytes,5,opt,name=doubleList,proto3,oneof"` +} + +type ValueList_FloatList struct { + FloatList *FloatList `protobuf:"bytes,6,opt,name=floatList,proto3,oneof"` +} + +type ValueList_BoolList struct { + BoolList *BoolList `protobuf:"bytes,7,opt,name=boolList,proto3,oneof"` +} + +type ValueList_TimestampList struct { + TimestampList *TimestampList `protobuf:"bytes,8,opt,name=timestampList,proto3,oneof"` +} + +func (*ValueList_BytesList) isValueList_ValueList() {} + +func (*ValueList_StringList) isValueList_ValueList() {} + +func (*ValueList_Int32List) isValueList_ValueList() {} + +func (*ValueList_Int64List) isValueList_ValueList() {} + +func (*ValueList_DoubleList) isValueList_ValueList() {} + +func (*ValueList_FloatList) isValueList_ValueList() {} + +func (*ValueList_BoolList) isValueList_ValueList() {} + +func (*ValueList_TimestampList) isValueList_ValueList() {} + +func (m *ValueList) GetValueList() isValueList_ValueList { + if m != nil { + return m.ValueList + } + return nil +} + +func (m *ValueList) GetBytesList() *BytesList { + if x, ok := m.GetValueList().(*ValueList_BytesList); ok { + return x.BytesList + } + return nil +} + +func (m *ValueList) GetStringList() *StringList { + if x, ok := m.GetValueList().(*ValueList_StringList); ok { + return x.StringList + } + return nil +} + +func (m *ValueList) GetInt32List() *Int32List { + if x, ok := m.GetValueList().(*ValueList_Int32List); ok { + return x.Int32List + } + return nil +} + +func (m *ValueList) GetInt64List() *Int64List { + if x, ok := m.GetValueList().(*ValueList_Int64List); ok { + return x.Int64List + } + return nil +} + +func (m *ValueList) GetDoubleList() *DoubleList { + if x, ok := m.GetValueList().(*ValueList_DoubleList); ok { + return x.DoubleList + } + return nil +} + +func (m *ValueList) GetFloatList() *FloatList { + if x, ok := m.GetValueList().(*ValueList_FloatList); ok { + return x.FloatList + } + return nil +} + +func (m *ValueList) GetBoolList() *BoolList { + if x, ok := m.GetValueList().(*ValueList_BoolList); ok { + return x.BoolList + } + return nil +} + +func (m *ValueList) GetTimestampList() *TimestampList { + if x, ok := m.GetValueList().(*ValueList_TimestampList); ok { + return x.TimestampList + } + return nil +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*ValueList) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _ValueList_OneofMarshaler, _ValueList_OneofUnmarshaler, _ValueList_OneofSizer, []interface{}{ + (*ValueList_BytesList)(nil), + (*ValueList_StringList)(nil), + (*ValueList_Int32List)(nil), + (*ValueList_Int64List)(nil), + (*ValueList_DoubleList)(nil), + (*ValueList_FloatList)(nil), + (*ValueList_BoolList)(nil), + (*ValueList_TimestampList)(nil), + } +} + +func _ValueList_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*ValueList) + // valueList + switch x := m.ValueList.(type) { + case *ValueList_BytesList: + b.EncodeVarint(1<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.BytesList); err != nil { + return err + } + case *ValueList_StringList: + b.EncodeVarint(2<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.StringList); err != nil { + return err + } + case *ValueList_Int32List: + b.EncodeVarint(3<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Int32List); err != nil { + return err + } + case *ValueList_Int64List: + b.EncodeVarint(4<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Int64List); err != nil { + return err + } + case *ValueList_DoubleList: + b.EncodeVarint(5<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.DoubleList); err != nil { + return err + } + case *ValueList_FloatList: + b.EncodeVarint(6<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.FloatList); err != nil { + return err + } + case *ValueList_BoolList: + b.EncodeVarint(7<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.BoolList); err != nil { + return err + } + case *ValueList_TimestampList: + b.EncodeVarint(8<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.TimestampList); err != nil { + return err + } + case nil: + default: + return fmt.Errorf("ValueList.ValueList has unexpected type %T", x) + } + return nil +} + +func _ValueList_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*ValueList) + switch tag { + case 1: // valueList.bytesList + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(BytesList) + err := b.DecodeMessage(msg) + m.ValueList = &ValueList_BytesList{msg} + return true, err + case 2: // valueList.stringList + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(StringList) + err := b.DecodeMessage(msg) + m.ValueList = &ValueList_StringList{msg} + return true, err + case 3: // valueList.int32List + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(Int32List) + err := b.DecodeMessage(msg) + m.ValueList = &ValueList_Int32List{msg} + return true, err + case 4: // valueList.int64List + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(Int64List) + err := b.DecodeMessage(msg) + m.ValueList = &ValueList_Int64List{msg} + return true, err + case 5: // valueList.doubleList + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(DoubleList) + err := b.DecodeMessage(msg) + m.ValueList = &ValueList_DoubleList{msg} + return true, err + case 6: // valueList.floatList + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(FloatList) + err := b.DecodeMessage(msg) + m.ValueList = &ValueList_FloatList{msg} + return true, err + case 7: // valueList.boolList + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(BoolList) + err := b.DecodeMessage(msg) + m.ValueList = &ValueList_BoolList{msg} + return true, err + case 8: // valueList.timestampList + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + msg := new(TimestampList) + err := b.DecodeMessage(msg) + m.ValueList = &ValueList_TimestampList{msg} + return true, err + default: + return false, nil + } +} + +func _ValueList_OneofSizer(msg proto.Message) (n int) { + m := msg.(*ValueList) + // valueList + switch x := m.ValueList.(type) { + case *ValueList_BytesList: + s := proto.Size(x.BytesList) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *ValueList_StringList: + s := proto.Size(x.StringList) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *ValueList_Int32List: + s := proto.Size(x.Int32List) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *ValueList_Int64List: + s := proto.Size(x.Int64List) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *ValueList_DoubleList: + s := proto.Size(x.DoubleList) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *ValueList_FloatList: + s := proto.Size(x.FloatList) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *ValueList_BoolList: + s := proto.Size(x.BoolList) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case *ValueList_TimestampList: + s := proto.Size(x.TimestampList) + n += 1 // tag and wire + n += proto.SizeVarint(uint64(s)) + n += s + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +type BytesList struct { + Val [][]byte `protobuf:"bytes,1,rep,name=val,proto3" json:"val,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BytesList) Reset() { *m = BytesList{} } +func (m *BytesList) String() string { return proto.CompactTextString(m) } +func (*BytesList) ProtoMessage() {} +func (*BytesList) Descriptor() ([]byte, []int) { + return fileDescriptor_Value_d050960009ca8e98, []int{3} +} +func (m *BytesList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BytesList.Unmarshal(m, b) +} +func (m *BytesList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BytesList.Marshal(b, m, deterministic) +} +func (dst *BytesList) XXX_Merge(src proto.Message) { + xxx_messageInfo_BytesList.Merge(dst, src) +} +func (m *BytesList) XXX_Size() int { + return xxx_messageInfo_BytesList.Size(m) +} +func (m *BytesList) XXX_DiscardUnknown() { + xxx_messageInfo_BytesList.DiscardUnknown(m) +} + +var xxx_messageInfo_BytesList proto.InternalMessageInfo + +func (m *BytesList) GetVal() [][]byte { + if m != nil { + return m.Val + } + return nil +} + +type StringList struct { + Val []string `protobuf:"bytes,1,rep,name=val,proto3" json:"val,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StringList) Reset() { *m = StringList{} } +func (m *StringList) String() string { return proto.CompactTextString(m) } +func (*StringList) ProtoMessage() {} +func (*StringList) Descriptor() ([]byte, []int) { + return fileDescriptor_Value_d050960009ca8e98, []int{4} +} +func (m *StringList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StringList.Unmarshal(m, b) +} +func (m *StringList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StringList.Marshal(b, m, deterministic) +} +func (dst *StringList) XXX_Merge(src proto.Message) { + xxx_messageInfo_StringList.Merge(dst, src) +} +func (m *StringList) XXX_Size() int { + return xxx_messageInfo_StringList.Size(m) +} +func (m *StringList) XXX_DiscardUnknown() { + xxx_messageInfo_StringList.DiscardUnknown(m) +} + +var xxx_messageInfo_StringList proto.InternalMessageInfo + +func (m *StringList) GetVal() []string { + if m != nil { + return m.Val + } + return nil +} + +type Int32List struct { + Val []int32 `protobuf:"varint,1,rep,packed,name=val,proto3" json:"val,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Int32List) Reset() { *m = Int32List{} } +func (m *Int32List) String() string { return proto.CompactTextString(m) } +func (*Int32List) ProtoMessage() {} +func (*Int32List) Descriptor() ([]byte, []int) { + return fileDescriptor_Value_d050960009ca8e98, []int{5} +} +func (m *Int32List) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Int32List.Unmarshal(m, b) +} +func (m *Int32List) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Int32List.Marshal(b, m, deterministic) +} +func (dst *Int32List) XXX_Merge(src proto.Message) { + xxx_messageInfo_Int32List.Merge(dst, src) +} +func (m *Int32List) XXX_Size() int { + return xxx_messageInfo_Int32List.Size(m) +} +func (m *Int32List) XXX_DiscardUnknown() { + xxx_messageInfo_Int32List.DiscardUnknown(m) +} + +var xxx_messageInfo_Int32List proto.InternalMessageInfo + +func (m *Int32List) GetVal() []int32 { + if m != nil { + return m.Val + } + return nil +} + +type Int64List struct { + Val []int64 `protobuf:"varint,1,rep,packed,name=val,proto3" json:"val,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Int64List) Reset() { *m = Int64List{} } +func (m *Int64List) String() string { return proto.CompactTextString(m) } +func (*Int64List) ProtoMessage() {} +func (*Int64List) Descriptor() ([]byte, []int) { + return fileDescriptor_Value_d050960009ca8e98, []int{6} +} +func (m *Int64List) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Int64List.Unmarshal(m, b) +} +func (m *Int64List) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Int64List.Marshal(b, m, deterministic) +} +func (dst *Int64List) XXX_Merge(src proto.Message) { + xxx_messageInfo_Int64List.Merge(dst, src) +} +func (m *Int64List) XXX_Size() int { + return xxx_messageInfo_Int64List.Size(m) +} +func (m *Int64List) XXX_DiscardUnknown() { + xxx_messageInfo_Int64List.DiscardUnknown(m) +} + +var xxx_messageInfo_Int64List proto.InternalMessageInfo + +func (m *Int64List) GetVal() []int64 { + if m != nil { + return m.Val + } + return nil +} + +type DoubleList struct { + Val []float64 `protobuf:"fixed64,1,rep,packed,name=val,proto3" json:"val,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DoubleList) Reset() { *m = DoubleList{} } +func (m *DoubleList) String() string { return proto.CompactTextString(m) } +func (*DoubleList) ProtoMessage() {} +func (*DoubleList) Descriptor() ([]byte, []int) { + return fileDescriptor_Value_d050960009ca8e98, []int{7} +} +func (m *DoubleList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DoubleList.Unmarshal(m, b) +} +func (m *DoubleList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DoubleList.Marshal(b, m, deterministic) +} +func (dst *DoubleList) XXX_Merge(src proto.Message) { + xxx_messageInfo_DoubleList.Merge(dst, src) +} +func (m *DoubleList) XXX_Size() int { + return xxx_messageInfo_DoubleList.Size(m) +} +func (m *DoubleList) XXX_DiscardUnknown() { + xxx_messageInfo_DoubleList.DiscardUnknown(m) +} + +var xxx_messageInfo_DoubleList proto.InternalMessageInfo + +func (m *DoubleList) GetVal() []float64 { + if m != nil { + return m.Val + } + return nil +} + +type FloatList struct { + Val []float32 `protobuf:"fixed32,1,rep,packed,name=val,proto3" json:"val,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FloatList) Reset() { *m = FloatList{} } +func (m *FloatList) String() string { return proto.CompactTextString(m) } +func (*FloatList) ProtoMessage() {} +func (*FloatList) Descriptor() ([]byte, []int) { + return fileDescriptor_Value_d050960009ca8e98, []int{8} +} +func (m *FloatList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FloatList.Unmarshal(m, b) +} +func (m *FloatList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FloatList.Marshal(b, m, deterministic) +} +func (dst *FloatList) XXX_Merge(src proto.Message) { + xxx_messageInfo_FloatList.Merge(dst, src) +} +func (m *FloatList) XXX_Size() int { + return xxx_messageInfo_FloatList.Size(m) +} +func (m *FloatList) XXX_DiscardUnknown() { + xxx_messageInfo_FloatList.DiscardUnknown(m) +} + +var xxx_messageInfo_FloatList proto.InternalMessageInfo + +func (m *FloatList) GetVal() []float32 { + if m != nil { + return m.Val + } + return nil +} + +type BoolList struct { + Val []bool `protobuf:"varint,1,rep,packed,name=val,proto3" json:"val,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BoolList) Reset() { *m = BoolList{} } +func (m *BoolList) String() string { return proto.CompactTextString(m) } +func (*BoolList) ProtoMessage() {} +func (*BoolList) Descriptor() ([]byte, []int) { + return fileDescriptor_Value_d050960009ca8e98, []int{9} +} +func (m *BoolList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BoolList.Unmarshal(m, b) +} +func (m *BoolList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BoolList.Marshal(b, m, deterministic) +} +func (dst *BoolList) XXX_Merge(src proto.Message) { + xxx_messageInfo_BoolList.Merge(dst, src) +} +func (m *BoolList) XXX_Size() int { + return xxx_messageInfo_BoolList.Size(m) +} +func (m *BoolList) XXX_DiscardUnknown() { + xxx_messageInfo_BoolList.DiscardUnknown(m) +} + +var xxx_messageInfo_BoolList proto.InternalMessageInfo + +func (m *BoolList) GetVal() []bool { + if m != nil { + return m.Val + } + return nil +} + +type TimestampList struct { + Val []*timestamp.Timestamp `protobuf:"bytes,1,rep,name=val,proto3" json:"val,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TimestampList) Reset() { *m = TimestampList{} } +func (m *TimestampList) String() string { return proto.CompactTextString(m) } +func (*TimestampList) ProtoMessage() {} +func (*TimestampList) Descriptor() ([]byte, []int) { + return fileDescriptor_Value_d050960009ca8e98, []int{10} +} +func (m *TimestampList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TimestampList.Unmarshal(m, b) +} +func (m *TimestampList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TimestampList.Marshal(b, m, deterministic) +} +func (dst *TimestampList) XXX_Merge(src proto.Message) { + xxx_messageInfo_TimestampList.Merge(dst, src) +} +func (m *TimestampList) XXX_Size() int { + return xxx_messageInfo_TimestampList.Size(m) +} +func (m *TimestampList) XXX_DiscardUnknown() { + xxx_messageInfo_TimestampList.DiscardUnknown(m) +} + +var xxx_messageInfo_TimestampList proto.InternalMessageInfo + +func (m *TimestampList) GetVal() []*timestamp.Timestamp { + if m != nil { + return m.Val + } + return nil +} + +func init() { + proto.RegisterType((*ValueType)(nil), "feast.types.ValueType") + proto.RegisterType((*Value)(nil), "feast.types.Value") + proto.RegisterType((*ValueList)(nil), "feast.types.ValueList") + proto.RegisterType((*BytesList)(nil), "feast.types.BytesList") + proto.RegisterType((*StringList)(nil), "feast.types.StringList") + proto.RegisterType((*Int32List)(nil), "feast.types.Int32List") + proto.RegisterType((*Int64List)(nil), "feast.types.Int64List") + proto.RegisterType((*DoubleList)(nil), "feast.types.DoubleList") + proto.RegisterType((*FloatList)(nil), "feast.types.FloatList") + proto.RegisterType((*BoolList)(nil), "feast.types.BoolList") + proto.RegisterType((*TimestampList)(nil), "feast.types.TimestampList") + proto.RegisterEnum("feast.types.ValueType_Enum", ValueType_Enum_name, ValueType_Enum_value) +} + +func init() { proto.RegisterFile("feast/types/Value.proto", fileDescriptor_Value_d050960009ca8e98) } + +var fileDescriptor_Value_d050960009ca8e98 = []byte{ + // 626 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x94, 0xc1, 0x6e, 0xda, 0x4e, + 0x10, 0xc6, 0xbd, 0x18, 0x83, 0x3d, 0x24, 0x92, 0xb5, 0xd2, 0xff, 0x9f, 0x28, 0x4a, 0x52, 0x8b, + 0x93, 0x0f, 0x8d, 0x2d, 0x41, 0x8a, 0xd4, 0x43, 0xa5, 0xc6, 0x0a, 0x29, 0xa8, 0x04, 0x22, 0xe3, + 0xa4, 0x6a, 0x6f, 0x90, 0x3a, 0x0e, 0xad, 0x89, 0x51, 0xbc, 0x44, 0xca, 0xa1, 0x6f, 0xd3, 0x77, + 0xeb, 0x6b, 0x54, 0x33, 0xb6, 0x97, 0x45, 0x42, 0xbd, 0xad, 0xe7, 0xf7, 0x7d, 0x3b, 0xeb, 0xf9, + 0xec, 0x85, 0x83, 0x87, 0x78, 0x96, 0x0b, 0x5f, 0xbc, 0xae, 0xe2, 0xdc, 0xbf, 0x9b, 0xa5, 0xeb, + 0xd8, 0x5b, 0x3d, 0x67, 0x22, 0xe3, 0x2d, 0x02, 0x1e, 0x81, 0xa3, 0x37, 0x49, 0x96, 0x25, 0x69, + 0xec, 0x13, 0x9a, 0xaf, 0x1f, 0x7c, 0xb1, 0x58, 0xc6, 0xb9, 0x98, 0x2d, 0x57, 0x85, 0xba, 0xfd, + 0x0b, 0x2c, 0x32, 0x47, 0xaf, 0xab, 0xb8, 0xbd, 0x82, 0x7a, 0xff, 0x69, 0xbd, 0xe4, 0x2d, 0x68, + 0xde, 0x8e, 0x3f, 0x8f, 0x27, 0x5f, 0xc6, 0xb6, 0xc6, 0x2d, 0x30, 0x82, 0xaf, 0x51, 0x7f, 0x6a, + 0x33, 0x0e, 0xd0, 0x98, 0x46, 0xe1, 0x70, 0xfc, 0xc9, 0xae, 0x61, 0x79, 0x38, 0x8e, 0xba, 0x1d, + 0x5b, 0x2f, 0x97, 0xbd, 0x73, 0xbb, 0x8e, 0x8a, 0xcb, 0xc9, 0x6d, 0x30, 0xea, 0xdb, 0x06, 0x96, + 0xaf, 0x46, 0x93, 0x8b, 0xc8, 0x6e, 0x70, 0x13, 0xea, 0xc1, 0x64, 0x32, 0xb2, 0x9b, 0x7c, 0x1f, + 0xac, 0x68, 0x78, 0xdd, 0x9f, 0x46, 0x17, 0xd7, 0x37, 0xb6, 0xd9, 0xfe, 0x5d, 0x03, 0x83, 0xfa, + 0xf3, 0x63, 0x30, 0xe7, 0xaf, 0x22, 0xce, 0xef, 0x66, 0xe9, 0x21, 0x73, 0x98, 0xbb, 0x37, 0xd0, + 0x42, 0x59, 0xe1, 0xa7, 0x60, 0xe5, 0xe2, 0x79, 0xf1, 0x94, 0x20, 0xae, 0x39, 0xcc, 0xb5, 0x06, + 0x5a, 0xb8, 0x29, 0xa1, 0x7b, 0xf1, 0x24, 0xba, 0x1d, 0xc4, 0xba, 0xc3, 0x5c, 0x03, 0xdd, 0x55, + 0xa5, 0xa4, 0xbd, 0x73, 0xa4, 0x75, 0x87, 0xb9, 0x7a, 0x49, 0xa9, 0x82, 0x7b, 0x7f, 0xcf, 0xd6, + 0xf3, 0x34, 0x46, 0x6c, 0x38, 0xcc, 0x65, 0xb8, 0xb7, 0x2c, 0xa1, 0xfb, 0x21, 0xcd, 0x66, 0x02, + 0x71, 0xc3, 0x61, 0x6e, 0x0d, 0xdd, 0x55, 0x85, 0x1f, 0x41, 0x73, 0x9e, 0x65, 0x29, 0xc2, 0xa6, + 0xc3, 0x5c, 0x73, 0xa0, 0x85, 0x55, 0x81, 0x7f, 0x84, 0x3d, 0x39, 0x6f, 0x14, 0x98, 0x0e, 0x73, + 0x5b, 0x9d, 0x23, 0xaf, 0x08, 0xc5, 0xab, 0x42, 0xf1, 0xa2, 0x4a, 0x34, 0xd0, 0xc2, 0x2d, 0x47, + 0x60, 0x80, 0xfe, 0x32, 0x4b, 0xdb, 0x7f, 0xf4, 0x32, 0xa6, 0xd1, 0x22, 0x17, 0xbc, 0x07, 0x16, + 0x0d, 0x06, 0x1f, 0x68, 0x56, 0xad, 0xce, 0xff, 0x9e, 0x92, 0xba, 0x17, 0x54, 0x14, 0x5f, 0x44, + 0x4a, 0xf9, 0x7b, 0x80, 0x62, 0x62, 0x64, 0xac, 0x91, 0xf1, 0x60, 0xcb, 0x38, 0x95, 0x78, 0xa0, + 0x85, 0x8a, 0x18, 0x5b, 0xd2, 0x34, 0xc9, 0xa9, 0xef, 0x68, 0x39, 0xac, 0x28, 0xb6, 0x94, 0xd2, + 0xd2, 0xd7, 0x3b, 0x27, 0x5f, 0x7d, 0xb7, 0xaf, 0xa0, 0xa5, 0xaf, 0x78, 0xc0, 0xa3, 0x16, 0x01, + 0x90, 0xd1, 0xd8, 0x71, 0xd4, 0x4b, 0x89, 0xf1, 0xa8, 0x1b, 0x31, 0xb6, 0xa4, 0x70, 0xc8, 0xd9, + 0xd8, 0xd1, 0xf2, 0xaa, 0xa2, 0xd8, 0x52, 0x4a, 0x79, 0x17, 0x4c, 0xcc, 0x8d, 0x6c, 0x4d, 0xb2, + 0xfd, 0xb7, 0x3d, 0xd4, 0x12, 0xd2, 0x77, 0x59, 0xae, 0x79, 0x00, 0xfb, 0x32, 0x2f, 0x72, 0x56, + 0x11, 0xab, 0xce, 0x48, 0x55, 0x0c, 0xb4, 0x70, 0xdb, 0x12, 0xb4, 0xc0, 0x7a, 0xa9, 0xb2, 0x6d, + 0x9f, 0x80, 0x25, 0xd3, 0xe3, 0x36, 0xa5, 0x7f, 0xc8, 0x1c, 0xdd, 0xdd, 0x0b, 0xe9, 0x43, 0x38, + 0x05, 0xd8, 0x64, 0xa4, 0x72, 0xab, 0xe0, 0x27, 0x60, 0xc9, 0x24, 0x54, 0x6c, 0xa8, 0xb8, 0x9c, + 0xb1, 0x82, 0x75, 0xb9, 0xfb, 0x66, 0xac, 0x2a, 0x67, 0xd2, 0x2e, 0x87, 0xa7, 0xe2, 0x5a, 0x81, + 0x8f, 0xc1, 0xac, 0x86, 0xa4, 0x52, 0xb3, 0xa0, 0x1f, 0x60, 0x7f, 0x6b, 0x10, 0xfc, 0xed, 0x46, + 0xf2, 0xcf, 0x9f, 0x82, 0xec, 0xc1, 0x0d, 0xa8, 0x17, 0x5b, 0x00, 0xf4, 0x3b, 0xdc, 0xa0, 0xf8, + 0xdb, 0xbb, 0x64, 0x21, 0x1e, 0xd7, 0x73, 0xef, 0x3e, 0x5b, 0xfa, 0x49, 0xf6, 0x23, 0xfe, 0x29, + 0xe2, 0xfb, 0x47, 0xbf, 0xb8, 0x1f, 0x93, 0xec, 0x8c, 0x16, 0x67, 0xb4, 0xaf, 0xaf, 0x5c, 0x9a, + 0xf3, 0x06, 0x95, 0xba, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x66, 0xda, 0x0e, 0x5f, 0x4a, 0x05, + 0x00, 0x00, +} diff --git a/ingestion/src/main/proto b/ingestion/src/main/proto new file mode 120000 index 0000000000..21f63ff310 --- /dev/null +++ b/ingestion/src/main/proto @@ -0,0 +1 @@ +../../../protos \ No newline at end of file diff --git a/ingestion/src/main/proto/Makefile b/ingestion/src/main/proto/Makefile deleted file mode 100644 index 36f2e9759a..0000000000 --- a/ingestion/src/main/proto/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -.PHONY: go - -dirs = core jobs serving specs storage types - -gen-go: - @$(foreach dir,$(dirs),protoc -I/usr/local/include -I. --go_out=plugins=grpc:$$GOPATH/src feast/$(dir)/*.proto;) \ No newline at end of file diff --git a/ingestion/src/main/proto/README.md b/ingestion/src/main/proto/README.md deleted file mode 100644 index e1956ace64..0000000000 --- a/ingestion/src/main/proto/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Feast Protos - -## Overview - -Shared protobuf files across Feast components. diff --git a/ingestion/src/main/proto/feast/core/CoreService.proto b/ingestion/src/main/proto/feast/core/CoreService.proto deleted file mode 100644 index 362b146b0b..0000000000 --- a/ingestion/src/main/proto/feast/core/CoreService.proto +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.core; - -import "feast/specs/EntitySpec.proto"; -import "feast/specs/FeatureSpec.proto"; -import "feast/specs/FeatureGroupSpec.proto"; -import "feast/specs/StorageSpec.proto"; -import "google/protobuf/empty.proto"; - -option java_package = "feast.core"; -option java_outer_classname = "CoreServiceProto"; -option go_package = "feast/go-feast-proto/feast/core"; - -service CoreService { - /* - Get entities specified in request. - This process returns a list of entity specs. - */ - rpc GetEntities(CoreServiceTypes.GetEntitiesRequest) returns (CoreServiceTypes.GetEntitiesResponse){}; - - /* - Get all entities - This process returns a list of entity specs. - */ - rpc ListEntities(google.protobuf.Empty) returns (CoreServiceTypes.ListEntitiesResponse) {}; - - /* - Get features specified in request. - This process returns a list of feature specs. - */ - rpc GetFeatures(CoreServiceTypes.GetFeaturesRequest) returns (CoreServiceTypes.GetFeaturesResponse){}; - - /* - Get all features. - This process returns a list of entity specs. - */ - rpc ListFeatures(google.protobuf.Empty) returns (CoreServiceTypes.ListFeaturesResponse) {}; - - /* - Get storage specs specified in request. - This process returns a list of storage specs. - */ - rpc GetStorage(CoreServiceTypes.GetStorageRequest) returns (CoreServiceTypes.GetStorageResponse){}; - - /* - Get all storage specs. - This process returns a list of storage specs. - */ - rpc ListStorage(google.protobuf.Empty) returns (CoreServiceTypes.ListStorageResponse) {}; - - /* - Register a new feature to the metadata store. - If any validation errors occur, only the first encountered error will be returned. - */ - rpc RegisterFeature(feast.specs.FeatureSpec) returns (CoreServiceTypes.RegisterFeatureResponse) {}; - - /* - Register a new feature group to the metadata store. - If any validation errors occur, only the first encountered error will be returned. - */ - rpc RegisterFeatureGroup(feast.specs.FeatureGroupSpec) returns (CoreServiceTypes.RegisterFeatureGroupResponse) {}; - - /* - Register a new entity to the metadata store. - If any validation errors occur, only the first encountered error will be returned. - */ - rpc RegisterEntity(feast.specs.EntitySpec) returns (CoreServiceTypes.RegisterEntityResponse) {}; - - /* - Register a new storage spec to the metadata store. - If any validation errors occur, only the first encountered error will be returned. - */ - rpc RegisterStorage(feast.specs.StorageSpec) returns (CoreServiceTypes.RegisterStorageResponse) {}; -} - -message CoreServiceTypes { - message GetEntitiesRequest { - repeated string ids = 1; - } - - message GetEntitiesResponse { - repeated feast.specs.EntitySpec entities = 1; - } - - message ListEntitiesResponse { - repeated feast.specs.EntitySpec entities = 1; - } - - // Feature retrieval - message GetFeaturesRequest { - repeated string ids = 1; - } - - message GetFeaturesResponse { - repeated feast.specs.FeatureSpec features = 1; - } - - message ListFeaturesResponse { - repeated feast.specs.FeatureSpec features = 1; - } - - // Storage spec retrieval - message GetStorageRequest { - repeated string ids = 1; - } - - message GetStorageResponse { - repeated feast.specs.StorageSpec storageSpecs = 1; - } - - message ListStorageResponse { - repeated feast.specs.StorageSpec storageSpecs = 1; - } - - // Entity registration response - message RegisterEntityResponse { - string entityName = 1; - } - - // Feature registration response - message RegisterFeatureResponse { - string featureId = 1; - } - - // Feature group registration response - message RegisterFeatureGroupResponse { - string featureGroupId = 1; - } - - // Storage registration response - message RegisterStorageResponse { - string storageId = 1; - } -} diff --git a/ingestion/src/main/proto/feast/core/JobService.proto b/ingestion/src/main/proto/feast/core/JobService.proto deleted file mode 100644 index 3d5db25c40..0000000000 --- a/ingestion/src/main/proto/feast/core/JobService.proto +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.core; - -import "feast/specs/ImportSpec.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/timestamp.proto"; - -option java_package = "feast.core"; -option java_outer_classname = "JobServiceProto"; -option go_package = "feast/go-feast-proto/feast/core"; - -service JobService { - // Submit a job to feast to run. Returns the job id. - rpc SubmitJob (JobServiceTypes.SubmitImportJobRequest) returns (JobServiceTypes.SubmitImportJobResponse); - - // List all jobs submitted to feast. - rpc ListJobs (google.protobuf.Empty) returns (JobServiceTypes.ListJobsResponse); - - // Get Job with ID - rpc GetJob (JobServiceTypes.GetJobRequest) returns (JobServiceTypes.GetJobResponse); - - // Abort job with given ID - rpc AbortJob(JobServiceTypes.AbortJobRequest) returns (JobServiceTypes.AbortJobResponse); -} - -message JobServiceTypes { - message SubmitImportJobRequest { - feast.specs.ImportSpec importSpec = 1; - string name = 2; // optional - } - - message SubmitImportJobResponse { - string jobId = 1; - } - - message ListJobsResponse { - repeated JobDetail jobs = 1; - } - - message GetJobRequest { - string id = 1; - } - - message GetJobResponse { - JobDetail job = 1; - } - - message AbortJobRequest { - string id = 1; - } - - message AbortJobResponse { - string id = 1; - } - - // Expanded view of a given job. Returns job information, as well - // as latest metrics. - message JobDetail { - string id = 1; - string extId = 2; - string type = 3; - string runner = 4; - string status = 5; - repeated string entities = 6; - repeated string features = 7; - map metrics = 8; - google.protobuf.Timestamp lastUpdated = 9; - google.protobuf.Timestamp created = 10; - } -} diff --git a/ingestion/src/main/proto/feast/core/UIService.proto b/ingestion/src/main/proto/feast/core/UIService.proto deleted file mode 100644 index d5a31d9e45..0000000000 --- a/ingestion/src/main/proto/feast/core/UIService.proto +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.core; - -import "feast/specs/EntitySpec.proto"; -import "feast/specs/FeatureSpec.proto"; -import "feast/specs/FeatureGroupSpec.proto"; -import "feast/specs/StorageSpec.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/timestamp.proto"; - -option java_package = "feast.core"; -option java_outer_classname = "UIServiceProto"; -option go_package = "feast/go-feast-proto/feast/core"; - -service UIService { - /* - Get entity specified in request. - This process returns a single of entity specs. - */ - rpc GetEntity(UIServiceTypes.GetEntityRequest) returns (UIServiceTypes.GetEntityResponse) {}; - - /* - Get all entities. - This process returns a list of entity specs. - */ - rpc ListEntities(google.protobuf.Empty) returns (UIServiceTypes.ListEntitiesResponse) {}; - - /* - Get feature specified in request. - */ - rpc GetFeature(UIServiceTypes.GetFeatureRequest) returns (UIServiceTypes.GetFeatureResponse){}; - - /* - Get all features. - This process returns a list of feature specs. - */ - rpc ListFeatures(google.protobuf.Empty) returns (UIServiceTypes.ListFeaturesResponse){}; - - /* - Get feature group specified in request. - */ - rpc GetFeatureGroup(UIServiceTypes.GetFeatureGroupRequest) returns (UIServiceTypes.GetFeatureGroupResponse){}; - - /* - Get all feature groups. - This process returns a list of feature group specs. - */ - rpc ListFeatureGroups(google.protobuf.Empty) returns (UIServiceTypes.ListFeatureGroupsResponse){}; - - /* - Get storage spec specified in request. - - */ - rpc GetStorage(UIServiceTypes.GetStorageRequest) returns (UIServiceTypes.GetStorageResponse){}; - - /* - Get all storage specs. - This process returns a list of storage specs. - */ - rpc ListStorage(google.protobuf.Empty) returns (UIServiceTypes.ListStorageResponse){}; -} - -message UIServiceTypes { - // Expanded entity spec - message EntityDetail { - feast.specs.EntitySpec spec = 1; - repeated string jobs = 2; - google.protobuf.Timestamp lastUpdated = 3; - } - - message GetEntityRequest { - string id = 1; - } - - message GetEntityResponse { - EntityDetail entity = 1; - } - - message ListEntitiesResponse { - repeated EntityDetail entities = 1; - } - - // Expanded feature spec - message FeatureDetail { - feast.specs.FeatureSpec spec = 1; - string bigqueryView = 2; - bool enabled = 3; - repeated string jobs = 4; - google.protobuf.Timestamp lastUpdated = 5; - google.protobuf.Timestamp created = 6; - } - - message GetFeatureRequest { - string id = 1; - } - - message GetFeatureResponse { - FeatureDetail feature = 1; - feast.specs.FeatureSpec rawSpec = 2; - } - - message ListFeaturesResponse { - repeated FeatureDetail features = 1; - } - - // Expanded feature group spec - message FeatureGroupDetail { - feast.specs.FeatureGroupSpec spec = 1; - google.protobuf.Timestamp lastUpdated = 2; - } - - message GetFeatureGroupRequest { - string id = 1; - } - - message GetFeatureGroupResponse { - FeatureGroupDetail featureGroup = 1; - } - - message ListFeatureGroupsResponse { - repeated FeatureGroupDetail featureGroups = 1; - } - - // Expanded storage spec - message StorageDetail { - feast.specs.StorageSpec spec = 1; - google.protobuf.Timestamp lastUpdated = 2; - } - - message GetStorageRequest { - string id = 1; - } - - message GetStorageResponse { - StorageDetail storage = 1; - } - - message ListStorageResponse { - repeated StorageDetail storage = 1; - } - -} diff --git a/ingestion/src/main/proto/feast/serving/Serving.proto b/ingestion/src/main/proto/feast/serving/Serving.proto deleted file mode 100644 index 1e02362650..0000000000 --- a/ingestion/src/main/proto/feast/serving/Serving.proto +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.serving; - -import "google/protobuf/timestamp.proto"; -import "feast/types/Value.proto"; - -option java_package = "feast.serving"; -option java_outer_classname = "ServingAPIProto"; -option go_package = "feast/go-feast-proto/feast/serving"; - -service ServingAPI { - // Query features from Feast - rpc QueryFeatures (QueryFeatures.Request) returns (QueryFeatures.Response) {}; -} - -message QueryFeatures { - message Request { - // e.g. "driver", "customer", "city". - string entityName = 1; - // List of entity ID. - repeated string entityId = 2; - // List of request details, contains: featureId, type of query, and limit. - repeated RequestDetail requestDetails = 3; - // Filter specifying only to retrieve features having timestamp within this range. - TimestampRange timestampRange = 4; - } - - message Response { - // e.g. "driver", "customer", "city". - string entityName = 1; - // map of entity ID and its entity's properties. - map entities = 2; - } -} - -message RequestDetail { - // feature ID to be included in the query. - // feature ID is in the form of [entity_name].[granularity].[feature_name] - // e.g: "driver.day.total_accepted_booking" - // all requested feature ID shall have same entity name. - string featureId = 1; - // request type either LAST or LIST. - // LAST : return only the latest value based on timestamp. - // LIST : return list of historical data sorted by timestamp. - RequestType type = 2; - // only applicable to LIST. - // length of the returned list <= limit. - // default = 0 - int32 limit = 3; -} - -enum RequestType { - // LAST : return only the latest value based on timestamp. (default) - LAST = 0; - // LIST : return list of historical data sorted by timestamp. - LIST = 1; -} - -// range of timestamp for querying -// valid timestamp range is having start <= end -message TimestampRange { - // start time of the range query. - google.protobuf.Timestamp start = 1; - // end time of the range query. - google.protobuf.Timestamp end = 2; -} - -message Entity { - // map of feature ID and its feature value. - map features = 1; -} - -message FeatureValueList { - // list of feature value - // if "type" in "requestDetail" is "LAST", then the length will always be 1. - // if "type" in "requestDetail" is "LIST", then the length is <= "limit". - feast.types.ValueList valueList = 1; - // list of timestamp of the value. - // the i-th timestamps correspond to the i-th value. - feast.types.TimestampList timestampList = 2; -} diff --git a/ingestion/src/main/proto/feast/specs/EntitySpec.proto b/ingestion/src/main/proto/feast/specs/EntitySpec.proto deleted file mode 100644 index 9b9cf2d87d..0000000000 --- a/ingestion/src/main/proto/feast/specs/EntitySpec.proto +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.specs; - -option java_package = "feast.specs"; -option java_outer_classname = "EntitySpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; - -message EntitySpec { - string name = 1; - string description = 2; - repeated string tags = 3; -} diff --git a/ingestion/src/main/proto/feast/specs/FeatureGroupSpec.proto b/ingestion/src/main/proto/feast/specs/FeatureGroupSpec.proto deleted file mode 100644 index e8b8abe94b..0000000000 --- a/ingestion/src/main/proto/feast/specs/FeatureGroupSpec.proto +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "feast/specs/FeatureSpec.proto"; - -package feast.specs; - -option java_package = "feast.specs"; -option java_outer_classname = "FeatureGroupSpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; - -message FeatureGroupSpec { - string id = 1; - repeated string tags = 2; - feast.specs.DataStores dataStores = 3; -} diff --git a/ingestion/src/main/proto/feast/specs/FeatureSpec.proto b/ingestion/src/main/proto/feast/specs/FeatureSpec.proto deleted file mode 100644 index 970af40597..0000000000 --- a/ingestion/src/main/proto/feast/specs/FeatureSpec.proto +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "feast/specs/EntitySpec.proto"; -import "feast/specs/StorageSpec.proto"; -import "feast/types/Granularity.proto"; -import "feast/types/Value.proto"; - -package feast.specs; - -option java_package = "feast.specs"; -option java_outer_classname = "FeatureSpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; - -message FeatureSpec { - string id = 1; - string name = 2; - string owner = 3; - string description = 4; - string uri = 5; - feast.types.Granularity.Enum granularity = 6; - feast.types.ValueType.Enum valueType = 7; - string entity = 8; - string group = 9; - repeated string tags = 10; - map options = 11; - DataStores dataStores = 12; -} - -message DataStores { - DataStore serving = 1; - DataStore warehouse = 2; -} - -message DataStore { - string id = 1; - map options = 2; -} diff --git a/ingestion/src/main/proto/feast/specs/ImportSpec.proto b/ingestion/src/main/proto/feast/specs/ImportSpec.proto deleted file mode 100644 index 6f81a4bbec..0000000000 --- a/ingestion/src/main/proto/feast/specs/ImportSpec.proto +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.specs; - -option java_package = "feast.specs"; -option java_outer_classname = "ImportSpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; - -import "feast/types/Value.proto"; -import "google/protobuf/timestamp.proto"; - -message ImportSpec { - // type should define what sort of store it is - // pubsub: topic, subscription (already a featureRow) - // kafka: ? (already a featureRow) - // file: csv, parquet, json - // bigquery: table, query - string type = 1; - - map options = 2; - - // You should probably only set one of these, but if you set both, they concatenate - repeated string entities = 3; - - Schema schema = 4; // this is optional depending on the source -} - -message Schema { - repeated Field fields = 1; - oneof timestamp { // the event timestamp to set per row. - string timestampColumn = 5; - google.protobuf.Timestamp timestampValue = 6; - } - string entityIdColumn = 7; -} - -message Field { - string name = 1; - string featureId = 2; // set this if this is a feature -} diff --git a/ingestion/src/main/proto/feast/specs/StorageSpec.proto b/ingestion/src/main/proto/feast/specs/StorageSpec.proto deleted file mode 100644 index 06ad0ceb0c..0000000000 --- a/ingestion/src/main/proto/feast/specs/StorageSpec.proto +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.specs; - -option java_package = "feast.specs"; -option java_outer_classname = "StorageSpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; - -message StorageSpec { - // unique identifier for this instance - string id = 1; - - // type should define what sort of store it is - // e.g. redis, bigquery, etc - string type = 2; - - // options contain (but are not restricted to) options like - // connection information. - map options = 3; -} diff --git a/ingestion/src/main/proto/feast/storage/BigTable.proto b/ingestion/src/main/proto/feast/storage/BigTable.proto deleted file mode 100644 index 110258cb04..0000000000 --- a/ingestion/src/main/proto/feast/storage/BigTable.proto +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "feast/types/Value.proto"; - -package feast.storage; - -option java_outer_classname = "BigTableProto"; -option java_package = "feast.storage"; -option go_package = "feast/go-feast-proto/feast/storage"; - -message BigTableRowKey { - // This should be the first 7 characters of a sha1 of the entityKey proto encoded - string sha1Prefix = 1; - string entityKey = 2; - // This should be String.valueOf(int64.MAX_VALUE - roundToEntityGranularity(eventTimestamp)) - string reversedMillis = 3; -} diff --git a/ingestion/src/main/proto/feast/storage/Redis.proto b/ingestion/src/main/proto/feast/storage/Redis.proto deleted file mode 100644 index 4bad4cdc01..0000000000 --- a/ingestion/src/main/proto/feast/storage/Redis.proto +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; -import "google/protobuf/timestamp.proto"; - -import "feast/types/Value.proto"; - -package feast.storage; - -option java_outer_classname = "RedisProto"; -option java_package = "feast.storage"; -option go_package = "feast/go-feast-proto/feast/storage"; - -message RedisBucketKey { - // Field number 1 is reserved for a future distributing hash if needed - // (for when redis is clustered). - - // Entity key from the FeatureRow - string entityKey = 2; - - /** - * This should be the first 7 characters of a sha1 of the featureId - * This is just to save storage space as it's kept in memory. - */ - string featureIdSha1Prefix = 3; - - /** - * This groups a feature's values (for different eventTimestamps), - * into buckets so many can be retrieved together. - * - * See FeatureRowToRedisMutationDoFn. - * bucketId = roundedToGranularity(eventTimestamp).seconds / bucketSize.seconds - */ - fixed64 bucketId = 4; -} - -/** - * Because in redis features are stored as a key per feature not per - * feature row, we need the event timestamp in the value. - */ -message RedisBucketValue { - feast.types.Value value = 1; - google.protobuf.Timestamp eventTimestamp = 2; -} - - -/** - * This allows us to group multiple bucket values together in a - * single list to make it easier to keep sets together - */ -message RedisBucketValueList { - repeated RedisBucketValue values = 1; -} diff --git a/ingestion/src/main/proto/feast/types/Feature.proto b/ingestion/src/main/proto/feast/types/Feature.proto deleted file mode 100644 index 10c3ec92dc..0000000000 --- a/ingestion/src/main/proto/feast/types/Feature.proto +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "google/protobuf/timestamp.proto"; -import "feast/types/Value.proto"; - -package feast.types; - -option java_package = "feast.types"; -option java_outer_classname = "FeatureProto"; -option go_package = "feast/go-feast-proto/feast/types"; - -message Feature { - string id = 1; - Value value = 2; -} diff --git a/ingestion/src/main/proto/feast/types/FeatureRow.proto b/ingestion/src/main/proto/feast/types/FeatureRow.proto deleted file mode 100644 index 8756faf83e..0000000000 --- a/ingestion/src/main/proto/feast/types/FeatureRow.proto +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "google/protobuf/timestamp.proto"; -import "feast/types/Feature.proto"; -import "feast/types/Granularity.proto"; -import "feast/types/Value.proto"; - -package feast.types; - -option java_package = "feast.types"; -option java_outer_classname = "FeatureRowProto"; -option go_package = "feast/go-feast-proto/feast/types"; - - -message FeatureRow { - string entityKey = 1; - repeated Feature features = 2; - google.protobuf.Timestamp eventTimestamp = 3; - string entityName = 4; - Granularity.Enum granularity = 5; -} diff --git a/ingestion/src/main/proto/feast/types/FeatureRowExtended.proto b/ingestion/src/main/proto/feast/types/FeatureRowExtended.proto deleted file mode 100644 index 258d7f9029..0000000000 --- a/ingestion/src/main/proto/feast/types/FeatureRowExtended.proto +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "google/protobuf/timestamp.proto"; -import "feast/types/FeatureRow.proto"; - -package feast.types; - -option java_package = "feast.types"; -option java_outer_classname = "FeatureRowExtendedProto"; -option go_package = "feast/go-feast-proto/feast/types"; - -message Error { - string cause = 1; // exception class name - string transform = 2; // name of transform where the error occurred - string message = 3; - string stackTrace = 4; -} - -message Attempt { - int32 attempts = 1; - Error error = 2; -} - -message FeatureRowExtended { - FeatureRow row = 1; - Attempt lastAttempt = 2; - google.protobuf.Timestamp firstSeen = 3; -} diff --git a/ingestion/src/main/proto/feast/types/Granularity.proto b/ingestion/src/main/proto/feast/types/Granularity.proto deleted file mode 100644 index 5c3403898a..0000000000 --- a/ingestion/src/main/proto/feast/types/Granularity.proto +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.types; - -option java_package = "feast.types"; -option java_outer_classname = "GranularityProto"; -option go_package = "feast/go-feast-proto/feast/types"; - -message Granularity { - enum Enum { - NONE = 0; - DAY = 1; - HOUR = 2; - MINUTE = 3; - SECOND = 4; - } -} diff --git a/ingestion/src/main/proto/feast/types/Value.proto b/ingestion/src/main/proto/feast/types/Value.proto deleted file mode 100644 index 6fbe272eaf..0000000000 --- a/ingestion/src/main/proto/feast/types/Value.proto +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "google/protobuf/timestamp.proto"; - -package feast.types; - -option java_package = "feast.types"; -option java_outer_classname = "ValueProto"; -option go_package = "feast/go-feast-proto/feast/types"; - -message ValueType { - enum Enum { - UNKNOWN = 0; - BYTES = 1; - STRING = 2; - INT32 = 3; - INT64 = 4; - DOUBLE = 5; - FLOAT = 6; - BOOL = 7; - TIMESTAMP = 8; - } -} - -message Value { - // ValueType is referenced by the metadata types, FeatureInfo and EntityInfo. - // The enum values do not have to match the oneof val field ids, but they should. - - oneof val { - bytes bytesVal = 1; - string stringVal = 2; - int32 int32Val = 3; - int64 int64Val = 4; - double doubleVal = 5; - float floatVal = 6; - bool boolVal = 7; - google.protobuf.Timestamp timestampVal = 8; - } -} - -message ValueList { - oneof valueList { - BytesList bytesList = 1; - StringList stringList = 2; - Int32List int32List = 3; - Int64List int64List = 4; - DoubleList doubleList = 5; - FloatList floatList = 6; - BoolList boolList = 7; - TimestampList timestampList = 8; - } -} - -message BytesList { - repeated bytes val = 1; -} - -message StringList { - repeated string val = 1; -} - -message Int32List { - repeated int32 val = 1; -} - -message Int64List { - repeated int64 val = 1; -} - -message DoubleList { - repeated double val = 1; -} - -message FloatList { - repeated float val = 1; -} - -message BoolList { - repeated bool val = 1; -} - -message TimestampList { - repeated google.protobuf.Timestamp val = 1; -} diff --git a/ingestion/src/main/proto/third_party/grpc/health/v1/HealthService.proto b/ingestion/src/main/proto/third_party/grpc/health/v1/HealthService.proto deleted file mode 100644 index c1cbd418db..0000000000 --- a/ingestion/src/main/proto/third_party/grpc/health/v1/HealthService.proto +++ /dev/null @@ -1,23 +0,0 @@ -syntax = "proto3"; - -package grpc.health.v1; - -option java_package = "io.grpc.health.v1"; -option java_outer_classname = "HealthProto"; - -message HealthCheckRequest { - string service = 1; -} - -message HealthCheckResponse { - enum ServingStatus { - UNKNOWN = 0; - SERVING = 1; - NOT_SERVING = 2; - } - ServingStatus status = 1; -} - -service Health { - rpc Check(HealthCheckRequest) returns (HealthCheckResponse); -} \ No newline at end of file diff --git a/protos/feast/core/CoreService.proto b/protos/feast/core/CoreService.proto index 362b146b0b..446b2fd1bc 100644 --- a/protos/feast/core/CoreService.proto +++ b/protos/feast/core/CoreService.proto @@ -26,7 +26,7 @@ import "google/protobuf/empty.proto"; option java_package = "feast.core"; option java_outer_classname = "CoreServiceProto"; -option go_package = "feast/go-feast-proto/feast/core"; +option go_package = "github.com/gojektech/feast/go-feast-proto/feast/core"; service CoreService { /* diff --git a/protos/feast/core/JobService.proto b/protos/feast/core/JobService.proto index 3d5db25c40..297cbee563 100644 --- a/protos/feast/core/JobService.proto +++ b/protos/feast/core/JobService.proto @@ -24,7 +24,7 @@ import "google/protobuf/timestamp.proto"; option java_package = "feast.core"; option java_outer_classname = "JobServiceProto"; -option go_package = "feast/go-feast-proto/feast/core"; +option go_package = "github.com/gojektech/feast/go-feast-proto/feast/core"; service JobService { // Submit a job to feast to run. Returns the job id. diff --git a/protos/feast/core/UIService.proto b/protos/feast/core/UIService.proto index d5a31d9e45..cd714474e3 100644 --- a/protos/feast/core/UIService.proto +++ b/protos/feast/core/UIService.proto @@ -27,7 +27,7 @@ import "google/protobuf/timestamp.proto"; option java_package = "feast.core"; option java_outer_classname = "UIServiceProto"; -option go_package = "feast/go-feast-proto/feast/core"; +option go_package = "github.com/gojektech/feast/go-feast-proto/feast/core"; service UIService { /* diff --git a/protos/feast/serving/Serving.proto b/protos/feast/serving/Serving.proto index 1e02362650..9e313795f4 100644 --- a/protos/feast/serving/Serving.proto +++ b/protos/feast/serving/Serving.proto @@ -23,7 +23,7 @@ import "feast/types/Value.proto"; option java_package = "feast.serving"; option java_outer_classname = "ServingAPIProto"; -option go_package = "feast/go-feast-proto/feast/serving"; +option go_package = "github.com/gojektech/feast/go-feast-proto/feast/serving"; service ServingAPI { // Query features from Feast diff --git a/protos/feast/specs/EntitySpec.proto b/protos/feast/specs/EntitySpec.proto index 9b9cf2d87d..6828d69c79 100644 --- a/protos/feast/specs/EntitySpec.proto +++ b/protos/feast/specs/EntitySpec.proto @@ -20,7 +20,7 @@ package feast.specs; option java_package = "feast.specs"; option java_outer_classname = "EntitySpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; +option go_package = "github.com/gojektech/feast/go-feast-proto/feast/specs"; message EntitySpec { string name = 1; diff --git a/protos/feast/specs/FeatureGroupSpec.proto b/protos/feast/specs/FeatureGroupSpec.proto index e8b8abe94b..e5e0efbd3d 100644 --- a/protos/feast/specs/FeatureGroupSpec.proto +++ b/protos/feast/specs/FeatureGroupSpec.proto @@ -22,7 +22,7 @@ package feast.specs; option java_package = "feast.specs"; option java_outer_classname = "FeatureGroupSpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; +option go_package = "github.com/gojektech/feast/go-feast-proto/feast/specs"; message FeatureGroupSpec { string id = 1; diff --git a/protos/feast/specs/FeatureSpec.proto b/protos/feast/specs/FeatureSpec.proto index 970af40597..be7f9e7d19 100644 --- a/protos/feast/specs/FeatureSpec.proto +++ b/protos/feast/specs/FeatureSpec.proto @@ -25,7 +25,7 @@ package feast.specs; option java_package = "feast.specs"; option java_outer_classname = "FeatureSpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; +option go_package = "github.com/gojektech/feast/go-feast-proto/feast/specs"; message FeatureSpec { string id = 1; diff --git a/protos/feast/specs/ImportSpec.proto b/protos/feast/specs/ImportSpec.proto index 6f81a4bbec..b33035be41 100644 --- a/protos/feast/specs/ImportSpec.proto +++ b/protos/feast/specs/ImportSpec.proto @@ -20,7 +20,7 @@ package feast.specs; option java_package = "feast.specs"; option java_outer_classname = "ImportSpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; +option go_package = "github.com/gojektech/feast/go-feast-proto/feast/specs"; import "feast/types/Value.proto"; import "google/protobuf/timestamp.proto"; diff --git a/protos/feast/specs/StorageSpec.proto b/protos/feast/specs/StorageSpec.proto index 06ad0ceb0c..44129bb84e 100644 --- a/protos/feast/specs/StorageSpec.proto +++ b/protos/feast/specs/StorageSpec.proto @@ -20,7 +20,7 @@ package feast.specs; option java_package = "feast.specs"; option java_outer_classname = "StorageSpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; +option go_package = "github.com/gojektech/feast/go-feast-proto/feast/specs"; message StorageSpec { // unique identifier for this instance diff --git a/protos/feast/storage/BigTable.proto b/protos/feast/storage/BigTable.proto index 110258cb04..af6f8d819a 100644 --- a/protos/feast/storage/BigTable.proto +++ b/protos/feast/storage/BigTable.proto @@ -22,7 +22,7 @@ package feast.storage; option java_outer_classname = "BigTableProto"; option java_package = "feast.storage"; -option go_package = "feast/go-feast-proto/feast/storage"; +option go_package = "github.com/gojektech/feast/go-feast-proto/feast/storage"; message BigTableRowKey { // This should be the first 7 characters of a sha1 of the entityKey proto encoded diff --git a/protos/feast/storage/Redis.proto b/protos/feast/storage/Redis.proto index 4bad4cdc01..c44507a3c3 100644 --- a/protos/feast/storage/Redis.proto +++ b/protos/feast/storage/Redis.proto @@ -23,7 +23,7 @@ package feast.storage; option java_outer_classname = "RedisProto"; option java_package = "feast.storage"; -option go_package = "feast/go-feast-proto/feast/storage"; +option go_package = "github.com/gojektech/feast/go-feast-proto/feast/storage"; message RedisBucketKey { // Field number 1 is reserved for a future distributing hash if needed diff --git a/protos/feast/types/Feature.proto b/protos/feast/types/Feature.proto index 10c3ec92dc..9790944887 100644 --- a/protos/feast/types/Feature.proto +++ b/protos/feast/types/Feature.proto @@ -23,7 +23,7 @@ package feast.types; option java_package = "feast.types"; option java_outer_classname = "FeatureProto"; -option go_package = "feast/go-feast-proto/feast/types"; +option go_package = "github.com/gojektech/feast/go-feast-proto/feast/types"; message Feature { string id = 1; diff --git a/protos/feast/types/FeatureRow.proto b/protos/feast/types/FeatureRow.proto index 8756faf83e..033630dfe3 100644 --- a/protos/feast/types/FeatureRow.proto +++ b/protos/feast/types/FeatureRow.proto @@ -25,7 +25,7 @@ package feast.types; option java_package = "feast.types"; option java_outer_classname = "FeatureRowProto"; -option go_package = "feast/go-feast-proto/feast/types"; +option go_package = "github.com/gojektech/feast/go-feast-proto/feast/types"; message FeatureRow { diff --git a/protos/feast/types/FeatureRowExtended.proto b/protos/feast/types/FeatureRowExtended.proto index 258d7f9029..ac71ee97bf 100644 --- a/protos/feast/types/FeatureRowExtended.proto +++ b/protos/feast/types/FeatureRowExtended.proto @@ -23,7 +23,7 @@ package feast.types; option java_package = "feast.types"; option java_outer_classname = "FeatureRowExtendedProto"; -option go_package = "feast/go-feast-proto/feast/types"; +option go_package = "github.com/gojektech/feast/go-feast-proto/feast/types"; message Error { string cause = 1; // exception class name diff --git a/protos/feast/types/Granularity.proto b/protos/feast/types/Granularity.proto index 5c3403898a..aa5ef90207 100644 --- a/protos/feast/types/Granularity.proto +++ b/protos/feast/types/Granularity.proto @@ -20,7 +20,7 @@ package feast.types; option java_package = "feast.types"; option java_outer_classname = "GranularityProto"; -option go_package = "feast/go-feast-proto/feast/types"; +option go_package = "github.com/gojektech/feast/go-feast-proto/feast/types"; message Granularity { enum Enum { diff --git a/protos/feast/types/Value.proto b/protos/feast/types/Value.proto index 6fbe272eaf..b7142173ff 100644 --- a/protos/feast/types/Value.proto +++ b/protos/feast/types/Value.proto @@ -22,7 +22,7 @@ package feast.types; option java_package = "feast.types"; option java_outer_classname = "ValueProto"; -option go_package = "feast/go-feast-proto/feast/types"; +option go_package = "github.com/gojektech/feast/go-feast-proto/feast/types"; message ValueType { enum Enum { diff --git a/serving/src/main/proto b/serving/src/main/proto new file mode 120000 index 0000000000..21f63ff310 --- /dev/null +++ b/serving/src/main/proto @@ -0,0 +1 @@ +../../../protos \ No newline at end of file diff --git a/serving/src/main/proto/Makefile b/serving/src/main/proto/Makefile deleted file mode 100644 index 36f2e9759a..0000000000 --- a/serving/src/main/proto/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -.PHONY: go - -dirs = core jobs serving specs storage types - -gen-go: - @$(foreach dir,$(dirs),protoc -I/usr/local/include -I. --go_out=plugins=grpc:$$GOPATH/src feast/$(dir)/*.proto;) \ No newline at end of file diff --git a/serving/src/main/proto/README.md b/serving/src/main/proto/README.md deleted file mode 100644 index e1956ace64..0000000000 --- a/serving/src/main/proto/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Feast Protos - -## Overview - -Shared protobuf files across Feast components. diff --git a/serving/src/main/proto/feast/core/CoreService.proto b/serving/src/main/proto/feast/core/CoreService.proto deleted file mode 100644 index 362b146b0b..0000000000 --- a/serving/src/main/proto/feast/core/CoreService.proto +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.core; - -import "feast/specs/EntitySpec.proto"; -import "feast/specs/FeatureSpec.proto"; -import "feast/specs/FeatureGroupSpec.proto"; -import "feast/specs/StorageSpec.proto"; -import "google/protobuf/empty.proto"; - -option java_package = "feast.core"; -option java_outer_classname = "CoreServiceProto"; -option go_package = "feast/go-feast-proto/feast/core"; - -service CoreService { - /* - Get entities specified in request. - This process returns a list of entity specs. - */ - rpc GetEntities(CoreServiceTypes.GetEntitiesRequest) returns (CoreServiceTypes.GetEntitiesResponse){}; - - /* - Get all entities - This process returns a list of entity specs. - */ - rpc ListEntities(google.protobuf.Empty) returns (CoreServiceTypes.ListEntitiesResponse) {}; - - /* - Get features specified in request. - This process returns a list of feature specs. - */ - rpc GetFeatures(CoreServiceTypes.GetFeaturesRequest) returns (CoreServiceTypes.GetFeaturesResponse){}; - - /* - Get all features. - This process returns a list of entity specs. - */ - rpc ListFeatures(google.protobuf.Empty) returns (CoreServiceTypes.ListFeaturesResponse) {}; - - /* - Get storage specs specified in request. - This process returns a list of storage specs. - */ - rpc GetStorage(CoreServiceTypes.GetStorageRequest) returns (CoreServiceTypes.GetStorageResponse){}; - - /* - Get all storage specs. - This process returns a list of storage specs. - */ - rpc ListStorage(google.protobuf.Empty) returns (CoreServiceTypes.ListStorageResponse) {}; - - /* - Register a new feature to the metadata store. - If any validation errors occur, only the first encountered error will be returned. - */ - rpc RegisterFeature(feast.specs.FeatureSpec) returns (CoreServiceTypes.RegisterFeatureResponse) {}; - - /* - Register a new feature group to the metadata store. - If any validation errors occur, only the first encountered error will be returned. - */ - rpc RegisterFeatureGroup(feast.specs.FeatureGroupSpec) returns (CoreServiceTypes.RegisterFeatureGroupResponse) {}; - - /* - Register a new entity to the metadata store. - If any validation errors occur, only the first encountered error will be returned. - */ - rpc RegisterEntity(feast.specs.EntitySpec) returns (CoreServiceTypes.RegisterEntityResponse) {}; - - /* - Register a new storage spec to the metadata store. - If any validation errors occur, only the first encountered error will be returned. - */ - rpc RegisterStorage(feast.specs.StorageSpec) returns (CoreServiceTypes.RegisterStorageResponse) {}; -} - -message CoreServiceTypes { - message GetEntitiesRequest { - repeated string ids = 1; - } - - message GetEntitiesResponse { - repeated feast.specs.EntitySpec entities = 1; - } - - message ListEntitiesResponse { - repeated feast.specs.EntitySpec entities = 1; - } - - // Feature retrieval - message GetFeaturesRequest { - repeated string ids = 1; - } - - message GetFeaturesResponse { - repeated feast.specs.FeatureSpec features = 1; - } - - message ListFeaturesResponse { - repeated feast.specs.FeatureSpec features = 1; - } - - // Storage spec retrieval - message GetStorageRequest { - repeated string ids = 1; - } - - message GetStorageResponse { - repeated feast.specs.StorageSpec storageSpecs = 1; - } - - message ListStorageResponse { - repeated feast.specs.StorageSpec storageSpecs = 1; - } - - // Entity registration response - message RegisterEntityResponse { - string entityName = 1; - } - - // Feature registration response - message RegisterFeatureResponse { - string featureId = 1; - } - - // Feature group registration response - message RegisterFeatureGroupResponse { - string featureGroupId = 1; - } - - // Storage registration response - message RegisterStorageResponse { - string storageId = 1; - } -} diff --git a/serving/src/main/proto/feast/core/JobService.proto b/serving/src/main/proto/feast/core/JobService.proto deleted file mode 100644 index 3d5db25c40..0000000000 --- a/serving/src/main/proto/feast/core/JobService.proto +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.core; - -import "feast/specs/ImportSpec.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/timestamp.proto"; - -option java_package = "feast.core"; -option java_outer_classname = "JobServiceProto"; -option go_package = "feast/go-feast-proto/feast/core"; - -service JobService { - // Submit a job to feast to run. Returns the job id. - rpc SubmitJob (JobServiceTypes.SubmitImportJobRequest) returns (JobServiceTypes.SubmitImportJobResponse); - - // List all jobs submitted to feast. - rpc ListJobs (google.protobuf.Empty) returns (JobServiceTypes.ListJobsResponse); - - // Get Job with ID - rpc GetJob (JobServiceTypes.GetJobRequest) returns (JobServiceTypes.GetJobResponse); - - // Abort job with given ID - rpc AbortJob(JobServiceTypes.AbortJobRequest) returns (JobServiceTypes.AbortJobResponse); -} - -message JobServiceTypes { - message SubmitImportJobRequest { - feast.specs.ImportSpec importSpec = 1; - string name = 2; // optional - } - - message SubmitImportJobResponse { - string jobId = 1; - } - - message ListJobsResponse { - repeated JobDetail jobs = 1; - } - - message GetJobRequest { - string id = 1; - } - - message GetJobResponse { - JobDetail job = 1; - } - - message AbortJobRequest { - string id = 1; - } - - message AbortJobResponse { - string id = 1; - } - - // Expanded view of a given job. Returns job information, as well - // as latest metrics. - message JobDetail { - string id = 1; - string extId = 2; - string type = 3; - string runner = 4; - string status = 5; - repeated string entities = 6; - repeated string features = 7; - map metrics = 8; - google.protobuf.Timestamp lastUpdated = 9; - google.protobuf.Timestamp created = 10; - } -} diff --git a/serving/src/main/proto/feast/core/UIService.proto b/serving/src/main/proto/feast/core/UIService.proto deleted file mode 100644 index d5a31d9e45..0000000000 --- a/serving/src/main/proto/feast/core/UIService.proto +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.core; - -import "feast/specs/EntitySpec.proto"; -import "feast/specs/FeatureSpec.proto"; -import "feast/specs/FeatureGroupSpec.proto"; -import "feast/specs/StorageSpec.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/timestamp.proto"; - -option java_package = "feast.core"; -option java_outer_classname = "UIServiceProto"; -option go_package = "feast/go-feast-proto/feast/core"; - -service UIService { - /* - Get entity specified in request. - This process returns a single of entity specs. - */ - rpc GetEntity(UIServiceTypes.GetEntityRequest) returns (UIServiceTypes.GetEntityResponse) {}; - - /* - Get all entities. - This process returns a list of entity specs. - */ - rpc ListEntities(google.protobuf.Empty) returns (UIServiceTypes.ListEntitiesResponse) {}; - - /* - Get feature specified in request. - */ - rpc GetFeature(UIServiceTypes.GetFeatureRequest) returns (UIServiceTypes.GetFeatureResponse){}; - - /* - Get all features. - This process returns a list of feature specs. - */ - rpc ListFeatures(google.protobuf.Empty) returns (UIServiceTypes.ListFeaturesResponse){}; - - /* - Get feature group specified in request. - */ - rpc GetFeatureGroup(UIServiceTypes.GetFeatureGroupRequest) returns (UIServiceTypes.GetFeatureGroupResponse){}; - - /* - Get all feature groups. - This process returns a list of feature group specs. - */ - rpc ListFeatureGroups(google.protobuf.Empty) returns (UIServiceTypes.ListFeatureGroupsResponse){}; - - /* - Get storage spec specified in request. - - */ - rpc GetStorage(UIServiceTypes.GetStorageRequest) returns (UIServiceTypes.GetStorageResponse){}; - - /* - Get all storage specs. - This process returns a list of storage specs. - */ - rpc ListStorage(google.protobuf.Empty) returns (UIServiceTypes.ListStorageResponse){}; -} - -message UIServiceTypes { - // Expanded entity spec - message EntityDetail { - feast.specs.EntitySpec spec = 1; - repeated string jobs = 2; - google.protobuf.Timestamp lastUpdated = 3; - } - - message GetEntityRequest { - string id = 1; - } - - message GetEntityResponse { - EntityDetail entity = 1; - } - - message ListEntitiesResponse { - repeated EntityDetail entities = 1; - } - - // Expanded feature spec - message FeatureDetail { - feast.specs.FeatureSpec spec = 1; - string bigqueryView = 2; - bool enabled = 3; - repeated string jobs = 4; - google.protobuf.Timestamp lastUpdated = 5; - google.protobuf.Timestamp created = 6; - } - - message GetFeatureRequest { - string id = 1; - } - - message GetFeatureResponse { - FeatureDetail feature = 1; - feast.specs.FeatureSpec rawSpec = 2; - } - - message ListFeaturesResponse { - repeated FeatureDetail features = 1; - } - - // Expanded feature group spec - message FeatureGroupDetail { - feast.specs.FeatureGroupSpec spec = 1; - google.protobuf.Timestamp lastUpdated = 2; - } - - message GetFeatureGroupRequest { - string id = 1; - } - - message GetFeatureGroupResponse { - FeatureGroupDetail featureGroup = 1; - } - - message ListFeatureGroupsResponse { - repeated FeatureGroupDetail featureGroups = 1; - } - - // Expanded storage spec - message StorageDetail { - feast.specs.StorageSpec spec = 1; - google.protobuf.Timestamp lastUpdated = 2; - } - - message GetStorageRequest { - string id = 1; - } - - message GetStorageResponse { - StorageDetail storage = 1; - } - - message ListStorageResponse { - repeated StorageDetail storage = 1; - } - -} diff --git a/serving/src/main/proto/feast/serving/Serving.proto b/serving/src/main/proto/feast/serving/Serving.proto deleted file mode 100644 index 1e02362650..0000000000 --- a/serving/src/main/proto/feast/serving/Serving.proto +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.serving; - -import "google/protobuf/timestamp.proto"; -import "feast/types/Value.proto"; - -option java_package = "feast.serving"; -option java_outer_classname = "ServingAPIProto"; -option go_package = "feast/go-feast-proto/feast/serving"; - -service ServingAPI { - // Query features from Feast - rpc QueryFeatures (QueryFeatures.Request) returns (QueryFeatures.Response) {}; -} - -message QueryFeatures { - message Request { - // e.g. "driver", "customer", "city". - string entityName = 1; - // List of entity ID. - repeated string entityId = 2; - // List of request details, contains: featureId, type of query, and limit. - repeated RequestDetail requestDetails = 3; - // Filter specifying only to retrieve features having timestamp within this range. - TimestampRange timestampRange = 4; - } - - message Response { - // e.g. "driver", "customer", "city". - string entityName = 1; - // map of entity ID and its entity's properties. - map entities = 2; - } -} - -message RequestDetail { - // feature ID to be included in the query. - // feature ID is in the form of [entity_name].[granularity].[feature_name] - // e.g: "driver.day.total_accepted_booking" - // all requested feature ID shall have same entity name. - string featureId = 1; - // request type either LAST or LIST. - // LAST : return only the latest value based on timestamp. - // LIST : return list of historical data sorted by timestamp. - RequestType type = 2; - // only applicable to LIST. - // length of the returned list <= limit. - // default = 0 - int32 limit = 3; -} - -enum RequestType { - // LAST : return only the latest value based on timestamp. (default) - LAST = 0; - // LIST : return list of historical data sorted by timestamp. - LIST = 1; -} - -// range of timestamp for querying -// valid timestamp range is having start <= end -message TimestampRange { - // start time of the range query. - google.protobuf.Timestamp start = 1; - // end time of the range query. - google.protobuf.Timestamp end = 2; -} - -message Entity { - // map of feature ID and its feature value. - map features = 1; -} - -message FeatureValueList { - // list of feature value - // if "type" in "requestDetail" is "LAST", then the length will always be 1. - // if "type" in "requestDetail" is "LIST", then the length is <= "limit". - feast.types.ValueList valueList = 1; - // list of timestamp of the value. - // the i-th timestamps correspond to the i-th value. - feast.types.TimestampList timestampList = 2; -} diff --git a/serving/src/main/proto/feast/specs/EntitySpec.proto b/serving/src/main/proto/feast/specs/EntitySpec.proto deleted file mode 100644 index 9b9cf2d87d..0000000000 --- a/serving/src/main/proto/feast/specs/EntitySpec.proto +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.specs; - -option java_package = "feast.specs"; -option java_outer_classname = "EntitySpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; - -message EntitySpec { - string name = 1; - string description = 2; - repeated string tags = 3; -} diff --git a/serving/src/main/proto/feast/specs/FeatureGroupSpec.proto b/serving/src/main/proto/feast/specs/FeatureGroupSpec.proto deleted file mode 100644 index e8b8abe94b..0000000000 --- a/serving/src/main/proto/feast/specs/FeatureGroupSpec.proto +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "feast/specs/FeatureSpec.proto"; - -package feast.specs; - -option java_package = "feast.specs"; -option java_outer_classname = "FeatureGroupSpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; - -message FeatureGroupSpec { - string id = 1; - repeated string tags = 2; - feast.specs.DataStores dataStores = 3; -} diff --git a/serving/src/main/proto/feast/specs/FeatureSpec.proto b/serving/src/main/proto/feast/specs/FeatureSpec.proto deleted file mode 100644 index 970af40597..0000000000 --- a/serving/src/main/proto/feast/specs/FeatureSpec.proto +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "feast/specs/EntitySpec.proto"; -import "feast/specs/StorageSpec.proto"; -import "feast/types/Granularity.proto"; -import "feast/types/Value.proto"; - -package feast.specs; - -option java_package = "feast.specs"; -option java_outer_classname = "FeatureSpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; - -message FeatureSpec { - string id = 1; - string name = 2; - string owner = 3; - string description = 4; - string uri = 5; - feast.types.Granularity.Enum granularity = 6; - feast.types.ValueType.Enum valueType = 7; - string entity = 8; - string group = 9; - repeated string tags = 10; - map options = 11; - DataStores dataStores = 12; -} - -message DataStores { - DataStore serving = 1; - DataStore warehouse = 2; -} - -message DataStore { - string id = 1; - map options = 2; -} diff --git a/serving/src/main/proto/feast/specs/ImportSpec.proto b/serving/src/main/proto/feast/specs/ImportSpec.proto deleted file mode 100644 index 6f81a4bbec..0000000000 --- a/serving/src/main/proto/feast/specs/ImportSpec.proto +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.specs; - -option java_package = "feast.specs"; -option java_outer_classname = "ImportSpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; - -import "feast/types/Value.proto"; -import "google/protobuf/timestamp.proto"; - -message ImportSpec { - // type should define what sort of store it is - // pubsub: topic, subscription (already a featureRow) - // kafka: ? (already a featureRow) - // file: csv, parquet, json - // bigquery: table, query - string type = 1; - - map options = 2; - - // You should probably only set one of these, but if you set both, they concatenate - repeated string entities = 3; - - Schema schema = 4; // this is optional depending on the source -} - -message Schema { - repeated Field fields = 1; - oneof timestamp { // the event timestamp to set per row. - string timestampColumn = 5; - google.protobuf.Timestamp timestampValue = 6; - } - string entityIdColumn = 7; -} - -message Field { - string name = 1; - string featureId = 2; // set this if this is a feature -} diff --git a/serving/src/main/proto/feast/specs/StorageSpec.proto b/serving/src/main/proto/feast/specs/StorageSpec.proto deleted file mode 100644 index 06ad0ceb0c..0000000000 --- a/serving/src/main/proto/feast/specs/StorageSpec.proto +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.specs; - -option java_package = "feast.specs"; -option java_outer_classname = "StorageSpecProto"; -option go_package = "feast/go-feast-proto/feast/specs"; - -message StorageSpec { - // unique identifier for this instance - string id = 1; - - // type should define what sort of store it is - // e.g. redis, bigquery, etc - string type = 2; - - // options contain (but are not restricted to) options like - // connection information. - map options = 3; -} diff --git a/serving/src/main/proto/feast/storage/BigTable.proto b/serving/src/main/proto/feast/storage/BigTable.proto deleted file mode 100644 index 110258cb04..0000000000 --- a/serving/src/main/proto/feast/storage/BigTable.proto +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "feast/types/Value.proto"; - -package feast.storage; - -option java_outer_classname = "BigTableProto"; -option java_package = "feast.storage"; -option go_package = "feast/go-feast-proto/feast/storage"; - -message BigTableRowKey { - // This should be the first 7 characters of a sha1 of the entityKey proto encoded - string sha1Prefix = 1; - string entityKey = 2; - // This should be String.valueOf(int64.MAX_VALUE - roundToEntityGranularity(eventTimestamp)) - string reversedMillis = 3; -} diff --git a/serving/src/main/proto/feast/storage/Redis.proto b/serving/src/main/proto/feast/storage/Redis.proto deleted file mode 100644 index 4bad4cdc01..0000000000 --- a/serving/src/main/proto/feast/storage/Redis.proto +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; -import "google/protobuf/timestamp.proto"; - -import "feast/types/Value.proto"; - -package feast.storage; - -option java_outer_classname = "RedisProto"; -option java_package = "feast.storage"; -option go_package = "feast/go-feast-proto/feast/storage"; - -message RedisBucketKey { - // Field number 1 is reserved for a future distributing hash if needed - // (for when redis is clustered). - - // Entity key from the FeatureRow - string entityKey = 2; - - /** - * This should be the first 7 characters of a sha1 of the featureId - * This is just to save storage space as it's kept in memory. - */ - string featureIdSha1Prefix = 3; - - /** - * This groups a feature's values (for different eventTimestamps), - * into buckets so many can be retrieved together. - * - * See FeatureRowToRedisMutationDoFn. - * bucketId = roundedToGranularity(eventTimestamp).seconds / bucketSize.seconds - */ - fixed64 bucketId = 4; -} - -/** - * Because in redis features are stored as a key per feature not per - * feature row, we need the event timestamp in the value. - */ -message RedisBucketValue { - feast.types.Value value = 1; - google.protobuf.Timestamp eventTimestamp = 2; -} - - -/** - * This allows us to group multiple bucket values together in a - * single list to make it easier to keep sets together - */ -message RedisBucketValueList { - repeated RedisBucketValue values = 1; -} diff --git a/serving/src/main/proto/feast/types/Feature.proto b/serving/src/main/proto/feast/types/Feature.proto deleted file mode 100644 index 10c3ec92dc..0000000000 --- a/serving/src/main/proto/feast/types/Feature.proto +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "google/protobuf/timestamp.proto"; -import "feast/types/Value.proto"; - -package feast.types; - -option java_package = "feast.types"; -option java_outer_classname = "FeatureProto"; -option go_package = "feast/go-feast-proto/feast/types"; - -message Feature { - string id = 1; - Value value = 2; -} diff --git a/serving/src/main/proto/feast/types/FeatureRow.proto b/serving/src/main/proto/feast/types/FeatureRow.proto deleted file mode 100644 index 8756faf83e..0000000000 --- a/serving/src/main/proto/feast/types/FeatureRow.proto +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "google/protobuf/timestamp.proto"; -import "feast/types/Feature.proto"; -import "feast/types/Granularity.proto"; -import "feast/types/Value.proto"; - -package feast.types; - -option java_package = "feast.types"; -option java_outer_classname = "FeatureRowProto"; -option go_package = "feast/go-feast-proto/feast/types"; - - -message FeatureRow { - string entityKey = 1; - repeated Feature features = 2; - google.protobuf.Timestamp eventTimestamp = 3; - string entityName = 4; - Granularity.Enum granularity = 5; -} diff --git a/serving/src/main/proto/feast/types/FeatureRowExtended.proto b/serving/src/main/proto/feast/types/FeatureRowExtended.proto deleted file mode 100644 index 258d7f9029..0000000000 --- a/serving/src/main/proto/feast/types/FeatureRowExtended.proto +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "google/protobuf/timestamp.proto"; -import "feast/types/FeatureRow.proto"; - -package feast.types; - -option java_package = "feast.types"; -option java_outer_classname = "FeatureRowExtendedProto"; -option go_package = "feast/go-feast-proto/feast/types"; - -message Error { - string cause = 1; // exception class name - string transform = 2; // name of transform where the error occurred - string message = 3; - string stackTrace = 4; -} - -message Attempt { - int32 attempts = 1; - Error error = 2; -} - -message FeatureRowExtended { - FeatureRow row = 1; - Attempt lastAttempt = 2; - google.protobuf.Timestamp firstSeen = 3; -} diff --git a/serving/src/main/proto/feast/types/Granularity.proto b/serving/src/main/proto/feast/types/Granularity.proto deleted file mode 100644 index 5c3403898a..0000000000 --- a/serving/src/main/proto/feast/types/Granularity.proto +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -package feast.types; - -option java_package = "feast.types"; -option java_outer_classname = "GranularityProto"; -option go_package = "feast/go-feast-proto/feast/types"; - -message Granularity { - enum Enum { - NONE = 0; - DAY = 1; - HOUR = 2; - MINUTE = 3; - SECOND = 4; - } -} diff --git a/serving/src/main/proto/feast/types/Value.proto b/serving/src/main/proto/feast/types/Value.proto deleted file mode 100644 index 6fbe272eaf..0000000000 --- a/serving/src/main/proto/feast/types/Value.proto +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright 2018 The Feast Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -syntax = "proto3"; - -import "google/protobuf/timestamp.proto"; - -package feast.types; - -option java_package = "feast.types"; -option java_outer_classname = "ValueProto"; -option go_package = "feast/go-feast-proto/feast/types"; - -message ValueType { - enum Enum { - UNKNOWN = 0; - BYTES = 1; - STRING = 2; - INT32 = 3; - INT64 = 4; - DOUBLE = 5; - FLOAT = 6; - BOOL = 7; - TIMESTAMP = 8; - } -} - -message Value { - // ValueType is referenced by the metadata types, FeatureInfo and EntityInfo. - // The enum values do not have to match the oneof val field ids, but they should. - - oneof val { - bytes bytesVal = 1; - string stringVal = 2; - int32 int32Val = 3; - int64 int64Val = 4; - double doubleVal = 5; - float floatVal = 6; - bool boolVal = 7; - google.protobuf.Timestamp timestampVal = 8; - } -} - -message ValueList { - oneof valueList { - BytesList bytesList = 1; - StringList stringList = 2; - Int32List int32List = 3; - Int64List int64List = 4; - DoubleList doubleList = 5; - FloatList floatList = 6; - BoolList boolList = 7; - TimestampList timestampList = 8; - } -} - -message BytesList { - repeated bytes val = 1; -} - -message StringList { - repeated string val = 1; -} - -message Int32List { - repeated int32 val = 1; -} - -message Int64List { - repeated int64 val = 1; -} - -message DoubleList { - repeated double val = 1; -} - -message FloatList { - repeated float val = 1; -} - -message BoolList { - repeated bool val = 1; -} - -message TimestampList { - repeated google.protobuf.Timestamp val = 1; -} diff --git a/serving/src/main/proto/third_party/grpc/health/v1/HealthService.proto b/serving/src/main/proto/third_party/grpc/health/v1/HealthService.proto deleted file mode 100644 index c1cbd418db..0000000000 --- a/serving/src/main/proto/third_party/grpc/health/v1/HealthService.proto +++ /dev/null @@ -1,23 +0,0 @@ -syntax = "proto3"; - -package grpc.health.v1; - -option java_package = "io.grpc.health.v1"; -option java_outer_classname = "HealthProto"; - -message HealthCheckRequest { - string service = 1; -} - -message HealthCheckResponse { - enum ServingStatus { - UNKNOWN = 0; - SERVING = 1; - NOT_SERVING = 2; - } - ServingStatus status = 1; -} - -service Health { - rpc Check(HealthCheckRequest) returns (HealthCheckResponse); -} \ No newline at end of file