# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: tecton_proto/api/featureservice/feature_service.proto
"""Generated protocol buffer code."""
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from tecton_proto.api.featureservice import feature_service_request_pb2 as tecton__proto_dot_api_dot_featureservice_dot_feature__service__request__pb2
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
from protoc_gen_swagger.options import annotations_pb2 as protoc__gen__swagger_dot_options_dot_annotations__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='tecton_proto/api/featureservice/feature_service.proto',
  package='tecton_proto.api.feature_service',
  syntax='proto2',
  serialized_options=b'Z4github.com/tecton-ai/tecton_proto/api/featureservice\222A\226\003\022\354\002\n\022FeatureService API\022\264\002Tecton provides a low latency feature server that exposes HTTP endpoints to retrieve feature values and metadata from the online store. This is typically used during model predictions. The feature servers retrieve data from the online store and perform any additional aggregations and filtering as necessary.\"\013\n\tTecton AI*\r\n\013Proprietary2\0031.0*\001\0022\020application/json:\020application/json',
  create_key=_descriptor._internal_create_key,
  serialized_pb=b'\n5tecton_proto/api/featureservice/feature_service.proto\x12 tecton_proto.api.feature_service\x1a=tecton_proto/api/featureservice/feature_service_request.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a,protoc-gen-swagger/options/annotations.proto\"\xcf\x01\n\x0bNameAndType\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12[\n\tdata_type\x18\x03 \x01(\x0b\x32>.tecton_proto.api.feature_service.FeatureServerComplexDataTypeR\x08\x64\x61taType\x12O\n\x04type\x18\x02 \x01(\x0e\x32\x37.tecton_proto.api.feature_service.FeatureServerDataTypeB\x02\x18\x01R\x04type\"\x94\x01\n\x11GetFeaturesResult\x12\x32\n\x08\x66\x65\x61tures\x18\x05 \x03(\x0b\x32\x16.google.protobuf.ValueR\x08\x66\x65\x61tures\x12\x33\n\tjoin_keys\x18\x06 \x03(\x0b\x32\x16.google.protobuf.ValueR\x08joinKeysJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05\"\xce\x01\n\x1c\x46\x65\x61tureServerComplexDataType\x12K\n\x04type\x18\x01 \x01(\x0e\x32\x37.tecton_proto.api.feature_service.FeatureServerDataTypeR\x04type\x12\x61\n\x0c\x65lement_type\x18\x02 \x01(\x0b\x32>.tecton_proto.api.feature_service.FeatureServerComplexDataTypeR\x0b\x65lementType\"\xdf\x03\n\x07SloInfo\x12!\n\x0cslo_eligible\x18\x01 \x01(\x08R\x0bsloEligible\x12\x35\n\x17slo_server_time_seconds\x18\x05 \x01(\x01R\x14sloServerTimeSeconds\x12t\n\x19slo_ineligibility_reasons\x18\x02 \x03(\x0e\x32\x38.tecton_proto.api.feature_service.SloIneligibilityReasonR\x17sloIneligibilityReasons\x12?\n\x1c\x64ynamodb_response_size_bytes\x18\x03 \x01(\x05R\x19\x64ynamodbResponseSizeBytes\x12.\n\x13server_time_seconds\x18\x04 \x01(\x01R\x11serverTimeSeconds\x12,\n\x12store_time_seconds\x18\x06 \x01(\x01R\x10storeTimeSeconds\x12*\n\x11store_max_latency\x18\x07 \x01(\x01R\x0fstoreMaxLatency\x12\x39\n\x19store_response_size_bytes\x18\x08 \x01(\x05R\x16storeResponseSizeBytes\"\xa2\x04\n\x08Metadata\x12K\n\x08\x66\x65\x61tures\x18\x01 \x03(\x0b\x32/.tecton_proto.api.feature_service.Metadata.ItemR\x08\x66\x65\x61tures\x12L\n\tjoin_keys\x18\x02 \x03(\x0b\x32/.tecton_proto.api.feature_service.Metadata.ItemR\x08joinKeys\x12\x44\n\x08slo_info\x18\x03 \x01(\x0b\x32).tecton_proto.api.feature_service.SloInfoR\x07sloInfo\x12\'\n\x0fpartial_results\x18\x04 \x01(\x08R\x0epartialResults\x1a\x8b\x02\n\x04Item\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x41\n\x0e\x65\x66\x66\x65\x63tive_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\reffectiveTime\x12O\n\x04type\x18\x03 \x01(\x0e\x32\x37.tecton_proto.api.feature_service.FeatureServerDataTypeB\x02\x18\x01R\x04type\x12[\n\tdata_type\x18\x04 \x01(\x0b\x32>.tecton_proto.api.feature_service.FeatureServerComplexDataTypeR\x08\x64\x61taType\"\xaa\x01\n\x13GetFeaturesResponse\x12K\n\x06result\x18\x02 \x01(\x0b\x32\x33.tecton_proto.api.feature_service.GetFeaturesResultR\x06result\x12\x46\n\x08metadata\x18\x03 \x01(\x0b\x32*.tecton_proto.api.feature_service.MetadataR\x08metadata\"\xaf\x01\n\x18GetFeaturesBatchResponse\x12K\n\x06result\x18\x02 \x03(\x0b\x32\x33.tecton_proto.api.feature_service.GetFeaturesResultR\x06result\x12\x46\n\x08metadata\x18\x03 \x01(\x0b\x32*.tecton_proto.api.feature_service.MetadataR\x08metadata\"i\n\x16ServiceMetadataRequest\x12O\n\x06params\x18\x01 \x01(\x0b\x32\x37.tecton_proto.api.feature_service.FeatureServiceLocatorR\x06params\"\xf3\x03\n\x17ServiceMetadataResponse\x12\x66\n\x14\x66\x65\x61ture_service_type\x18\x01 \x01(\x0e\x32\x34.tecton_proto.api.feature_service.FeatureServiceTypeR\x12\x66\x65\x61tureServiceType\x12U\n\x0finput_join_keys\x18\x02 \x03(\x0b\x32-.tecton_proto.api.feature_service.NameAndTypeR\rinputJoinKeys\x12j\n\x1ainput_request_context_keys\x18\x03 \x03(\x0b\x32-.tecton_proto.api.feature_service.NameAndTypeR\x17inputRequestContextKeys\x12W\n\x10output_join_keys\x18\x04 \x03(\x0b\x32-.tecton_proto.api.feature_service.NameAndTypeR\x0eoutputJoinKeys\x12T\n\x0e\x66\x65\x61ture_values\x18\x05 \x03(\x0b\x32-.tecton_proto.api.feature_service.NameAndTypeR\rfeatureValues\"g\n\x14QueryFeaturesRequest\x12O\n\x06params\x18\x01 \x01(\x0b\x32\x37.tecton_proto.api.feature_service.GetFeaturesParametersR\x06params\"\xae\x01\n\x15QueryFeaturesResponse\x12M\n\x07results\x18\x01 \x03(\x0b\x32\x33.tecton_proto.api.feature_service.GetFeaturesResultR\x07results\x12\x46\n\x08metadata\x18\x02 \x01(\x0b\x32*.tecton_proto.api.feature_service.MetadataR\x08metadata\"\xa2\x03\n\x15\x46\x65\x61tureServiceLocator\x12.\n\x12\x66\x65\x61ture_service_id\x18\x01 \x01(\tH\x00R\x10\x66\x65\x61tureServiceId\x12\x32\n\x14\x66\x65\x61ture_service_name\x18\x02 \x01(\tH\x00R\x12\x66\x65\x61tureServiceName\x12.\n\x12\x66\x65\x61ture_package_id\x18\x04 \x01(\tH\x00R\x10\x66\x65\x61turePackageId\x12\x32\n\x14\x66\x65\x61ture_package_name\x18\x05 \x01(\tH\x00R\x12\x66\x65\x61turePackageName\x12(\n\x0f\x66\x65\x61ture_view_id\x18\x06 \x01(\tH\x00R\rfeatureViewId\x12,\n\x11\x66\x65\x61ture_view_name\x18\x07 \x01(\tH\x00R\x0f\x66\x65\x61tureViewName\x12%\n\x0eworkspace_name\x18\x03 \x01(\tR\rworkspaceName:7\x92\x41\x34:2{\"feature_service_name\": \"ctr_prediction_service\"}B\t\n\x07locator\"\x90\x01\n\x1dGetFeatureServiceStateRequest\x12o\n\x17\x66\x65\x61ture_service_locator\x18\x01 \x01(\x0b\x32\x37.tecton_proto.api.feature_service.FeatureServiceLocatorR\x15\x66\x65\x61tureServiceLocator\"&\n\x1eGetFeatureServiceStateResponseJ\x04\x08\x01\x10\x02*/\n\x12\x46\x65\x61tureServiceType\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0c\n\x08WILDCARD\x10\x01*\x84\x01\n\x15\x46\x65\x61tureServerDataType\x12\x10\n\x0cmissing_type\x10\x00\x12\x0b\n\x07\x62oolean\x10\x01\x12\x0b\n\x07\x66loat64\x10\x02\x12\t\n\x05int64\x10\x03\x12\n\n\x06string\x10\x04\x12\x10\n\x0cstring_array\x10\x05\x12\t\n\x05\x61rray\x10\x06\x12\x0b\n\x07\x66loat32\x10\x07*\x9a\x01\n\x16SloIneligibilityReason\x12\x0b\n\x07UNKNOWN\x10\x00\x12)\n%DYNAMODB_RESPONSE_SIZE_LIMIT_EXCEEDED\x10\x01\x12&\n\"REDIS_RESPONSE_SIZE_LIMIT_EXCEEDED\x10\x02\x12 \n\x1cREDIS_LATENCY_LIMIT_EXCEEDED\x10\x03\x32\x9a\x13\n\x0e\x46\x65\x61tureService\x12\xf3\x03\n\x0bGetFeatures\x12\x34.tecton_proto.api.feature_service.GetFeaturesRequest\x1a\x35.tecton_proto.api.feature_service.GetFeaturesResponse\"\xf6\x02\x82\xd3\xe4\x93\x02%\" /v1/feature-service/get-features:\x01*\x92\x41\xc7\x02\n\x0bGetFeatures\x1a\x46Get Features API to retrieve feature values from Tecton\'s online storeJ?\n\x03\x32\x30\x30\x12\x38\n\x02OK\"2\n\x10\x61pplication/json\x12\x1e{\"result\": {\"features\": [15]}}J\xae\x01\n\x03\x34\x30\x34\x12\xa6\x01\n\tNot Found\"\x98\x01\n\x10\x61pplication/json\x12\x83\x01{\"error\": \"Unknown feature_service_id: my_feature_service\", \"message\": \"Unknown feature_service_id: my_feature_service\", \"code\": 5}\x12\xd9\x05\n\x10GetFeaturesBatch\x12\x39.tecton_proto.api.feature_service.GetFeaturesBatchRequest\x1a:.tecton_proto.api.feature_service.GetFeaturesBatchResponse\"\xcd\x04\x82\xd3\xe4\x93\x02+\"&/v1/feature-service/get-features-batch:\x01*\x92\x41\x98\x04\n\x10GetFeaturesBatch\x1aUBatch get Features API to retrieve feature values in batch from Tecton\'s online storeJ^\n\x03\x32\x30\x30\x12W\n\x02OK\"Q\n\x10\x61pplication/json\x12={\"result\": {\"features\": [[15, 10, 5, 100],[10, 20, 1, 200]]}}J\xae\x01\n\x03\x34\x30\x34\x12\xa6\x01\n\tNot Found\"\x98\x01\n\x10\x61pplication/json\x12\x83\x01{\"error\": \"Unknown feature_service_id: my_feature_service\", \"message\": \"Unknown feature_service_id: my_feature_service\", \"code\": 5}J\x9b\x01\n\x03\x34\x30\x30\x12\x93\x01\n\x0b\x42\x61\x64 Request\"\x83\x01\n\x10\x61pplication/json\x12o{\"error\": \"Batch size 27 exceeds maximum of 25.\", \"message\": \"Batch size 27 exceeds maximum of 25.\", \"code\": 3}\x12\xaf\x01\n\rQueryFeatures\x12\x36.tecton_proto.api.feature_service.QueryFeaturesRequest\x1a\x37.tecton_proto.api.feature_service.QueryFeaturesResponse\"-\x82\xd3\xe4\x93\x02\'\"\"/v1/feature-service/query-features:\x01*\x12\xd5\x01\n\x16GetFeatureServiceState\x12?.tecton_proto.api.feature_service.GetFeatureServiceStateRequest\x1a@.tecton_proto.api.feature_service.GetFeatureServiceStateResponse\"8\x82\xd3\xe4\x93\x02\x32\"-/v1/feature-service/get-feature-service-state:\x01*\x12\xab\x06\n\x0fServiceMetadata\x12\x38.tecton_proto.api.feature_service.ServiceMetadataRequest\x1a\x39.tecton_proto.api.feature_service.ServiceMetadataResponse\"\xa2\x05\x82\xd3\xe4\x93\x02!\"\x1c/v1/feature-service/metadata:\x01*\x92\x41\xf7\x04\n\x08Metadata\x1a\x32Get Metadata about the feature service from TectonJ\xd9\x02\n\x03\x32\x30\x30\x12\xd1\x02\n\x02OK\"\xca\x02\n\x10\x61pplication/json\x12\xb5\x02{\"featureServiceType\": \"DEFAULT\", \"inputJoinKeys\": [{\"name\": \"adId\", \"type\": \"string\"}],\"feature_values\":[{\"name\": \"ad_ground_truth_ctr_performance_7_days\", \"type\": \"float64\"}, {\"name\": \"user_partner_impression_count_7_days\", \"type\": \"float64\"}, {\"name\": \"user_total_ad_frequency_counts\", \"type\": \"int64\"} ] }J\xda\x01\n\x03\x34\x30\x34\x12\xd2\x01\n\tNot Found\"\xc4\x01\n\x10\x61pplication/json\x12\xaf\x01{\"error\": \"Unknown feature_service_name: my_feature_service for workspace: prod\", \"message\": \"Unknown feature_service_name: my_feature_service for workspace: prod\", \"code\": 5}B\xd0\x03Z4github.com/tecton-ai/tecton_proto/api/featureservice\x92\x41\x96\x03\x12\xec\x02\n\x12\x46\x65\x61tureService API\x12\xb4\x02Tecton provides a low latency feature server that exposes HTTP endpoints to retrieve feature values and metadata from the online store. This is typically used during model predictions. The feature servers retrieve data from the online store and perform any additional aggregations and filtering as necessary.\"\x0b\n\tTecton AI*\r\n\x0bProprietary2\x03\x31.0*\x01\x02\x32\x10\x61pplication/json:\x10\x61pplication/json'
  ,
  dependencies=[tecton__proto_dot_api_dot_featureservice_dot_feature__service__request__pb2.DESCRIPTOR,google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_protobuf_dot_struct__pb2.DESCRIPTOR,protoc__gen__swagger_dot_options_dot_annotations__pb2.DESCRIPTOR,])

_FEATURESERVICETYPE = _descriptor.EnumDescriptor(
  name='FeatureServiceType',
  full_name='tecton_proto.api.feature_service.FeatureServiceType',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='DEFAULT', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='WILDCARD', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3744,
  serialized_end=3791,
)
_sym_db.RegisterEnumDescriptor(_FEATURESERVICETYPE)

FeatureServiceType = enum_type_wrapper.EnumTypeWrapper(_FEATURESERVICETYPE)
_FEATURESERVERDATATYPE = _descriptor.EnumDescriptor(
  name='FeatureServerDataType',
  full_name='tecton_proto.api.feature_service.FeatureServerDataType',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='missing_type', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='boolean', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='float64', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='int64', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='string', index=4, number=4,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='string_array', index=5, number=5,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='array', index=6, number=6,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='float32', index=7, number=7,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3794,
  serialized_end=3926,
)
_sym_db.RegisterEnumDescriptor(_FEATURESERVERDATATYPE)

FeatureServerDataType = enum_type_wrapper.EnumTypeWrapper(_FEATURESERVERDATATYPE)
_SLOINELIGIBILITYREASON = _descriptor.EnumDescriptor(
  name='SloIneligibilityReason',
  full_name='tecton_proto.api.feature_service.SloIneligibilityReason',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='DYNAMODB_RESPONSE_SIZE_LIMIT_EXCEEDED', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='REDIS_RESPONSE_SIZE_LIMIT_EXCEEDED', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='REDIS_LATENCY_LIMIT_EXCEEDED', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3929,
  serialized_end=4083,
)
_sym_db.RegisterEnumDescriptor(_SLOINELIGIBILITYREASON)

SloIneligibilityReason = enum_type_wrapper.EnumTypeWrapper(_SLOINELIGIBILITYREASON)
DEFAULT = 0
WILDCARD = 1
missing_type = 0
boolean = 1
float64 = 2
int64 = 3
string = 4
string_array = 5
array = 6
float32 = 7
UNKNOWN = 0
DYNAMODB_RESPONSE_SIZE_LIMIT_EXCEEDED = 1
REDIS_RESPONSE_SIZE_LIMIT_EXCEEDED = 2
REDIS_LATENCY_LIMIT_EXCEEDED = 3



_NAMEANDTYPE = _descriptor.Descriptor(
  name='NameAndType',
  full_name='tecton_proto.api.feature_service.NameAndType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='tecton_proto.api.feature_service.NameAndType.name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='name', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='data_type', full_name='tecton_proto.api.feature_service.NameAndType.data_type', index=1,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='dataType', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='type', full_name='tecton_proto.api.feature_service.NameAndType.type', index=2,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=b'\030\001', json_name='type', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=294,
  serialized_end=501,
)


_GETFEATURESRESULT = _descriptor.Descriptor(
  name='GetFeaturesResult',
  full_name='tecton_proto.api.feature_service.GetFeaturesResult',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='features', full_name='tecton_proto.api.feature_service.GetFeaturesResult.features', index=0,
      number=5, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='features', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='join_keys', full_name='tecton_proto.api.feature_service.GetFeaturesResult.join_keys', index=1,
      number=6, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='joinKeys', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=504,
  serialized_end=652,
)


_FEATURESERVERCOMPLEXDATATYPE = _descriptor.Descriptor(
  name='FeatureServerComplexDataType',
  full_name='tecton_proto.api.feature_service.FeatureServerComplexDataType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='tecton_proto.api.feature_service.FeatureServerComplexDataType.type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='type', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='element_type', full_name='tecton_proto.api.feature_service.FeatureServerComplexDataType.element_type', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='elementType', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=655,
  serialized_end=861,
)


_SLOINFO = _descriptor.Descriptor(
  name='SloInfo',
  full_name='tecton_proto.api.feature_service.SloInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='slo_eligible', full_name='tecton_proto.api.feature_service.SloInfo.slo_eligible', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='sloEligible', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='slo_server_time_seconds', full_name='tecton_proto.api.feature_service.SloInfo.slo_server_time_seconds', index=1,
      number=5, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='sloServerTimeSeconds', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='slo_ineligibility_reasons', full_name='tecton_proto.api.feature_service.SloInfo.slo_ineligibility_reasons', index=2,
      number=2, type=14, cpp_type=8, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='sloIneligibilityReasons', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='dynamodb_response_size_bytes', full_name='tecton_proto.api.feature_service.SloInfo.dynamodb_response_size_bytes', index=3,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='dynamodbResponseSizeBytes', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='server_time_seconds', full_name='tecton_proto.api.feature_service.SloInfo.server_time_seconds', index=4,
      number=4, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='serverTimeSeconds', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='store_time_seconds', full_name='tecton_proto.api.feature_service.SloInfo.store_time_seconds', index=5,
      number=6, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='storeTimeSeconds', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='store_max_latency', full_name='tecton_proto.api.feature_service.SloInfo.store_max_latency', index=6,
      number=7, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='storeMaxLatency', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='store_response_size_bytes', full_name='tecton_proto.api.feature_service.SloInfo.store_response_size_bytes', index=7,
      number=8, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='storeResponseSizeBytes', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=864,
  serialized_end=1343,
)


_METADATA_ITEM = _descriptor.Descriptor(
  name='Item',
  full_name='tecton_proto.api.feature_service.Metadata.Item',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='tecton_proto.api.feature_service.Metadata.Item.name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='name', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='effective_time', full_name='tecton_proto.api.feature_service.Metadata.Item.effective_time', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='effectiveTime', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='type', full_name='tecton_proto.api.feature_service.Metadata.Item.type', index=2,
      number=3, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=b'\030\001', json_name='type', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='data_type', full_name='tecton_proto.api.feature_service.Metadata.Item.data_type', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='dataType', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1625,
  serialized_end=1892,
)

_METADATA = _descriptor.Descriptor(
  name='Metadata',
  full_name='tecton_proto.api.feature_service.Metadata',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='features', full_name='tecton_proto.api.feature_service.Metadata.features', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='features', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='join_keys', full_name='tecton_proto.api.feature_service.Metadata.join_keys', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='joinKeys', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='slo_info', full_name='tecton_proto.api.feature_service.Metadata.slo_info', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='sloInfo', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='partial_results', full_name='tecton_proto.api.feature_service.Metadata.partial_results', index=3,
      number=4, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='partialResults', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_METADATA_ITEM, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1346,
  serialized_end=1892,
)


_GETFEATURESRESPONSE = _descriptor.Descriptor(
  name='GetFeaturesResponse',
  full_name='tecton_proto.api.feature_service.GetFeaturesResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='result', full_name='tecton_proto.api.feature_service.GetFeaturesResponse.result', index=0,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='result', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='metadata', full_name='tecton_proto.api.feature_service.GetFeaturesResponse.metadata', index=1,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='metadata', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1895,
  serialized_end=2065,
)


_GETFEATURESBATCHRESPONSE = _descriptor.Descriptor(
  name='GetFeaturesBatchResponse',
  full_name='tecton_proto.api.feature_service.GetFeaturesBatchResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='result', full_name='tecton_proto.api.feature_service.GetFeaturesBatchResponse.result', index=0,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='result', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='metadata', full_name='tecton_proto.api.feature_service.GetFeaturesBatchResponse.metadata', index=1,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='metadata', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2068,
  serialized_end=2243,
)


_SERVICEMETADATAREQUEST = _descriptor.Descriptor(
  name='ServiceMetadataRequest',
  full_name='tecton_proto.api.feature_service.ServiceMetadataRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='params', full_name='tecton_proto.api.feature_service.ServiceMetadataRequest.params', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='params', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2245,
  serialized_end=2350,
)


_SERVICEMETADATARESPONSE = _descriptor.Descriptor(
  name='ServiceMetadataResponse',
  full_name='tecton_proto.api.feature_service.ServiceMetadataResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='feature_service_type', full_name='tecton_proto.api.feature_service.ServiceMetadataResponse.feature_service_type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='featureServiceType', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='input_join_keys', full_name='tecton_proto.api.feature_service.ServiceMetadataResponse.input_join_keys', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='inputJoinKeys', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='input_request_context_keys', full_name='tecton_proto.api.feature_service.ServiceMetadataResponse.input_request_context_keys', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='inputRequestContextKeys', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='output_join_keys', full_name='tecton_proto.api.feature_service.ServiceMetadataResponse.output_join_keys', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='outputJoinKeys', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='feature_values', full_name='tecton_proto.api.feature_service.ServiceMetadataResponse.feature_values', index=4,
      number=5, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='featureValues', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2353,
  serialized_end=2852,
)


_QUERYFEATURESREQUEST = _descriptor.Descriptor(
  name='QueryFeaturesRequest',
  full_name='tecton_proto.api.feature_service.QueryFeaturesRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='params', full_name='tecton_proto.api.feature_service.QueryFeaturesRequest.params', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='params', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2854,
  serialized_end=2957,
)


_QUERYFEATURESRESPONSE = _descriptor.Descriptor(
  name='QueryFeaturesResponse',
  full_name='tecton_proto.api.feature_service.QueryFeaturesResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='results', full_name='tecton_proto.api.feature_service.QueryFeaturesResponse.results', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='results', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='metadata', full_name='tecton_proto.api.feature_service.QueryFeaturesResponse.metadata', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='metadata', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2960,
  serialized_end=3134,
)


_FEATURESERVICELOCATOR = _descriptor.Descriptor(
  name='FeatureServiceLocator',
  full_name='tecton_proto.api.feature_service.FeatureServiceLocator',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='feature_service_id', full_name='tecton_proto.api.feature_service.FeatureServiceLocator.feature_service_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='featureServiceId', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='feature_service_name', full_name='tecton_proto.api.feature_service.FeatureServiceLocator.feature_service_name', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='featureServiceName', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='feature_package_id', full_name='tecton_proto.api.feature_service.FeatureServiceLocator.feature_package_id', index=2,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='featurePackageId', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='feature_package_name', full_name='tecton_proto.api.feature_service.FeatureServiceLocator.feature_package_name', index=3,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='featurePackageName', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='feature_view_id', full_name='tecton_proto.api.feature_service.FeatureServiceLocator.feature_view_id', index=4,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='featureViewId', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='feature_view_name', full_name='tecton_proto.api.feature_service.FeatureServiceLocator.feature_view_name', index=5,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='featureViewName', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='workspace_name', full_name='tecton_proto.api.feature_service.FeatureServiceLocator.workspace_name', index=6,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='workspaceName', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'\222A4:2{\"feature_service_name\": \"ctr_prediction_service\"}',
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='locator', full_name='tecton_proto.api.feature_service.FeatureServiceLocator.locator',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=3137,
  serialized_end=3555,
)


_GETFEATURESERVICESTATEREQUEST = _descriptor.Descriptor(
  name='GetFeatureServiceStateRequest',
  full_name='tecton_proto.api.feature_service.GetFeatureServiceStateRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='feature_service_locator', full_name='tecton_proto.api.feature_service.GetFeatureServiceStateRequest.feature_service_locator', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, json_name='featureServiceLocator', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3558,
  serialized_end=3702,
)


_GETFEATURESERVICESTATERESPONSE = _descriptor.Descriptor(
  name='GetFeatureServiceStateResponse',
  full_name='tecton_proto.api.feature_service.GetFeatureServiceStateResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3704,
  serialized_end=3742,
)

_NAMEANDTYPE.fields_by_name['data_type'].message_type = _FEATURESERVERCOMPLEXDATATYPE
_NAMEANDTYPE.fields_by_name['type'].enum_type = _FEATURESERVERDATATYPE
_GETFEATURESRESULT.fields_by_name['features'].message_type = google_dot_protobuf_dot_struct__pb2._VALUE
_GETFEATURESRESULT.fields_by_name['join_keys'].message_type = google_dot_protobuf_dot_struct__pb2._VALUE
_FEATURESERVERCOMPLEXDATATYPE.fields_by_name['type'].enum_type = _FEATURESERVERDATATYPE
_FEATURESERVERCOMPLEXDATATYPE.fields_by_name['element_type'].message_type = _FEATURESERVERCOMPLEXDATATYPE
_SLOINFO.fields_by_name['slo_ineligibility_reasons'].enum_type = _SLOINELIGIBILITYREASON
_METADATA_ITEM.fields_by_name['effective_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_METADATA_ITEM.fields_by_name['type'].enum_type = _FEATURESERVERDATATYPE
_METADATA_ITEM.fields_by_name['data_type'].message_type = _FEATURESERVERCOMPLEXDATATYPE
_METADATA_ITEM.containing_type = _METADATA
_METADATA.fields_by_name['features'].message_type = _METADATA_ITEM
_METADATA.fields_by_name['join_keys'].message_type = _METADATA_ITEM
_METADATA.fields_by_name['slo_info'].message_type = _SLOINFO
_GETFEATURESRESPONSE.fields_by_name['result'].message_type = _GETFEATURESRESULT
_GETFEATURESRESPONSE.fields_by_name['metadata'].message_type = _METADATA
_GETFEATURESBATCHRESPONSE.fields_by_name['result'].message_type = _GETFEATURESRESULT
_GETFEATURESBATCHRESPONSE.fields_by_name['metadata'].message_type = _METADATA
_SERVICEMETADATAREQUEST.fields_by_name['params'].message_type = _FEATURESERVICELOCATOR
_SERVICEMETADATARESPONSE.fields_by_name['feature_service_type'].enum_type = _FEATURESERVICETYPE
_SERVICEMETADATARESPONSE.fields_by_name['input_join_keys'].message_type = _NAMEANDTYPE
_SERVICEMETADATARESPONSE.fields_by_name['input_request_context_keys'].message_type = _NAMEANDTYPE
_SERVICEMETADATARESPONSE.fields_by_name['output_join_keys'].message_type = _NAMEANDTYPE
_SERVICEMETADATARESPONSE.fields_by_name['feature_values'].message_type = _NAMEANDTYPE
_QUERYFEATURESREQUEST.fields_by_name['params'].message_type = tecton__proto_dot_api_dot_featureservice_dot_feature__service__request__pb2._GETFEATURESPARAMETERS
_QUERYFEATURESRESPONSE.fields_by_name['results'].message_type = _GETFEATURESRESULT
_QUERYFEATURESRESPONSE.fields_by_name['metadata'].message_type = _METADATA
_FEATURESERVICELOCATOR.oneofs_by_name['locator'].fields.append(
  _FEATURESERVICELOCATOR.fields_by_name['feature_service_id'])
_FEATURESERVICELOCATOR.fields_by_name['feature_service_id'].containing_oneof = _FEATURESERVICELOCATOR.oneofs_by_name['locator']
_FEATURESERVICELOCATOR.oneofs_by_name['locator'].fields.append(
  _FEATURESERVICELOCATOR.fields_by_name['feature_service_name'])
_FEATURESERVICELOCATOR.fields_by_name['feature_service_name'].containing_oneof = _FEATURESERVICELOCATOR.oneofs_by_name['locator']
_FEATURESERVICELOCATOR.oneofs_by_name['locator'].fields.append(
  _FEATURESERVICELOCATOR.fields_by_name['feature_package_id'])
_FEATURESERVICELOCATOR.fields_by_name['feature_package_id'].containing_oneof = _FEATURESERVICELOCATOR.oneofs_by_name['locator']
_FEATURESERVICELOCATOR.oneofs_by_name['locator'].fields.append(
  _FEATURESERVICELOCATOR.fields_by_name['feature_package_name'])
_FEATURESERVICELOCATOR.fields_by_name['feature_package_name'].containing_oneof = _FEATURESERVICELOCATOR.oneofs_by_name['locator']
_FEATURESERVICELOCATOR.oneofs_by_name['locator'].fields.append(
  _FEATURESERVICELOCATOR.fields_by_name['feature_view_id'])
_FEATURESERVICELOCATOR.fields_by_name['feature_view_id'].containing_oneof = _FEATURESERVICELOCATOR.oneofs_by_name['locator']
_FEATURESERVICELOCATOR.oneofs_by_name['locator'].fields.append(
  _FEATURESERVICELOCATOR.fields_by_name['feature_view_name'])
_FEATURESERVICELOCATOR.fields_by_name['feature_view_name'].containing_oneof = _FEATURESERVICELOCATOR.oneofs_by_name['locator']
_GETFEATURESERVICESTATEREQUEST.fields_by_name['feature_service_locator'].message_type = _FEATURESERVICELOCATOR
DESCRIPTOR.message_types_by_name['NameAndType'] = _NAMEANDTYPE
DESCRIPTOR.message_types_by_name['GetFeaturesResult'] = _GETFEATURESRESULT
DESCRIPTOR.message_types_by_name['FeatureServerComplexDataType'] = _FEATURESERVERCOMPLEXDATATYPE
DESCRIPTOR.message_types_by_name['SloInfo'] = _SLOINFO
DESCRIPTOR.message_types_by_name['Metadata'] = _METADATA
DESCRIPTOR.message_types_by_name['GetFeaturesResponse'] = _GETFEATURESRESPONSE
DESCRIPTOR.message_types_by_name['GetFeaturesBatchResponse'] = _GETFEATURESBATCHRESPONSE
DESCRIPTOR.message_types_by_name['ServiceMetadataRequest'] = _SERVICEMETADATAREQUEST
DESCRIPTOR.message_types_by_name['ServiceMetadataResponse'] = _SERVICEMETADATARESPONSE
DESCRIPTOR.message_types_by_name['QueryFeaturesRequest'] = _QUERYFEATURESREQUEST
DESCRIPTOR.message_types_by_name['QueryFeaturesResponse'] = _QUERYFEATURESRESPONSE
DESCRIPTOR.message_types_by_name['FeatureServiceLocator'] = _FEATURESERVICELOCATOR
DESCRIPTOR.message_types_by_name['GetFeatureServiceStateRequest'] = _GETFEATURESERVICESTATEREQUEST
DESCRIPTOR.message_types_by_name['GetFeatureServiceStateResponse'] = _GETFEATURESERVICESTATERESPONSE
DESCRIPTOR.enum_types_by_name['FeatureServiceType'] = _FEATURESERVICETYPE
DESCRIPTOR.enum_types_by_name['FeatureServerDataType'] = _FEATURESERVERDATATYPE
DESCRIPTOR.enum_types_by_name['SloIneligibilityReason'] = _SLOINELIGIBILITYREASON
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

NameAndType = _reflection.GeneratedProtocolMessageType('NameAndType', (_message.Message,), {
  'DESCRIPTOR' : _NAMEANDTYPE,
  '__module__' : 'tecton_proto.api.featureservice.feature_service_pb2'
  # @@protoc_insertion_point(class_scope:tecton_proto.api.feature_service.NameAndType)
  })
_sym_db.RegisterMessage(NameAndType)

GetFeaturesResult = _reflection.GeneratedProtocolMessageType('GetFeaturesResult', (_message.Message,), {
  'DESCRIPTOR' : _GETFEATURESRESULT,
  '__module__' : 'tecton_proto.api.featureservice.feature_service_pb2'
  # @@protoc_insertion_point(class_scope:tecton_proto.api.feature_service.GetFeaturesResult)
  })
_sym_db.RegisterMessage(GetFeaturesResult)

FeatureServerComplexDataType = _reflection.GeneratedProtocolMessageType('FeatureServerComplexDataType', (_message.Message,), {
  'DESCRIPTOR' : _FEATURESERVERCOMPLEXDATATYPE,
  '__module__' : 'tecton_proto.api.featureservice.feature_service_pb2'
  # @@protoc_insertion_point(class_scope:tecton_proto.api.feature_service.FeatureServerComplexDataType)
  })
_sym_db.RegisterMessage(FeatureServerComplexDataType)

SloInfo = _reflection.GeneratedProtocolMessageType('SloInfo', (_message.Message,), {
  'DESCRIPTOR' : _SLOINFO,
  '__module__' : 'tecton_proto.api.featureservice.feature_service_pb2'
  # @@protoc_insertion_point(class_scope:tecton_proto.api.feature_service.SloInfo)
  })
_sym_db.RegisterMessage(SloInfo)

Metadata = _reflection.GeneratedProtocolMessageType('Metadata', (_message.Message,), {

  'Item' : _reflection.GeneratedProtocolMessageType('Item', (_message.Message,), {
    'DESCRIPTOR' : _METADATA_ITEM,
    '__module__' : 'tecton_proto.api.featureservice.feature_service_pb2'
    # @@protoc_insertion_point(class_scope:tecton_proto.api.feature_service.Metadata.Item)
    })
  ,
  'DESCRIPTOR' : _METADATA,
  '__module__' : 'tecton_proto.api.featureservice.feature_service_pb2'
  # @@protoc_insertion_point(class_scope:tecton_proto.api.feature_service.Metadata)
  })
_sym_db.RegisterMessage(Metadata)
_sym_db.RegisterMessage(Metadata.Item)

GetFeaturesResponse = _reflection.GeneratedProtocolMessageType('GetFeaturesResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETFEATURESRESPONSE,
  '__module__' : 'tecton_proto.api.featureservice.feature_service_pb2'
  # @@protoc_insertion_point(class_scope:tecton_proto.api.feature_service.GetFeaturesResponse)
  })
_sym_db.RegisterMessage(GetFeaturesResponse)

GetFeaturesBatchResponse = _reflection.GeneratedProtocolMessageType('GetFeaturesBatchResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETFEATURESBATCHRESPONSE,
  '__module__' : 'tecton_proto.api.featureservice.feature_service_pb2'
  # @@protoc_insertion_point(class_scope:tecton_proto.api.feature_service.GetFeaturesBatchResponse)
  })
_sym_db.RegisterMessage(GetFeaturesBatchResponse)

ServiceMetadataRequest = _reflection.GeneratedProtocolMessageType('ServiceMetadataRequest', (_message.Message,), {
  'DESCRIPTOR' : _SERVICEMETADATAREQUEST,
  '__module__' : 'tecton_proto.api.featureservice.feature_service_pb2'
  # @@protoc_insertion_point(class_scope:tecton_proto.api.feature_service.ServiceMetadataRequest)
  })
_sym_db.RegisterMessage(ServiceMetadataRequest)

ServiceMetadataResponse = _reflection.GeneratedProtocolMessageType('ServiceMetadataResponse', (_message.Message,), {
  'DESCRIPTOR' : _SERVICEMETADATARESPONSE,
  '__module__' : 'tecton_proto.api.featureservice.feature_service_pb2'
  # @@protoc_insertion_point(class_scope:tecton_proto.api.feature_service.ServiceMetadataResponse)
  })
_sym_db.RegisterMessage(ServiceMetadataResponse)

QueryFeaturesRequest = _reflection.GeneratedProtocolMessageType('QueryFeaturesRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYFEATURESREQUEST,
  '__module__' : 'tecton_proto.api.featureservice.feature_service_pb2'
  # @@protoc_insertion_point(class_scope:tecton_proto.api.feature_service.QueryFeaturesRequest)
  })
_sym_db.RegisterMessage(QueryFeaturesRequest)

QueryFeaturesResponse = _reflection.GeneratedProtocolMessageType('QueryFeaturesResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYFEATURESRESPONSE,
  '__module__' : 'tecton_proto.api.featureservice.feature_service_pb2'
  # @@protoc_insertion_point(class_scope:tecton_proto.api.feature_service.QueryFeaturesResponse)
  })
_sym_db.RegisterMessage(QueryFeaturesResponse)

FeatureServiceLocator = _reflection.GeneratedProtocolMessageType('FeatureServiceLocator', (_message.Message,), {
  'DESCRIPTOR' : _FEATURESERVICELOCATOR,
  '__module__' : 'tecton_proto.api.featureservice.feature_service_pb2'
  # @@protoc_insertion_point(class_scope:tecton_proto.api.feature_service.FeatureServiceLocator)
  })
_sym_db.RegisterMessage(FeatureServiceLocator)

GetFeatureServiceStateRequest = _reflection.GeneratedProtocolMessageType('GetFeatureServiceStateRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETFEATURESERVICESTATEREQUEST,
  '__module__' : 'tecton_proto.api.featureservice.feature_service_pb2'
  # @@protoc_insertion_point(class_scope:tecton_proto.api.feature_service.GetFeatureServiceStateRequest)
  })
_sym_db.RegisterMessage(GetFeatureServiceStateRequest)

GetFeatureServiceStateResponse = _reflection.GeneratedProtocolMessageType('GetFeatureServiceStateResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETFEATURESERVICESTATERESPONSE,
  '__module__' : 'tecton_proto.api.featureservice.feature_service_pb2'
  # @@protoc_insertion_point(class_scope:tecton_proto.api.feature_service.GetFeatureServiceStateResponse)
  })
_sym_db.RegisterMessage(GetFeatureServiceStateResponse)


DESCRIPTOR._options = None
_NAMEANDTYPE.fields_by_name['type']._options = None
_METADATA_ITEM.fields_by_name['type']._options = None
_FEATURESERVICELOCATOR._options = None

_FEATURESERVICE = _descriptor.ServiceDescriptor(
  name='FeatureService',
  full_name='tecton_proto.api.feature_service.FeatureService',
  file=DESCRIPTOR,
  index=0,
  serialized_options=None,
  create_key=_descriptor._internal_create_key,
  serialized_start=4086,
  serialized_end=6544,
  methods=[
  _descriptor.MethodDescriptor(
    name='GetFeatures',
    full_name='tecton_proto.api.feature_service.FeatureService.GetFeatures',
    index=0,
    containing_service=None,
    input_type=tecton__proto_dot_api_dot_featureservice_dot_feature__service__request__pb2._GETFEATURESREQUEST,
    output_type=_GETFEATURESRESPONSE,
    serialized_options=b'\202\323\344\223\002%\" /v1/feature-service/get-features:\001*\222A\307\002\n\013GetFeatures\032FGet Features API to retrieve feature values from Tecton\'s online storeJ?\n\003200\0228\n\002OK\"2\n\020application/json\022\036{\"result\": {\"features\": [15]}}J\256\001\n\003404\022\246\001\n\tNot Found\"\230\001\n\020application/json\022\203\001{\"error\": \"Unknown feature_service_id: my_feature_service\", \"message\": \"Unknown feature_service_id: my_feature_service\", \"code\": 5}',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetFeaturesBatch',
    full_name='tecton_proto.api.feature_service.FeatureService.GetFeaturesBatch',
    index=1,
    containing_service=None,
    input_type=tecton__proto_dot_api_dot_featureservice_dot_feature__service__request__pb2._GETFEATURESBATCHREQUEST,
    output_type=_GETFEATURESBATCHRESPONSE,
    serialized_options=b'\202\323\344\223\002+\"&/v1/feature-service/get-features-batch:\001*\222A\230\004\n\020GetFeaturesBatch\032UBatch get Features API to retrieve feature values in batch from Tecton\'s online storeJ^\n\003200\022W\n\002OK\"Q\n\020application/json\022={\"result\": {\"features\": [[15, 10, 5, 100],[10, 20, 1, 200]]}}J\256\001\n\003404\022\246\001\n\tNot Found\"\230\001\n\020application/json\022\203\001{\"error\": \"Unknown feature_service_id: my_feature_service\", \"message\": \"Unknown feature_service_id: my_feature_service\", \"code\": 5}J\233\001\n\003400\022\223\001\n\013Bad Request\"\203\001\n\020application/json\022o{\"error\": \"Batch size 27 exceeds maximum of 25.\", \"message\": \"Batch size 27 exceeds maximum of 25.\", \"code\": 3}',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='QueryFeatures',
    full_name='tecton_proto.api.feature_service.FeatureService.QueryFeatures',
    index=2,
    containing_service=None,
    input_type=_QUERYFEATURESREQUEST,
    output_type=_QUERYFEATURESRESPONSE,
    serialized_options=b'\202\323\344\223\002\'\"\"/v1/feature-service/query-features:\001*',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetFeatureServiceState',
    full_name='tecton_proto.api.feature_service.FeatureService.GetFeatureServiceState',
    index=3,
    containing_service=None,
    input_type=_GETFEATURESERVICESTATEREQUEST,
    output_type=_GETFEATURESERVICESTATERESPONSE,
    serialized_options=b'\202\323\344\223\0022\"-/v1/feature-service/get-feature-service-state:\001*',
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='ServiceMetadata',
    full_name='tecton_proto.api.feature_service.FeatureService.ServiceMetadata',
    index=4,
    containing_service=None,
    input_type=_SERVICEMETADATAREQUEST,
    output_type=_SERVICEMETADATARESPONSE,
    serialized_options=b'\202\323\344\223\002!\"\034/v1/feature-service/metadata:\001*\222A\367\004\n\010Metadata\0322Get Metadata about the feature service from TectonJ\331\002\n\003200\022\321\002\n\002OK\"\312\002\n\020application/json\022\265\002{\"featureServiceType\": \"DEFAULT\", \"inputJoinKeys\": [{\"name\": \"adId\", \"type\": \"string\"}],\"feature_values\":[{\"name\": \"ad_ground_truth_ctr_performance_7_days\", \"type\": \"float64\"}, {\"name\": \"user_partner_impression_count_7_days\", \"type\": \"float64\"}, {\"name\": \"user_total_ad_frequency_counts\", \"type\": \"int64\"} ] }J\332\001\n\003404\022\322\001\n\tNot Found\"\304\001\n\020application/json\022\257\001{\"error\": \"Unknown feature_service_name: my_feature_service for workspace: prod\", \"message\": \"Unknown feature_service_name: my_feature_service for workspace: prod\", \"code\": 5}',
    create_key=_descriptor._internal_create_key,
  ),
])
_sym_db.RegisterServiceDescriptor(_FEATURESERVICE)

DESCRIPTOR.services_by_name['FeatureService'] = _FEATURESERVICE

# @@protoc_insertion_point(module_scope)
