tesla-fleet-api 0.7.8__py3-none-any.whl → 0.8.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,29 @@
1
+ """Generated protocol buffer code."""
2
+ from google.protobuf.internal import enum_type_wrapper
3
+ from google.protobuf import descriptor as _descriptor
4
+ from google.protobuf import descriptor_pool as _descriptor_pool
5
+ from google.protobuf import message as _message
6
+ from google.protobuf import reflection as _reflection
7
+ from google.protobuf import symbol_database as _symbol_database
8
+ _sym_db = _symbol_database.Default()
9
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cerrors.proto\x12\x06Errors"<\n\x0cNominalError\x12,\n\x0cgenericError\x18\x01 \x01(\x0e2\x16.Errors.GenericError_E*\x9c\x02\n\x0eGenericError_E\x12\x15\n\x11GENERICERROR_NONE\x10\x00\x12\x18\n\x14GENERICERROR_UNKNOWN\x10\x01\x12\x1e\n\x1aGENERICERROR_CLOSURES_OPEN\x10\x02\x12\x1b\n\x17GENERICERROR_ALREADY_ON\x10\x03\x12*\n&GENERICERROR_DISABLED_FOR_USER_COMMAND\x10\x04\x12$\n GENERICERROR_VEHICLE_NOT_IN_PARK\x10\x05\x12\x1d\n\x19GENERICERROR_UNAUTHORIZED\x10\x06\x12+\n\'GENERICERROR_NOT_ALLOWED_OVER_TRANSPORT\x10\x07Ba\n\x1acom.tesla.generated.errorsZCgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/errorsb\x06proto3')
10
+ _GENERICERROR_E = DESCRIPTOR.enum_types_by_name['GenericError_E']
11
+ GenericError_E = enum_type_wrapper.EnumTypeWrapper(_GENERICERROR_E)
12
+ GENERICERROR_NONE = 0
13
+ GENERICERROR_UNKNOWN = 1
14
+ GENERICERROR_CLOSURES_OPEN = 2
15
+ GENERICERROR_ALREADY_ON = 3
16
+ GENERICERROR_DISABLED_FOR_USER_COMMAND = 4
17
+ GENERICERROR_VEHICLE_NOT_IN_PARK = 5
18
+ GENERICERROR_UNAUTHORIZED = 6
19
+ GENERICERROR_NOT_ALLOWED_OVER_TRANSPORT = 7
20
+ _NOMINALERROR = DESCRIPTOR.message_types_by_name['NominalError']
21
+ NominalError = _reflection.GeneratedProtocolMessageType('NominalError', (_message.Message,), {'DESCRIPTOR': _NOMINALERROR, '__module__': 'errors_pb2'})
22
+ _sym_db.RegisterMessage(NominalError)
23
+ if _descriptor._USE_C_DESCRIPTORS == False:
24
+ DESCRIPTOR._options = None
25
+ DESCRIPTOR._serialized_options = b'\n\x1acom.tesla.generated.errorsZCgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/errors'
26
+ _GENERICERROR_E._serialized_start = 87
27
+ _GENERICERROR_E._serialized_end = 371
28
+ _NOMINALERROR._serialized_start = 24
29
+ _NOMINALERROR._serialized_end = 84
@@ -0,0 +1,23 @@
1
+ """Generated protocol buffer code."""
2
+ from google.protobuf.internal import enum_type_wrapper
3
+ from google.protobuf import descriptor as _descriptor
4
+ from google.protobuf import descriptor_pool as _descriptor_pool
5
+ from google.protobuf import message as _message
6
+ from google.protobuf import reflection as _reflection
7
+ from google.protobuf import symbol_database as _symbol_database
8
+ _sym_db = _symbol_database.Default()
9
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nkeys.proto\x12\x04Keys*\x8a\x01\n\x04Role\x12\r\n\tROLE_NONE\x10\x00\x12\x10\n\x0cROLE_SERVICE\x10\x01\x12\x0e\n\nROLE_OWNER\x10\x02\x12\x0f\n\x0bROLE_DRIVER\x10\x03\x12\x0b\n\x07ROLE_FM\x10\x04\x12\x18\n\x14ROLE_VEHICLE_MONITOR\x10\x05\x12\x19\n\x15ROLE_CHARGING_MANAGER\x10\x06B]\n\x18com.tesla.generated.keysZAgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/keysb\x06proto3')
10
+ _ROLE = DESCRIPTOR.enum_types_by_name['Role']
11
+ Role = enum_type_wrapper.EnumTypeWrapper(_ROLE)
12
+ ROLE_NONE = 0
13
+ ROLE_SERVICE = 1
14
+ ROLE_OWNER = 2
15
+ ROLE_DRIVER = 3
16
+ ROLE_FM = 4
17
+ ROLE_VEHICLE_MONITOR = 5
18
+ ROLE_CHARGING_MANAGER = 6
19
+ if _descriptor._USE_C_DESCRIPTORS == False:
20
+ DESCRIPTOR._options = None
21
+ DESCRIPTOR._serialized_options = b'\n\x18com.tesla.generated.keysZAgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/keys'
22
+ _ROLE._serialized_start = 21
23
+ _ROLE._serialized_end = 159
@@ -0,0 +1,74 @@
1
+ """Generated protocol buffer code."""
2
+ from google.protobuf.internal import enum_type_wrapper
3
+ from google.protobuf import descriptor as _descriptor
4
+ from google.protobuf import descriptor_pool as _descriptor_pool
5
+ from google.protobuf import message as _message
6
+ from google.protobuf import reflection as _reflection
7
+ from google.protobuf import symbol_database as _symbol_database
8
+ _sym_db = _symbol_database.Default()
9
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10signatures.proto\x12\nSignatures"L\n\x0bKeyIdentity\x12\x14\n\npublic_key\x18\x01 \x01(\x0cH\x00\x12\x10\n\x06handle\x18\x03 \x01(\rH\x00B\x0f\n\ridentity_typeJ\x04\x08\x02\x10\x03"u\n#AES_GCM_Personalized_Signature_Data\x12\r\n\x05epoch\x18\x01 \x01(\x0c\x12\r\n\x05nonce\x18\x02 \x01(\x0c\x12\x0f\n\x07counter\x18\x03 \x01(\r\x12\x12\n\nexpires_at\x18\x04 \x01(\x07\x12\x0b\n\x03tag\x18\x05 \x01(\x0c""\n\x13HMAC_Signature_Data\x12\x0b\n\x03tag\x18\x01 \x01(\x0c"c\n HMAC_Personalized_Signature_Data\x12\r\n\x05epoch\x18\x01 \x01(\x0c\x12\x0f\n\x07counter\x18\x02 \x01(\r\x12\x12\n\nexpires_at\x18\x03 \x01(\x07\x12\x0b\n\x03tag\x18\x04 \x01(\x0c"\xb6\x02\n\rSignatureData\x120\n\x0fsigner_identity\x18\x01 \x01(\x0b2\x17.Signatures.KeyIdentity\x12T\n\x19AES_GCM_Personalized_data\x18\x05 \x01(\x0b2/.Signatures.AES_GCM_Personalized_Signature_DataH\x00\x12;\n\x10session_info_tag\x18\x06 \x01(\x0b2\x1f.Signatures.HMAC_Signature_DataH\x00\x12N\n\x16HMAC_Personalized_data\x18\x08 \x01(\x0b2,.Signatures.HMAC_Personalized_Signature_DataH\x00B\n\n\x08sig_typeJ\x04\x08\x07\x10\x08"F\n\x15GetSessionInfoRequest\x12-\n\x0ckey_identity\x18\x01 \x01(\x0b2\x17.Signatures.KeyIdentity"\x95\x01\n\x0bSessionInfo\x12\x0f\n\x07counter\x18\x01 \x01(\r\x12\x11\n\tpublicKey\x18\x02 \x01(\x0c\x12\r\n\x05epoch\x18\x03 \x01(\x0c\x12\x12\n\nclock_time\x18\x04 \x01(\x07\x12/\n\x06status\x18\x05 \x01(\x0e2\x1f.Signatures.Session_Info_Status\x12\x0e\n\x06handle\x18\x06 \x01(\r*\xaa\x01\n\x03Tag\x12\x16\n\x12TAG_SIGNATURE_TYPE\x10\x00\x12\x0e\n\nTAG_DOMAIN\x10\x01\x12\x17\n\x13TAG_PERSONALIZATION\x10\x02\x12\r\n\tTAG_EPOCH\x10\x03\x12\x12\n\x0eTAG_EXPIRES_AT\x10\x04\x12\x0f\n\x0bTAG_COUNTER\x10\x05\x12\x11\n\rTAG_CHALLENGE\x10\x06\x12\r\n\tTAG_FLAGS\x10\x07\x12\x0c\n\x07TAG_END\x10\xff\x01*\x99\x01\n\rSignatureType\x12\x1a\n\x16SIGNATURE_TYPE_AES_GCM\x10\x00\x12\'\n#SIGNATURE_TYPE_AES_GCM_PERSONALIZED\x10\x05\x12\x17\n\x13SIGNATURE_TYPE_HMAC\x10\x06\x12$\n SIGNATURE_TYPE_HMAC_PERSONALIZED\x10\x08"\x04\x08\x07\x10\x07*_\n\x13Session_Info_Status\x12\x1a\n\x16SESSION_INFO_STATUS_OK\x10\x00\x12,\n(SESSION_INFO_STATUS_KEY_NOT_ON_WHITELIST\x10\x01Bi\n\x1ecom.tesla.generated.signaturesZGgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/signaturesb\x06proto3')
10
+ _TAG = DESCRIPTOR.enum_types_by_name['Tag']
11
+ Tag = enum_type_wrapper.EnumTypeWrapper(_TAG)
12
+ _SIGNATURETYPE = DESCRIPTOR.enum_types_by_name['SignatureType']
13
+ SignatureType = enum_type_wrapper.EnumTypeWrapper(_SIGNATURETYPE)
14
+ _SESSION_INFO_STATUS = DESCRIPTOR.enum_types_by_name['Session_Info_Status']
15
+ Session_Info_Status = enum_type_wrapper.EnumTypeWrapper(_SESSION_INFO_STATUS)
16
+ TAG_SIGNATURE_TYPE = 0
17
+ TAG_DOMAIN = 1
18
+ TAG_PERSONALIZATION = 2
19
+ TAG_EPOCH = 3
20
+ TAG_EXPIRES_AT = 4
21
+ TAG_COUNTER = 5
22
+ TAG_CHALLENGE = 6
23
+ TAG_FLAGS = 7
24
+ TAG_END = 255
25
+ SIGNATURE_TYPE_AES_GCM = 0
26
+ SIGNATURE_TYPE_AES_GCM_PERSONALIZED = 5
27
+ SIGNATURE_TYPE_HMAC = 6
28
+ SIGNATURE_TYPE_HMAC_PERSONALIZED = 8
29
+ SESSION_INFO_STATUS_OK = 0
30
+ SESSION_INFO_STATUS_KEY_NOT_ON_WHITELIST = 1
31
+ _KEYIDENTITY = DESCRIPTOR.message_types_by_name['KeyIdentity']
32
+ _AES_GCM_PERSONALIZED_SIGNATURE_DATA = DESCRIPTOR.message_types_by_name['AES_GCM_Personalized_Signature_Data']
33
+ _HMAC_SIGNATURE_DATA = DESCRIPTOR.message_types_by_name['HMAC_Signature_Data']
34
+ _HMAC_PERSONALIZED_SIGNATURE_DATA = DESCRIPTOR.message_types_by_name['HMAC_Personalized_Signature_Data']
35
+ _SIGNATUREDATA = DESCRIPTOR.message_types_by_name['SignatureData']
36
+ _GETSESSIONINFOREQUEST = DESCRIPTOR.message_types_by_name['GetSessionInfoRequest']
37
+ _SESSIONINFO = DESCRIPTOR.message_types_by_name['SessionInfo']
38
+ KeyIdentity = _reflection.GeneratedProtocolMessageType('KeyIdentity', (_message.Message,), {'DESCRIPTOR': _KEYIDENTITY, '__module__': 'signatures_pb2'})
39
+ _sym_db.RegisterMessage(KeyIdentity)
40
+ AES_GCM_Personalized_Signature_Data = _reflection.GeneratedProtocolMessageType('AES_GCM_Personalized_Signature_Data', (_message.Message,), {'DESCRIPTOR': _AES_GCM_PERSONALIZED_SIGNATURE_DATA, '__module__': 'signatures_pb2'})
41
+ _sym_db.RegisterMessage(AES_GCM_Personalized_Signature_Data)
42
+ HMAC_Signature_Data = _reflection.GeneratedProtocolMessageType('HMAC_Signature_Data', (_message.Message,), {'DESCRIPTOR': _HMAC_SIGNATURE_DATA, '__module__': 'signatures_pb2'})
43
+ _sym_db.RegisterMessage(HMAC_Signature_Data)
44
+ HMAC_Personalized_Signature_Data = _reflection.GeneratedProtocolMessageType('HMAC_Personalized_Signature_Data', (_message.Message,), {'DESCRIPTOR': _HMAC_PERSONALIZED_SIGNATURE_DATA, '__module__': 'signatures_pb2'})
45
+ _sym_db.RegisterMessage(HMAC_Personalized_Signature_Data)
46
+ SignatureData = _reflection.GeneratedProtocolMessageType('SignatureData', (_message.Message,), {'DESCRIPTOR': _SIGNATUREDATA, '__module__': 'signatures_pb2'})
47
+ _sym_db.RegisterMessage(SignatureData)
48
+ GetSessionInfoRequest = _reflection.GeneratedProtocolMessageType('GetSessionInfoRequest', (_message.Message,), {'DESCRIPTOR': _GETSESSIONINFOREQUEST, '__module__': 'signatures_pb2'})
49
+ _sym_db.RegisterMessage(GetSessionInfoRequest)
50
+ SessionInfo = _reflection.GeneratedProtocolMessageType('SessionInfo', (_message.Message,), {'DESCRIPTOR': _SESSIONINFO, '__module__': 'signatures_pb2'})
51
+ _sym_db.RegisterMessage(SessionInfo)
52
+ if _descriptor._USE_C_DESCRIPTORS == False:
53
+ DESCRIPTOR._options = None
54
+ DESCRIPTOR._serialized_options = b'\n\x1ecom.tesla.generated.signaturesZGgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/signatures'
55
+ _TAG._serialized_start = 904
56
+ _TAG._serialized_end = 1074
57
+ _SIGNATURETYPE._serialized_start = 1077
58
+ _SIGNATURETYPE._serialized_end = 1230
59
+ _SESSION_INFO_STATUS._serialized_start = 1232
60
+ _SESSION_INFO_STATUS._serialized_end = 1327
61
+ _KEYIDENTITY._serialized_start = 32
62
+ _KEYIDENTITY._serialized_end = 108
63
+ _AES_GCM_PERSONALIZED_SIGNATURE_DATA._serialized_start = 110
64
+ _AES_GCM_PERSONALIZED_SIGNATURE_DATA._serialized_end = 227
65
+ _HMAC_SIGNATURE_DATA._serialized_start = 229
66
+ _HMAC_SIGNATURE_DATA._serialized_end = 263
67
+ _HMAC_PERSONALIZED_SIGNATURE_DATA._serialized_start = 265
68
+ _HMAC_PERSONALIZED_SIGNATURE_DATA._serialized_end = 364
69
+ _SIGNATUREDATA._serialized_start = 367
70
+ _SIGNATUREDATA._serialized_end = 677
71
+ _GETSESSIONINFOREQUEST._serialized_start = 679
72
+ _GETSESSIONINFOREQUEST._serialized_end = 749
73
+ _SESSIONINFO._serialized_start = 752
74
+ _SESSIONINFO._serialized_end = 901
@@ -0,0 +1,80 @@
1
+ """Generated protocol buffer code."""
2
+ from google.protobuf.internal import enum_type_wrapper
3
+ from google.protobuf import descriptor as _descriptor
4
+ from google.protobuf import descriptor_pool as _descriptor_pool
5
+ from google.protobuf import message as _message
6
+ from google.protobuf import reflection as _reflection
7
+ from google.protobuf import symbol_database as _symbol_database
8
+ _sym_db = _symbol_database.Default()
9
+ from . import signatures_pb2 as signatures__pb2
10
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17universal_message.proto\x12\x10UniversalMessage\x1a\x10signatures.proto"g\n\x0bDestination\x12*\n\x06domain\x18\x01 \x01(\x0e2\x18.UniversalMessage.DomainH\x00\x12\x19\n\x0frouting_address\x18\x02 \x01(\x0cH\x00B\x11\n\x0fsub_destination"\x8e\x01\n\rMessageStatus\x12=\n\x10operation_status\x18\x01 \x01(\x0e2#.UniversalMessage.OperationStatus_E\x12>\n\x14signed_message_fault\x18\x02 \x01(\x0e2 .UniversalMessage.MessageFault_E";\n\x12SessionInfoRequest\x12\x12\n\npublic_key\x18\x01 \x01(\x0c\x12\x11\n\tchallenge\x18\x02 \x01(\x0c"\xd6\x03\n\x0fRoutableMessage\x125\n\x0eto_destination\x18\x06 \x01(\x0b2\x1d.UniversalMessage.Destination\x127\n\x10from_destination\x18\x07 \x01(\x0b2\x1d.UniversalMessage.Destination\x12#\n\x19protobuf_message_as_bytes\x18\n \x01(\x0cH\x00\x12D\n\x14session_info_request\x18\x0e \x01(\x0b2$.UniversalMessage.SessionInfoRequestH\x00\x12\x16\n\x0csession_info\x18\x0f \x01(\x0cH\x00\x123\n\x0esignature_data\x18\r \x01(\x0b2\x19.Signatures.SignatureDataH\x01\x12<\n\x13signedMessageStatus\x18\x0c \x01(\x0b2\x1f.UniversalMessage.MessageStatus\x12\x14\n\x0crequest_uuid\x182 \x01(\x0c\x12\x0c\n\x04uuid\x183 \x01(\x0c\x12\r\n\x05flags\x184 \x01(\rB\t\n\x07payloadB\r\n\x0bsub_sigDataJ\x04\x08\x01\x10\x06J\x04\x08\x10\x10)J\x04\x08\x0b\x10\x0c*T\n\x06Domain\x12\x14\n\x10DOMAIN_BROADCAST\x10\x00\x12\x1b\n\x17DOMAIN_VEHICLE_SECURITY\x10\x02\x12\x17\n\x13DOMAIN_INFOTAINMENT\x10\x03*`\n\x11OperationStatus_E\x12\x16\n\x12OPERATIONSTATUS_OK\x10\x00\x12\x18\n\x14OPERATIONSTATUS_WAIT\x10\x01\x12\x19\n\x15OPERATIONSTATUS_ERROR\x10\x02*\x80\x08\n\x0eMessageFault_E\x12\x1b\n\x17MESSAGEFAULT_ERROR_NONE\x10\x00\x12\x1b\n\x17MESSAGEFAULT_ERROR_BUSY\x10\x01\x12\x1e\n\x1aMESSAGEFAULT_ERROR_TIMEOUT\x10\x02\x12%\n!MESSAGEFAULT_ERROR_UNKNOWN_KEY_ID\x10\x03\x12#\n\x1fMESSAGEFAULT_ERROR_INACTIVE_KEY\x10\x04\x12(\n$MESSAGEFAULT_ERROR_INVALID_SIGNATURE\x10\x05\x12/\n+MESSAGEFAULT_ERROR_INVALID_TOKEN_OR_COUNTER\x10\x06\x12.\n*MESSAGEFAULT_ERROR_INSUFFICIENT_PRIVILEGES\x10\x07\x12&\n"MESSAGEFAULT_ERROR_INVALID_DOMAINS\x10\x08\x12&\n"MESSAGEFAULT_ERROR_INVALID_COMMAND\x10\t\x12\x1f\n\x1bMESSAGEFAULT_ERROR_DECODING\x10\n\x12\x1f\n\x1bMESSAGEFAULT_ERROR_INTERNAL\x10\x0b\x12,\n(MESSAGEFAULT_ERROR_WRONG_PERSONALIZATION\x10\x0c\x12$\n MESSAGEFAULT_ERROR_BAD_PARAMETER\x10\r\x12\'\n#MESSAGEFAULT_ERROR_KEYCHAIN_IS_FULL\x10\x0e\x12&\n"MESSAGEFAULT_ERROR_INCORRECT_EPOCH\x10\x0f\x12*\n&MESSAGEFAULT_ERROR_IV_INCORRECT_LENGTH\x10\x10\x12#\n\x1fMESSAGEFAULT_ERROR_TIME_EXPIRED\x10\x11\x124\n0MESSAGEFAULT_ERROR_NOT_PROVISIONED_WITH_IDENTITY\x10\x12\x12.\n*MESSAGEFAULT_ERROR_COULD_NOT_HASH_METADATA\x10\x13\x12,\n(MESSAGEFAULT_ERROR_TIME_TO_LIVE_TOO_LONG\x10\x14\x12-\n)MESSAGEFAULT_ERROR_REMOTE_ACCESS_DISABLED\x10\x15\x125\n1MESSAGEFAULT_ERROR_REMOTE_SERVICE_ACCESS_DISABLED\x10\x16\x12;\n7MESSAGEFAULT_ERROR_COMMAND_REQUIRES_ACCOUNT_CREDENTIALS\x10\x17*\x1e\n\x05Flags\x12\x15\n\x11FLAG_USER_COMMAND\x10\x00Bu\n$com.tesla.generated.universalmessageZMgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/universalmessageb\x06proto3')
11
+ _DOMAIN = DESCRIPTOR.enum_types_by_name['Domain']
12
+ Domain = enum_type_wrapper.EnumTypeWrapper(_DOMAIN)
13
+ _OPERATIONSTATUS_E = DESCRIPTOR.enum_types_by_name['OperationStatus_E']
14
+ OperationStatus_E = enum_type_wrapper.EnumTypeWrapper(_OPERATIONSTATUS_E)
15
+ _MESSAGEFAULT_E = DESCRIPTOR.enum_types_by_name['MessageFault_E']
16
+ MessageFault_E = enum_type_wrapper.EnumTypeWrapper(_MESSAGEFAULT_E)
17
+ _FLAGS = DESCRIPTOR.enum_types_by_name['Flags']
18
+ Flags = enum_type_wrapper.EnumTypeWrapper(_FLAGS)
19
+ DOMAIN_BROADCAST = 0
20
+ DOMAIN_VEHICLE_SECURITY = 2
21
+ DOMAIN_INFOTAINMENT = 3
22
+ OPERATIONSTATUS_OK = 0
23
+ OPERATIONSTATUS_WAIT = 1
24
+ OPERATIONSTATUS_ERROR = 2
25
+ MESSAGEFAULT_ERROR_NONE = 0
26
+ MESSAGEFAULT_ERROR_BUSY = 1
27
+ MESSAGEFAULT_ERROR_TIMEOUT = 2
28
+ MESSAGEFAULT_ERROR_UNKNOWN_KEY_ID = 3
29
+ MESSAGEFAULT_ERROR_INACTIVE_KEY = 4
30
+ MESSAGEFAULT_ERROR_INVALID_SIGNATURE = 5
31
+ MESSAGEFAULT_ERROR_INVALID_TOKEN_OR_COUNTER = 6
32
+ MESSAGEFAULT_ERROR_INSUFFICIENT_PRIVILEGES = 7
33
+ MESSAGEFAULT_ERROR_INVALID_DOMAINS = 8
34
+ MESSAGEFAULT_ERROR_INVALID_COMMAND = 9
35
+ MESSAGEFAULT_ERROR_DECODING = 10
36
+ MESSAGEFAULT_ERROR_INTERNAL = 11
37
+ MESSAGEFAULT_ERROR_WRONG_PERSONALIZATION = 12
38
+ MESSAGEFAULT_ERROR_BAD_PARAMETER = 13
39
+ MESSAGEFAULT_ERROR_KEYCHAIN_IS_FULL = 14
40
+ MESSAGEFAULT_ERROR_INCORRECT_EPOCH = 15
41
+ MESSAGEFAULT_ERROR_IV_INCORRECT_LENGTH = 16
42
+ MESSAGEFAULT_ERROR_TIME_EXPIRED = 17
43
+ MESSAGEFAULT_ERROR_NOT_PROVISIONED_WITH_IDENTITY = 18
44
+ MESSAGEFAULT_ERROR_COULD_NOT_HASH_METADATA = 19
45
+ MESSAGEFAULT_ERROR_TIME_TO_LIVE_TOO_LONG = 20
46
+ MESSAGEFAULT_ERROR_REMOTE_ACCESS_DISABLED = 21
47
+ MESSAGEFAULT_ERROR_REMOTE_SERVICE_ACCESS_DISABLED = 22
48
+ MESSAGEFAULT_ERROR_COMMAND_REQUIRES_ACCOUNT_CREDENTIALS = 23
49
+ FLAG_USER_COMMAND = 0
50
+ _DESTINATION = DESCRIPTOR.message_types_by_name['Destination']
51
+ _MESSAGESTATUS = DESCRIPTOR.message_types_by_name['MessageStatus']
52
+ _SESSIONINFOREQUEST = DESCRIPTOR.message_types_by_name['SessionInfoRequest']
53
+ _ROUTABLEMESSAGE = DESCRIPTOR.message_types_by_name['RoutableMessage']
54
+ Destination = _reflection.GeneratedProtocolMessageType('Destination', (_message.Message,), {'DESCRIPTOR': _DESTINATION, '__module__': 'universal_message_pb2'})
55
+ _sym_db.RegisterMessage(Destination)
56
+ MessageStatus = _reflection.GeneratedProtocolMessageType('MessageStatus', (_message.Message,), {'DESCRIPTOR': _MESSAGESTATUS, '__module__': 'universal_message_pb2'})
57
+ _sym_db.RegisterMessage(MessageStatus)
58
+ SessionInfoRequest = _reflection.GeneratedProtocolMessageType('SessionInfoRequest', (_message.Message,), {'DESCRIPTOR': _SESSIONINFOREQUEST, '__module__': 'universal_message_pb2'})
59
+ _sym_db.RegisterMessage(SessionInfoRequest)
60
+ RoutableMessage = _reflection.GeneratedProtocolMessageType('RoutableMessage', (_message.Message,), {'DESCRIPTOR': _ROUTABLEMESSAGE, '__module__': 'universal_message_pb2'})
61
+ _sym_db.RegisterMessage(RoutableMessage)
62
+ if _descriptor._USE_C_DESCRIPTORS == False:
63
+ DESCRIPTOR._options = None
64
+ DESCRIPTOR._serialized_options = b'\n$com.tesla.generated.universalmessageZMgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/universalmessage'
65
+ _DOMAIN._serialized_start = 847
66
+ _DOMAIN._serialized_end = 931
67
+ _OPERATIONSTATUS_E._serialized_start = 933
68
+ _OPERATIONSTATUS_E._serialized_end = 1029
69
+ _MESSAGEFAULT_E._serialized_start = 1032
70
+ _MESSAGEFAULT_E._serialized_end = 2056
71
+ _FLAGS._serialized_start = 2058
72
+ _FLAGS._serialized_end = 2088
73
+ _DESTINATION._serialized_start = 63
74
+ _DESTINATION._serialized_end = 166
75
+ _MESSAGESTATUS._serialized_start = 169
76
+ _MESSAGESTATUS._serialized_end = 311
77
+ _SESSIONINFOREQUEST._serialized_start = 313
78
+ _SESSIONINFOREQUEST._serialized_end = 372
79
+ _ROUTABLEMESSAGE._serialized_start = 375
80
+ _ROUTABLEMESSAGE._serialized_end = 845
@@ -0,0 +1,245 @@
1
+ """Generated protocol buffer code."""
2
+ from google.protobuf.internal import enum_type_wrapper
3
+ from google.protobuf import descriptor as _descriptor
4
+ from google.protobuf import descriptor_pool as _descriptor_pool
5
+ from google.protobuf import message as _message
6
+ from google.protobuf import reflection as _reflection
7
+ from google.protobuf import symbol_database as _symbol_database
8
+ _sym_db = _symbol_database.Default()
9
+ from . import keys_pb2 as keys__pb2
10
+ from . import errors_pb2 as errors__pb2
11
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bvcsec.proto\x12\x05VCSEC\x1a\nkeys.proto\x1a\x0cerrors.proto"\\\n\rSignedMessage\x12\x1e\n\x16protobufMessageAsBytes\x18\x02 \x01(\x0c\x12+\n\rsignatureType\x18\x03 \x01(\x0e2\x14.VCSEC.SignatureType"=\n\x0eToVCSECMessage\x12+\n\rsignedMessage\x18\x01 \x01(\x0b2\x14.VCSEC.SignedMessage"&\n\rKeyIdentifier\x12\x15\n\rpublicKeySHA1\x18\x01 \x01(\x0c":\n\x0bKeyMetadata\x12+\n\rkeyFormFactor\x18\x01 \x01(\x0e2\x14.VCSEC.KeyFormFactor"!\n\tPublicKey\x12\x14\n\x0cPublicKeyRaw\x18\x01 \x01(\x0c"j\n\rWhitelistInfo\x12\x17\n\x0fnumberOfEntries\x18\x01 \x01(\r\x12.\n\x10whitelistEntries\x18\x02 \x03(\x0b2\x14.VCSEC.KeyIdentifier\x12\x10\n\x08slotMask\x18\x03 \x01(\r"\xb5\x01\n\x12WhitelistEntryInfo\x12#\n\x05keyId\x18\x01 \x01(\x0b2\x14.VCSEC.KeyIdentifier\x12#\n\tpublicKey\x18\x02 \x01(\x0b2\x10.VCSEC.PublicKey\x12*\n\x0emetadataForKey\x18\x04 \x01(\x0b2\x12.VCSEC.KeyMetadata\x12\x0c\n\x04slot\x18\x06 \x01(\r\x12\x1b\n\x07keyRole\x18\x07 \x01(\x0e2\n.Keys.Role"\xa6\x01\n\x12InformationRequest\x12=\n\x16informationRequestType\x18\x01 \x01(\x0e2\x1d.VCSEC.InformationRequestType\x12%\n\x05keyId\x18\x02 \x01(\x0b2\x14.VCSEC.KeyIdentifierH\x00\x12\x13\n\tpublicKey\x18\x03 \x01(\x0cH\x00\x12\x0e\n\x04slot\x18\x04 \x01(\rH\x00B\x05\n\x03key"\x98\x03\n\x12ClosureMoveRequest\x121\n\x0ffrontDriverDoor\x18\x01 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x124\n\x12frontPassengerDoor\x18\x02 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x120\n\x0erearDriverDoor\x18\x03 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x123\n\x11rearPassengerDoor\x18\x04 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x12+\n\trearTrunk\x18\x05 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x12,\n\nfrontTrunk\x18\x06 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x12,\n\nchargePort\x18\x07 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E\x12)\n\x07tonneau\x18\x08 \x01(\x0e2\x18.VCSEC.ClosureMoveType_E"i\n\x10PermissionChange\x12\x1d\n\x03key\x18\x01 \x01(\x0b2\x10.VCSEC.PublicKey\x12\x19\n\x11secondsToBeActive\x18\x03 \x01(\r\x12\x1b\n\x07keyRole\x18\x04 \x01(\x0e2\n.Keys.Role"\xbb\x01\n\nReplaceKey\x12.\n\x12publicKeyToReplace\x18\x01 \x01(\x0b2\x10.VCSEC.PublicKeyH\x00\x12\x17\n\rslotToReplace\x18\x02 \x01(\rH\x00\x12"\n\x08keyToAdd\x18\x03 \x01(\x0b2\x10.VCSEC.PublicKey\x12\x1b\n\x07keyRole\x18\x04 \x01(\x0e2\n.Keys.Role\x12\x13\n\x0bimpermanent\x18\x05 \x01(\x08B\x0e\n\x0ckeyToReplace"\x8c\x05\n\x12WhitelistOperation\x123\n\x17addPublicKeyToWhitelist\x18\x01 \x01(\x0b2\x10.VCSEC.PublicKeyH\x00\x128\n\x1cremovePublicKeyFromWhitelist\x18\x02 \x01(\x0b2\x10.VCSEC.PublicKeyH\x00\x12<\n\x19addPermissionsToPublicKey\x18\x03 \x01(\x0b2\x17.VCSEC.PermissionChangeH\x00\x12A\n\x1eremovePermissionsFromPublicKey\x18\x04 \x01(\x0b2\x17.VCSEC.PermissionChangeH\x00\x12E\n"addKeyToWhitelistAndAddPermissions\x18\x05 \x01(\x0b2\x17.VCSEC.PermissionChangeH\x00\x12:\n\x17updateKeyAndPermissions\x18\x07 \x01(\x0b2\x17.VCSEC.PermissionChangeH\x00\x124\n\x11addImpermanentKey\x18\x08 \x01(\x0b2\x17.VCSEC.PermissionChangeH\x00\x12E\n"addImpermanentKeyAndRemoveExisting\x18\t \x01(\x0b2\x17.VCSEC.PermissionChangeH\x00\x12"\n\x18removeAllImpermanentKeys\x18\x10 \x01(\x08H\x00\x12\'\n\nreplaceKey\x18\x11 \x01(\x0b2\x11.VCSEC.ReplaceKeyH\x00\x12*\n\x0emetadataForKey\x18\x06 \x01(\x0b2\x12.VCSEC.KeyMetadataB\r\n\x0bsub_message"\xcf\x01\n\x19WhitelistOperation_status\x12N\n\x1dwhitelistOperationInformation\x18\x01 \x01(\x0e2\'.VCSEC.WhitelistOperation_information_E\x12/\n\x11signerOfOperation\x18\x02 \x01(\x0b2\x14.VCSEC.KeyIdentifier\x121\n\x0foperationStatus\x18\x03 \x01(\x0e2\x18.VCSEC.OperationStatus_E"m\n\x14SignedMessage_status\x12\x0f\n\x07counter\x18\x01 \x01(\r\x12D\n\x18signedMessageInformation\x18\x02 \x01(\x0e2".VCSEC.SignedMessage_information_E"\xd3\x01\n\rCommandStatus\x121\n\x0foperationStatus\x18\x01 \x01(\x0e2\x18.VCSEC.OperationStatus_E\x12:\n\x13signedMessageStatus\x18\x02 \x01(\x0b2\x1b.VCSEC.SignedMessage_statusH\x00\x12D\n\x18whitelistOperationStatus\x18\x03 \x01(\x0b2 .VCSEC.WhitelistOperation_statusH\x00B\r\n\x0bsub_message"\x92\x02\n\x0fUnsignedMessage\x127\n\x12InformationRequest\x18\x01 \x01(\x0b2\x19.VCSEC.InformationRequestH\x00\x12\'\n\tRKEAction\x18\x02 \x01(\x0e2\x12.VCSEC.RKEAction_EH\x00\x127\n\x12closureMoveRequest\x18\x04 \x01(\x0b2\x19.VCSEC.ClosureMoveRequestH\x00\x127\n\x12WhitelistOperation\x18\x10 \x01(\x0b2\x19.VCSEC.WhitelistOperationH\x00B\r\n\x0bsub_messageJ\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08J\x04\x08\n\x10\x0bJ\x04\x08\x0c\x10\rJ\x04\x08\r\x10\x0e"\xfd\x02\n\x0fClosureStatuses\x12.\n\x0ffrontDriverDoor\x18\x01 \x01(\x0e2\x15.VCSEC.ClosureState_E\x121\n\x12frontPassengerDoor\x18\x02 \x01(\x0e2\x15.VCSEC.ClosureState_E\x12-\n\x0erearDriverDoor\x18\x03 \x01(\x0e2\x15.VCSEC.ClosureState_E\x120\n\x11rearPassengerDoor\x18\x04 \x01(\x0e2\x15.VCSEC.ClosureState_E\x12(\n\trearTrunk\x18\x05 \x01(\x0e2\x15.VCSEC.ClosureState_E\x12)\n\nfrontTrunk\x18\x06 \x01(\x0e2\x15.VCSEC.ClosureState_E\x12)\n\nchargePort\x18\x07 \x01(\x0e2\x15.VCSEC.ClosureState_E\x12&\n\x07tonneau\x18\x08 \x01(\x0e2\x15.VCSEC.ClosureState_E"3\n\x15DetailedClosureStatus\x12\x1a\n\x12tonneauPercentOpen\x18\x01 \x01(\r"\x98\x02\n\rVehicleStatus\x12/\n\x0fclosureStatuses\x18\x01 \x01(\x0b2\x16.VCSEC.ClosureStatuses\x123\n\x10vehicleLockState\x18\x02 \x01(\x0e2\x19.VCSEC.VehicleLockState_E\x127\n\x12vehicleSleepStatus\x18\x03 \x01(\x0e2\x1b.VCSEC.VehicleSleepStatus_E\x12+\n\x0cuserPresence\x18\x04 \x01(\x0e2\x15.VCSEC.UserPresence_E\x12;\n\x15detailedClosureStatus\x18\x05 \x01(\x0b2\x1c.VCSEC.DetailedClosureStatus"\x9b\x02\n\x10FromVCSECMessage\x12-\n\rvehicleStatus\x18\x01 \x01(\x0b2\x14.VCSEC.VehicleStatusH\x00\x12-\n\rcommandStatus\x18\x04 \x01(\x0b2\x14.VCSEC.CommandStatusH\x00\x12-\n\rwhitelistInfo\x18\x10 \x01(\x0b2\x14.VCSEC.WhitelistInfoH\x00\x127\n\x12whitelistEntryInfo\x18\x11 \x01(\x0b2\x19.VCSEC.WhitelistEntryInfoH\x00\x12,\n\x0cnominalError\x18. \x01(\x0b2\x14.Errors.NominalErrorH\x00B\r\n\x0bsub_messageJ\x04\x08\x06\x10\x0b*H\n\rSignatureType\x12\x17\n\x13SIGNATURE_TYPE_NONE\x10\x00\x12\x1e\n\x1aSIGNATURE_TYPE_PRESENT_KEY\x10\x02*\xad\x01\n\rKeyFormFactor\x12\x1b\n\x17KEY_FORM_FACTOR_UNKNOWN\x10\x00\x12\x1c\n\x18KEY_FORM_FACTOR_NFC_CARD\x10\x01\x12\x1e\n\x1aKEY_FORM_FACTOR_IOS_DEVICE\x10\x06\x12"\n\x1eKEY_FORM_FACTOR_ANDROID_DEVICE\x10\x07\x12\x1d\n\x19KEY_FORM_FACTOR_CLOUD_KEY\x10\t*\xa9\x01\n\x16InformationRequestType\x12\'\n#INFORMATION_REQUEST_TYPE_GET_STATUS\x10\x00\x12/\n+INFORMATION_REQUEST_TYPE_GET_WHITELIST_INFO\x10\x05\x125\n1INFORMATION_REQUEST_TYPE_GET_WHITELIST_ENTRY_INFO\x10\x06*\x97\x01\n\x0bRKEAction_E\x12\x15\n\x11RKE_ACTION_UNLOCK\x10\x00\x12\x13\n\x0fRKE_ACTION_LOCK\x10\x01\x12\x1b\n\x17RKE_ACTION_REMOTE_DRIVE\x10\x14\x12"\n\x1eRKE_ACTION_AUTO_SECURE_VEHICLE\x10\x1d\x12\x1b\n\x17RKE_ACTION_WAKE_VEHICLE\x10\x1e*\xa0\x01\n\x11ClosureMoveType_E\x12\x1a\n\x16CLOSURE_MOVE_TYPE_NONE\x10\x00\x12\x1a\n\x16CLOSURE_MOVE_TYPE_MOVE\x10\x01\x12\x1a\n\x16CLOSURE_MOVE_TYPE_STOP\x10\x02\x12\x1a\n\x16CLOSURE_MOVE_TYPE_OPEN\x10\x03\x12\x1b\n\x17CLOSURE_MOVE_TYPE_CLOSE\x10\x04*`\n\x11OperationStatus_E\x12\x16\n\x12OPERATIONSTATUS_OK\x10\x00\x12\x18\n\x14OPERATIONSTATUS_WAIT\x10\x01\x12\x19\n\x15OPERATIONSTATUS_ERROR\x10\x02*\xf3\x08\n\x1bSignedMessage_information_E\x12"\n\x1eSIGNEDMESSAGE_INFORMATION_NONE\x10\x00\x12+\n\'SIGNEDMESSAGE_INFORMATION_FAULT_UNKNOWN\x10\x01\x124\n0SIGNEDMESSAGE_INFORMATION_FAULT_NOT_ON_WHITELIST\x10\x02\x12<\n8SIGNEDMESSAGE_INFORMATION_FAULT_IV_SMALLER_THAN_EXPECTED\x10\x03\x121\n-SIGNEDMESSAGE_INFORMATION_FAULT_INVALID_TOKEN\x10\x04\x12=\n9SIGNEDMESSAGE_INFORMATION_FAULT_TOKEN_AND_COUNTER_INVALID\x10\x05\x124\n0SIGNEDMESSAGE_INFORMATION_FAULT_AES_DECRYPT_AUTH\x10\x06\x12/\n+SIGNEDMESSAGE_INFORMATION_FAULT_ECDSA_INPUT\x10\x07\x123\n/SIGNEDMESSAGE_INFORMATION_FAULT_ECDSA_SIGNATURE\x10\x08\x126\n2SIGNEDMESSAGE_INFORMATION_FAULT_LOCAL_ENTITY_START\x10\t\x127\n3SIGNEDMESSAGE_INFORMATION_FAULT_LOCAL_ENTITY_RESULT\x10\n\x12:\n6SIGNEDMESSAGE_INFORMATION_FAULT_COULD_NOT_RETRIEVE_KEY\x10\x0b\x12<\n8SIGNEDMESSAGE_INFORMATION_FAULT_COULD_NOT_RETRIEVE_TOKEN\x10\x0c\x127\n3SIGNEDMESSAGE_INFORMATION_FAULT_SIGNATURE_TOO_SHORT\x10\r\x12=\n9SIGNEDMESSAGE_INFORMATION_FAULT_TOKEN_IS_INCORRECT_LENGTH\x10\x0e\x123\n/SIGNEDMESSAGE_INFORMATION_FAULT_INCORRECT_EPOCH\x10\x0f\x127\n3SIGNEDMESSAGE_INFORMATION_FAULT_IV_INCORRECT_LENGTH\x10\x10\x120\n,SIGNEDMESSAGE_INFORMATION_FAULT_TIME_EXPIRED\x10\x11\x12A\n=SIGNEDMESSAGE_INFORMATION_FAULT_NOT_PROVISIONED_WITH_IDENTITY\x10\x12\x12;\n7SIGNEDMESSAGE_INFORMATION_FAULT_COULD_NOT_HASH_METADATA\x10\x13*\xc3\x0c\n WhitelistOperation_information_E\x12\'\n#WHITELISTOPERATION_INFORMATION_NONE\x10\x00\x125\n1WHITELISTOPERATION_INFORMATION_UNDOCUMENTED_ERROR\x10\x01\x12B\n>WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_REMOVE_ONESELF\x10\x02\x124\n0WHITELISTOPERATION_INFORMATION_KEYFOB_SLOTS_FULL\x10\x03\x121\n-WHITELISTOPERATION_INFORMATION_WHITELIST_FULL\x10\x04\x127\n3WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_ADD\x10\x05\x125\n1WHITELISTOPERATION_INFORMATION_INVALID_PUBLIC_KEY\x10\x06\x12:\n6WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_REMOVE\x10\x07\x12F\nBWHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_CHANGE_PERMISSIONS\x10\x08\x12L\nHWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ELEVATE_OTHER_ABOVE_ONESELF\x10\t\x12K\nGWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_DEMOTE_SUPERIOR_TO_ONESELF\x10\n\x12G\nCWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_REMOVE_OWN_PERMISSIONS\x10\x0b\x12>\n:WHITELISTOPERATION_INFORMATION_PUBLIC_KEY_NOT_ON_WHITELIST\x10\x0c\x12Y\nUWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_KEY_THAT_IS_ALREADY_ON_THE_WHITELIST\x10\r\x12F\nBWHITELISTOPERATION_INFORMATION_NOT_ALLOWED_TO_ADD_UNLESS_ON_READER\x10\x0e\x12A\n=WHITELISTOPERATION_INFORMATION_FM_MODIFYING_OUTSIDE_OF_F_MODE\x10\x0f\x12E\nAWHITELISTOPERATION_INFORMATION_FM_ATTEMPTING_TO_ADD_PERMANENT_KEY\x10\x10\x12H\nDWHITELISTOPERATION_INFORMATION_FM_ATTEMPTING_TO_REMOVE_PERMANENT_KEY\x10\x11\x129\n5WHITELISTOPERATION_INFORMATION_KEYCHAIN_WHILE_FS_FULL\x10\x12\x12E\nAWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_KEY_WITHOUT_ROLE\x10\x13\x12J\nFWHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_KEY_WITH_SERVICE_ROLE\x10\x14\x12Q\nMWHITELISTOPERATION_INFORMATION_NON_SERVICE_KEY_ATTEMPTING_TO_ADD_SERVICE_TECH\x10\x15\x12b\n^WHITELISTOPERATION_INFORMATION_SERVICE_KEY_ATTEMPTING_TO_ADD_SERVICE_TECH_OUTSIDE_SERVICE_MODE\x10\x16*\xc6\x01\n\x0eClosureState_E\x12\x17\n\x13CLOSURESTATE_CLOSED\x10\x00\x12\x15\n\x11CLOSURESTATE_OPEN\x10\x01\x12\x15\n\x11CLOSURESTATE_AJAR\x10\x02\x12\x18\n\x14CLOSURESTATE_UNKNOWN\x10\x03\x12\x1f\n\x1bCLOSURESTATE_FAILED_UNLATCH\x10\x04\x12\x18\n\x14CLOSURESTATE_OPENING\x10\x05\x12\x18\n\x14CLOSURESTATE_CLOSING\x10\x06*\x9f\x01\n\x12VehicleLockState_E\x12\x1d\n\x19VEHICLELOCKSTATE_UNLOCKED\x10\x00\x12\x1b\n\x17VEHICLELOCKSTATE_LOCKED\x10\x01\x12$\n VEHICLELOCKSTATE_INTERNAL_LOCKED\x10\x02\x12\'\n#VEHICLELOCKSTATE_SELECTIVE_UNLOCKED\x10\x03*y\n\x14VehicleSleepStatus_E\x12 \n\x1cVEHICLE_SLEEP_STATUS_UNKNOWN\x10\x00\x12\x1e\n\x1aVEHICLE_SLEEP_STATUS_AWAKE\x10\x01\x12\x1f\n\x1bVEHICLE_SLEEP_STATUS_ASLEEP\x10\x02*}\n\x0eUserPresence_E\x12!\n\x1dVEHICLE_USER_PRESENCE_UNKNOWN\x10\x00\x12%\n!VEHICLE_USER_PRESENCE_NOT_PRESENT\x10\x01\x12!\n\x1dVEHICLE_USER_PRESENCE_PRESENT\x10\x02B_\n\x19com.tesla.generated.vcsecZBgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/vcsecb\x06proto3')
12
+ _SIGNATURETYPE = DESCRIPTOR.enum_types_by_name['SignatureType']
13
+ SignatureType = enum_type_wrapper.EnumTypeWrapper(_SIGNATURETYPE)
14
+ _KEYFORMFACTOR = DESCRIPTOR.enum_types_by_name['KeyFormFactor']
15
+ KeyFormFactor = enum_type_wrapper.EnumTypeWrapper(_KEYFORMFACTOR)
16
+ _INFORMATIONREQUESTTYPE = DESCRIPTOR.enum_types_by_name['InformationRequestType']
17
+ InformationRequestType = enum_type_wrapper.EnumTypeWrapper(_INFORMATIONREQUESTTYPE)
18
+ _RKEACTION_E = DESCRIPTOR.enum_types_by_name['RKEAction_E']
19
+ RKEAction_E = enum_type_wrapper.EnumTypeWrapper(_RKEACTION_E)
20
+ _CLOSUREMOVETYPE_E = DESCRIPTOR.enum_types_by_name['ClosureMoveType_E']
21
+ ClosureMoveType_E = enum_type_wrapper.EnumTypeWrapper(_CLOSUREMOVETYPE_E)
22
+ _OPERATIONSTATUS_E = DESCRIPTOR.enum_types_by_name['OperationStatus_E']
23
+ OperationStatus_E = enum_type_wrapper.EnumTypeWrapper(_OPERATIONSTATUS_E)
24
+ _SIGNEDMESSAGE_INFORMATION_E = DESCRIPTOR.enum_types_by_name['SignedMessage_information_E']
25
+ SignedMessage_information_E = enum_type_wrapper.EnumTypeWrapper(_SIGNEDMESSAGE_INFORMATION_E)
26
+ _WHITELISTOPERATION_INFORMATION_E = DESCRIPTOR.enum_types_by_name['WhitelistOperation_information_E']
27
+ WhitelistOperation_information_E = enum_type_wrapper.EnumTypeWrapper(_WHITELISTOPERATION_INFORMATION_E)
28
+ _CLOSURESTATE_E = DESCRIPTOR.enum_types_by_name['ClosureState_E']
29
+ ClosureState_E = enum_type_wrapper.EnumTypeWrapper(_CLOSURESTATE_E)
30
+ _VEHICLELOCKSTATE_E = DESCRIPTOR.enum_types_by_name['VehicleLockState_E']
31
+ VehicleLockState_E = enum_type_wrapper.EnumTypeWrapper(_VEHICLELOCKSTATE_E)
32
+ _VEHICLESLEEPSTATUS_E = DESCRIPTOR.enum_types_by_name['VehicleSleepStatus_E']
33
+ VehicleSleepStatus_E = enum_type_wrapper.EnumTypeWrapper(_VEHICLESLEEPSTATUS_E)
34
+ _USERPRESENCE_E = DESCRIPTOR.enum_types_by_name['UserPresence_E']
35
+ UserPresence_E = enum_type_wrapper.EnumTypeWrapper(_USERPRESENCE_E)
36
+ SIGNATURE_TYPE_NONE = 0
37
+ SIGNATURE_TYPE_PRESENT_KEY = 2
38
+ KEY_FORM_FACTOR_UNKNOWN = 0
39
+ KEY_FORM_FACTOR_NFC_CARD = 1
40
+ KEY_FORM_FACTOR_IOS_DEVICE = 6
41
+ KEY_FORM_FACTOR_ANDROID_DEVICE = 7
42
+ KEY_FORM_FACTOR_CLOUD_KEY = 9
43
+ INFORMATION_REQUEST_TYPE_GET_STATUS = 0
44
+ INFORMATION_REQUEST_TYPE_GET_WHITELIST_INFO = 5
45
+ INFORMATION_REQUEST_TYPE_GET_WHITELIST_ENTRY_INFO = 6
46
+ RKE_ACTION_UNLOCK = 0
47
+ RKE_ACTION_LOCK = 1
48
+ RKE_ACTION_REMOTE_DRIVE = 20
49
+ RKE_ACTION_AUTO_SECURE_VEHICLE = 29
50
+ RKE_ACTION_WAKE_VEHICLE = 30
51
+ CLOSURE_MOVE_TYPE_NONE = 0
52
+ CLOSURE_MOVE_TYPE_MOVE = 1
53
+ CLOSURE_MOVE_TYPE_STOP = 2
54
+ CLOSURE_MOVE_TYPE_OPEN = 3
55
+ CLOSURE_MOVE_TYPE_CLOSE = 4
56
+ OPERATIONSTATUS_OK = 0
57
+ OPERATIONSTATUS_WAIT = 1
58
+ OPERATIONSTATUS_ERROR = 2
59
+ SIGNEDMESSAGE_INFORMATION_NONE = 0
60
+ SIGNEDMESSAGE_INFORMATION_FAULT_UNKNOWN = 1
61
+ SIGNEDMESSAGE_INFORMATION_FAULT_NOT_ON_WHITELIST = 2
62
+ SIGNEDMESSAGE_INFORMATION_FAULT_IV_SMALLER_THAN_EXPECTED = 3
63
+ SIGNEDMESSAGE_INFORMATION_FAULT_INVALID_TOKEN = 4
64
+ SIGNEDMESSAGE_INFORMATION_FAULT_TOKEN_AND_COUNTER_INVALID = 5
65
+ SIGNEDMESSAGE_INFORMATION_FAULT_AES_DECRYPT_AUTH = 6
66
+ SIGNEDMESSAGE_INFORMATION_FAULT_ECDSA_INPUT = 7
67
+ SIGNEDMESSAGE_INFORMATION_FAULT_ECDSA_SIGNATURE = 8
68
+ SIGNEDMESSAGE_INFORMATION_FAULT_LOCAL_ENTITY_START = 9
69
+ SIGNEDMESSAGE_INFORMATION_FAULT_LOCAL_ENTITY_RESULT = 10
70
+ SIGNEDMESSAGE_INFORMATION_FAULT_COULD_NOT_RETRIEVE_KEY = 11
71
+ SIGNEDMESSAGE_INFORMATION_FAULT_COULD_NOT_RETRIEVE_TOKEN = 12
72
+ SIGNEDMESSAGE_INFORMATION_FAULT_SIGNATURE_TOO_SHORT = 13
73
+ SIGNEDMESSAGE_INFORMATION_FAULT_TOKEN_IS_INCORRECT_LENGTH = 14
74
+ SIGNEDMESSAGE_INFORMATION_FAULT_INCORRECT_EPOCH = 15
75
+ SIGNEDMESSAGE_INFORMATION_FAULT_IV_INCORRECT_LENGTH = 16
76
+ SIGNEDMESSAGE_INFORMATION_FAULT_TIME_EXPIRED = 17
77
+ SIGNEDMESSAGE_INFORMATION_FAULT_NOT_PROVISIONED_WITH_IDENTITY = 18
78
+ SIGNEDMESSAGE_INFORMATION_FAULT_COULD_NOT_HASH_METADATA = 19
79
+ WHITELISTOPERATION_INFORMATION_NONE = 0
80
+ WHITELISTOPERATION_INFORMATION_UNDOCUMENTED_ERROR = 1
81
+ WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_REMOVE_ONESELF = 2
82
+ WHITELISTOPERATION_INFORMATION_KEYFOB_SLOTS_FULL = 3
83
+ WHITELISTOPERATION_INFORMATION_WHITELIST_FULL = 4
84
+ WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_ADD = 5
85
+ WHITELISTOPERATION_INFORMATION_INVALID_PUBLIC_KEY = 6
86
+ WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_REMOVE = 7
87
+ WHITELISTOPERATION_INFORMATION_NO_PERMISSION_TO_CHANGE_PERMISSIONS = 8
88
+ WHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ELEVATE_OTHER_ABOVE_ONESELF = 9
89
+ WHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_DEMOTE_SUPERIOR_TO_ONESELF = 10
90
+ WHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_REMOVE_OWN_PERMISSIONS = 11
91
+ WHITELISTOPERATION_INFORMATION_PUBLIC_KEY_NOT_ON_WHITELIST = 12
92
+ WHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_KEY_THAT_IS_ALREADY_ON_THE_WHITELIST = 13
93
+ WHITELISTOPERATION_INFORMATION_NOT_ALLOWED_TO_ADD_UNLESS_ON_READER = 14
94
+ WHITELISTOPERATION_INFORMATION_FM_MODIFYING_OUTSIDE_OF_F_MODE = 15
95
+ WHITELISTOPERATION_INFORMATION_FM_ATTEMPTING_TO_ADD_PERMANENT_KEY = 16
96
+ WHITELISTOPERATION_INFORMATION_FM_ATTEMPTING_TO_REMOVE_PERMANENT_KEY = 17
97
+ WHITELISTOPERATION_INFORMATION_KEYCHAIN_WHILE_FS_FULL = 18
98
+ WHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_KEY_WITHOUT_ROLE = 19
99
+ WHITELISTOPERATION_INFORMATION_ATTEMPTING_TO_ADD_KEY_WITH_SERVICE_ROLE = 20
100
+ WHITELISTOPERATION_INFORMATION_NON_SERVICE_KEY_ATTEMPTING_TO_ADD_SERVICE_TECH = 21
101
+ WHITELISTOPERATION_INFORMATION_SERVICE_KEY_ATTEMPTING_TO_ADD_SERVICE_TECH_OUTSIDE_SERVICE_MODE = 22
102
+ CLOSURESTATE_CLOSED = 0
103
+ CLOSURESTATE_OPEN = 1
104
+ CLOSURESTATE_AJAR = 2
105
+ CLOSURESTATE_UNKNOWN = 3
106
+ CLOSURESTATE_FAILED_UNLATCH = 4
107
+ CLOSURESTATE_OPENING = 5
108
+ CLOSURESTATE_CLOSING = 6
109
+ VEHICLELOCKSTATE_UNLOCKED = 0
110
+ VEHICLELOCKSTATE_LOCKED = 1
111
+ VEHICLELOCKSTATE_INTERNAL_LOCKED = 2
112
+ VEHICLELOCKSTATE_SELECTIVE_UNLOCKED = 3
113
+ VEHICLE_SLEEP_STATUS_UNKNOWN = 0
114
+ VEHICLE_SLEEP_STATUS_AWAKE = 1
115
+ VEHICLE_SLEEP_STATUS_ASLEEP = 2
116
+ VEHICLE_USER_PRESENCE_UNKNOWN = 0
117
+ VEHICLE_USER_PRESENCE_NOT_PRESENT = 1
118
+ VEHICLE_USER_PRESENCE_PRESENT = 2
119
+ _SIGNEDMESSAGE = DESCRIPTOR.message_types_by_name['SignedMessage']
120
+ _TOVCSECMESSAGE = DESCRIPTOR.message_types_by_name['ToVCSECMessage']
121
+ _KEYIDENTIFIER = DESCRIPTOR.message_types_by_name['KeyIdentifier']
122
+ _KEYMETADATA = DESCRIPTOR.message_types_by_name['KeyMetadata']
123
+ _PUBLICKEY = DESCRIPTOR.message_types_by_name['PublicKey']
124
+ _WHITELISTINFO = DESCRIPTOR.message_types_by_name['WhitelistInfo']
125
+ _WHITELISTENTRYINFO = DESCRIPTOR.message_types_by_name['WhitelistEntryInfo']
126
+ _INFORMATIONREQUEST = DESCRIPTOR.message_types_by_name['InformationRequest']
127
+ _CLOSUREMOVEREQUEST = DESCRIPTOR.message_types_by_name['ClosureMoveRequest']
128
+ _PERMISSIONCHANGE = DESCRIPTOR.message_types_by_name['PermissionChange']
129
+ _REPLACEKEY = DESCRIPTOR.message_types_by_name['ReplaceKey']
130
+ _WHITELISTOPERATION = DESCRIPTOR.message_types_by_name['WhitelistOperation']
131
+ _WHITELISTOPERATION_STATUS = DESCRIPTOR.message_types_by_name['WhitelistOperation_status']
132
+ _SIGNEDMESSAGE_STATUS = DESCRIPTOR.message_types_by_name['SignedMessage_status']
133
+ _COMMANDSTATUS = DESCRIPTOR.message_types_by_name['CommandStatus']
134
+ _UNSIGNEDMESSAGE = DESCRIPTOR.message_types_by_name['UnsignedMessage']
135
+ _CLOSURESTATUSES = DESCRIPTOR.message_types_by_name['ClosureStatuses']
136
+ _DETAILEDCLOSURESTATUS = DESCRIPTOR.message_types_by_name['DetailedClosureStatus']
137
+ _VEHICLESTATUS = DESCRIPTOR.message_types_by_name['VehicleStatus']
138
+ _FROMVCSECMESSAGE = DESCRIPTOR.message_types_by_name['FromVCSECMessage']
139
+ SignedMessage = _reflection.GeneratedProtocolMessageType('SignedMessage', (_message.Message,), {'DESCRIPTOR': _SIGNEDMESSAGE, '__module__': 'vcsec_pb2'})
140
+ _sym_db.RegisterMessage(SignedMessage)
141
+ ToVCSECMessage = _reflection.GeneratedProtocolMessageType('ToVCSECMessage', (_message.Message,), {'DESCRIPTOR': _TOVCSECMESSAGE, '__module__': 'vcsec_pb2'})
142
+ _sym_db.RegisterMessage(ToVCSECMessage)
143
+ KeyIdentifier = _reflection.GeneratedProtocolMessageType('KeyIdentifier', (_message.Message,), {'DESCRIPTOR': _KEYIDENTIFIER, '__module__': 'vcsec_pb2'})
144
+ _sym_db.RegisterMessage(KeyIdentifier)
145
+ KeyMetadata = _reflection.GeneratedProtocolMessageType('KeyMetadata', (_message.Message,), {'DESCRIPTOR': _KEYMETADATA, '__module__': 'vcsec_pb2'})
146
+ _sym_db.RegisterMessage(KeyMetadata)
147
+ PublicKey = _reflection.GeneratedProtocolMessageType('PublicKey', (_message.Message,), {'DESCRIPTOR': _PUBLICKEY, '__module__': 'vcsec_pb2'})
148
+ _sym_db.RegisterMessage(PublicKey)
149
+ WhitelistInfo = _reflection.GeneratedProtocolMessageType('WhitelistInfo', (_message.Message,), {'DESCRIPTOR': _WHITELISTINFO, '__module__': 'vcsec_pb2'})
150
+ _sym_db.RegisterMessage(WhitelistInfo)
151
+ WhitelistEntryInfo = _reflection.GeneratedProtocolMessageType('WhitelistEntryInfo', (_message.Message,), {'DESCRIPTOR': _WHITELISTENTRYINFO, '__module__': 'vcsec_pb2'})
152
+ _sym_db.RegisterMessage(WhitelistEntryInfo)
153
+ InformationRequest = _reflection.GeneratedProtocolMessageType('InformationRequest', (_message.Message,), {'DESCRIPTOR': _INFORMATIONREQUEST, '__module__': 'vcsec_pb2'})
154
+ _sym_db.RegisterMessage(InformationRequest)
155
+ ClosureMoveRequest = _reflection.GeneratedProtocolMessageType('ClosureMoveRequest', (_message.Message,), {'DESCRIPTOR': _CLOSUREMOVEREQUEST, '__module__': 'vcsec_pb2'})
156
+ _sym_db.RegisterMessage(ClosureMoveRequest)
157
+ PermissionChange = _reflection.GeneratedProtocolMessageType('PermissionChange', (_message.Message,), {'DESCRIPTOR': _PERMISSIONCHANGE, '__module__': 'vcsec_pb2'})
158
+ _sym_db.RegisterMessage(PermissionChange)
159
+ ReplaceKey = _reflection.GeneratedProtocolMessageType('ReplaceKey', (_message.Message,), {'DESCRIPTOR': _REPLACEKEY, '__module__': 'vcsec_pb2'})
160
+ _sym_db.RegisterMessage(ReplaceKey)
161
+ WhitelistOperation = _reflection.GeneratedProtocolMessageType('WhitelistOperation', (_message.Message,), {'DESCRIPTOR': _WHITELISTOPERATION, '__module__': 'vcsec_pb2'})
162
+ _sym_db.RegisterMessage(WhitelistOperation)
163
+ WhitelistOperation_status = _reflection.GeneratedProtocolMessageType('WhitelistOperation_status', (_message.Message,), {'DESCRIPTOR': _WHITELISTOPERATION_STATUS, '__module__': 'vcsec_pb2'})
164
+ _sym_db.RegisterMessage(WhitelistOperation_status)
165
+ SignedMessage_status = _reflection.GeneratedProtocolMessageType('SignedMessage_status', (_message.Message,), {'DESCRIPTOR': _SIGNEDMESSAGE_STATUS, '__module__': 'vcsec_pb2'})
166
+ _sym_db.RegisterMessage(SignedMessage_status)
167
+ CommandStatus = _reflection.GeneratedProtocolMessageType('CommandStatus', (_message.Message,), {'DESCRIPTOR': _COMMANDSTATUS, '__module__': 'vcsec_pb2'})
168
+ _sym_db.RegisterMessage(CommandStatus)
169
+ UnsignedMessage = _reflection.GeneratedProtocolMessageType('UnsignedMessage', (_message.Message,), {'DESCRIPTOR': _UNSIGNEDMESSAGE, '__module__': 'vcsec_pb2'})
170
+ _sym_db.RegisterMessage(UnsignedMessage)
171
+ ClosureStatuses = _reflection.GeneratedProtocolMessageType('ClosureStatuses', (_message.Message,), {'DESCRIPTOR': _CLOSURESTATUSES, '__module__': 'vcsec_pb2'})
172
+ _sym_db.RegisterMessage(ClosureStatuses)
173
+ DetailedClosureStatus = _reflection.GeneratedProtocolMessageType('DetailedClosureStatus', (_message.Message,), {'DESCRIPTOR': _DETAILEDCLOSURESTATUS, '__module__': 'vcsec_pb2'})
174
+ _sym_db.RegisterMessage(DetailedClosureStatus)
175
+ VehicleStatus = _reflection.GeneratedProtocolMessageType('VehicleStatus', (_message.Message,), {'DESCRIPTOR': _VEHICLESTATUS, '__module__': 'vcsec_pb2'})
176
+ _sym_db.RegisterMessage(VehicleStatus)
177
+ FromVCSECMessage = _reflection.GeneratedProtocolMessageType('FromVCSECMessage', (_message.Message,), {'DESCRIPTOR': _FROMVCSECMESSAGE, '__module__': 'vcsec_pb2'})
178
+ _sym_db.RegisterMessage(FromVCSECMessage)
179
+ if _descriptor._USE_C_DESCRIPTORS == False:
180
+ DESCRIPTOR._options = None
181
+ DESCRIPTOR._serialized_options = b'\n\x19com.tesla.generated.vcsecZBgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/vcsec'
182
+ _SIGNATURETYPE._serialized_start = 3982
183
+ _SIGNATURETYPE._serialized_end = 4054
184
+ _KEYFORMFACTOR._serialized_start = 4057
185
+ _KEYFORMFACTOR._serialized_end = 4230
186
+ _INFORMATIONREQUESTTYPE._serialized_start = 4233
187
+ _INFORMATIONREQUESTTYPE._serialized_end = 4402
188
+ _RKEACTION_E._serialized_start = 4405
189
+ _RKEACTION_E._serialized_end = 4556
190
+ _CLOSUREMOVETYPE_E._serialized_start = 4559
191
+ _CLOSUREMOVETYPE_E._serialized_end = 4719
192
+ _OPERATIONSTATUS_E._serialized_start = 4721
193
+ _OPERATIONSTATUS_E._serialized_end = 4817
194
+ _SIGNEDMESSAGE_INFORMATION_E._serialized_start = 4820
195
+ _SIGNEDMESSAGE_INFORMATION_E._serialized_end = 5959
196
+ _WHITELISTOPERATION_INFORMATION_E._serialized_start = 5962
197
+ _WHITELISTOPERATION_INFORMATION_E._serialized_end = 7565
198
+ _CLOSURESTATE_E._serialized_start = 7568
199
+ _CLOSURESTATE_E._serialized_end = 7766
200
+ _VEHICLELOCKSTATE_E._serialized_start = 7769
201
+ _VEHICLELOCKSTATE_E._serialized_end = 7928
202
+ _VEHICLESLEEPSTATUS_E._serialized_start = 7930
203
+ _VEHICLESLEEPSTATUS_E._serialized_end = 8051
204
+ _USERPRESENCE_E._serialized_start = 8053
205
+ _USERPRESENCE_E._serialized_end = 8178
206
+ _SIGNEDMESSAGE._serialized_start = 48
207
+ _SIGNEDMESSAGE._serialized_end = 140
208
+ _TOVCSECMESSAGE._serialized_start = 142
209
+ _TOVCSECMESSAGE._serialized_end = 203
210
+ _KEYIDENTIFIER._serialized_start = 205
211
+ _KEYIDENTIFIER._serialized_end = 243
212
+ _KEYMETADATA._serialized_start = 245
213
+ _KEYMETADATA._serialized_end = 303
214
+ _PUBLICKEY._serialized_start = 305
215
+ _PUBLICKEY._serialized_end = 338
216
+ _WHITELISTINFO._serialized_start = 340
217
+ _WHITELISTINFO._serialized_end = 446
218
+ _WHITELISTENTRYINFO._serialized_start = 449
219
+ _WHITELISTENTRYINFO._serialized_end = 630
220
+ _INFORMATIONREQUEST._serialized_start = 633
221
+ _INFORMATIONREQUEST._serialized_end = 799
222
+ _CLOSUREMOVEREQUEST._serialized_start = 802
223
+ _CLOSUREMOVEREQUEST._serialized_end = 1210
224
+ _PERMISSIONCHANGE._serialized_start = 1212
225
+ _PERMISSIONCHANGE._serialized_end = 1317
226
+ _REPLACEKEY._serialized_start = 1320
227
+ _REPLACEKEY._serialized_end = 1507
228
+ _WHITELISTOPERATION._serialized_start = 1510
229
+ _WHITELISTOPERATION._serialized_end = 2162
230
+ _WHITELISTOPERATION_STATUS._serialized_start = 2165
231
+ _WHITELISTOPERATION_STATUS._serialized_end = 2372
232
+ _SIGNEDMESSAGE_STATUS._serialized_start = 2374
233
+ _SIGNEDMESSAGE_STATUS._serialized_end = 2483
234
+ _COMMANDSTATUS._serialized_start = 2486
235
+ _COMMANDSTATUS._serialized_end = 2697
236
+ _UNSIGNEDMESSAGE._serialized_start = 2700
237
+ _UNSIGNEDMESSAGE._serialized_end = 2974
238
+ _CLOSURESTATUSES._serialized_start = 2977
239
+ _CLOSURESTATUSES._serialized_end = 3358
240
+ _DETAILEDCLOSURESTATUS._serialized_start = 3360
241
+ _DETAILEDCLOSURESTATUS._serialized_end = 3411
242
+ _VEHICLESTATUS._serialized_start = 3414
243
+ _VEHICLESTATUS._serialized_end = 3694
244
+ _FROMVCSECMESSAGE._serialized_start = 3697
245
+ _FROMVCSECMESSAGE._serialized_end = 3980
@@ -0,0 +1,28 @@
1
+ """Generated protocol buffer code."""
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import descriptor_pool as _descriptor_pool
4
+ from google.protobuf import message as _message
5
+ from google.protobuf import reflection as _reflection
6
+ from google.protobuf import symbol_database as _symbol_database
7
+ _sym_db = _symbol_database.Default()
8
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rvehicle.proto\x12\tCarServer"j\n\x0cVehicleState\x124\n\tguestMode\x18J \x01(\x0b2!.CarServer.VehicleState.GuestMode\x1a$\n\tGuestMode\x12\x17\n\x0fGuestModeActive\x18\x01 \x01(\x08"\x98\x01\n\x0cClimateState"\x87\x01\n\x11CopActivationTemp\x12 \n\x1cCopActivationTempUnspecified\x10\x00\x12\x18\n\x14CopActivationTempLow\x10\x01\x12\x1b\n\x17CopActivationTempMedium\x10\x02\x12\x19\n\x15CopActivationTempHigh\x10\x03Bx\n%com.tesla.generated.carserver.vehicleB\x07VehicleZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserverb\x06proto3')
9
+ _VEHICLESTATE = DESCRIPTOR.message_types_by_name['VehicleState']
10
+ _VEHICLESTATE_GUESTMODE = _VEHICLESTATE.nested_types_by_name['GuestMode']
11
+ _CLIMATESTATE = DESCRIPTOR.message_types_by_name['ClimateState']
12
+ _CLIMATESTATE_COPACTIVATIONTEMP = _CLIMATESTATE.enum_types_by_name['CopActivationTemp']
13
+ VehicleState = _reflection.GeneratedProtocolMessageType('VehicleState', (_message.Message,), {'GuestMode': _reflection.GeneratedProtocolMessageType('GuestMode', (_message.Message,), {'DESCRIPTOR': _VEHICLESTATE_GUESTMODE, '__module__': 'vehicle_pb2'}), 'DESCRIPTOR': _VEHICLESTATE, '__module__': 'vehicle_pb2'})
14
+ _sym_db.RegisterMessage(VehicleState)
15
+ _sym_db.RegisterMessage(VehicleState.GuestMode)
16
+ ClimateState = _reflection.GeneratedProtocolMessageType('ClimateState', (_message.Message,), {'DESCRIPTOR': _CLIMATESTATE, '__module__': 'vehicle_pb2'})
17
+ _sym_db.RegisterMessage(ClimateState)
18
+ if _descriptor._USE_C_DESCRIPTORS == False:
19
+ DESCRIPTOR._options = None
20
+ DESCRIPTOR._serialized_options = b'\n%com.tesla.generated.carserver.vehicleB\x07VehicleZFgithub.com/teslamotors/vehicle-command/pkg/protocol/protobuf/carserver'
21
+ _VEHICLESTATE._serialized_start = 28
22
+ _VEHICLESTATE._serialized_end = 134
23
+ _VEHICLESTATE_GUESTMODE._serialized_start = 98
24
+ _VEHICLESTATE_GUESTMODE._serialized_end = 134
25
+ _CLIMATESTATE._serialized_start = 137
26
+ _CLIMATESTATE._serialized_end = 289
27
+ _CLIMATESTATE_COPACTIVATIONTEMP._serialized_start = 154
28
+ _CLIMATESTATE_COPACTIVATIONTEMP._serialized_end = 289
@@ -2,8 +2,15 @@
2
2
 
3
3
  from json import dumps
4
4
  from typing import Any, Awaitable
5
+ from os.path import exists
5
6
  import aiohttp
6
7
 
8
+ # cryptography
9
+ from cryptography.hazmat.primitives.ciphers.aead import AESGCM
10
+ from cryptography.hazmat.primitives.asymmetric import ec
11
+ from cryptography.hazmat.primitives import hashes, serialization
12
+ from cryptography.hazmat.backends import default_backend
13
+
7
14
  from .exceptions import raise_for_status, InvalidRegion, LibraryError, ResponseError
8
15
  from .const import SERVERS, Method, LOGGER, VERSION
9
16
  from .charging import Charging
@@ -23,6 +30,7 @@ class TeslaFleetApi:
23
30
  session: aiohttp.ClientSession
24
31
  headers: dict[str, str]
25
32
  refresh_hook: Awaitable | None = None
33
+ _private_key: ec.EllipticCurvePrivateKey
26
34
 
27
35
  def __init__(
28
36
  self,
@@ -98,7 +106,6 @@ class TeslaFleetApi:
98
106
  if access_token := await self.refresh_hook():
99
107
  self.access_token = access_token
100
108
 
101
-
102
109
  # Remove None values from params and json
103
110
  if params:
104
111
  params = {k: v for k, v in params.items() if v is not None}
@@ -153,3 +160,35 @@ class TeslaFleetApi:
153
160
  Method.GET,
154
161
  "api/1/products",
155
162
  )
163
+
164
+ def private_key(self, path: str = "private_key.pem") -> ec.EllipticCurvePrivateKey:
165
+ """Create or load the private key."""
166
+ if not exists(path):
167
+ self._private_key = ec.generate_private_key(
168
+ ec.SECP256R1(), default_backend()
169
+ )
170
+ # save the key
171
+ pem = self._private_key.private_bytes(
172
+ encoding=serialization.Encoding.PEM,
173
+ format=serialization.PrivateFormat.TraditionalOpenSSL,
174
+ encryption_algorithm=serialization.NoEncryption(),
175
+ )
176
+ with open(path, "wb") as key_file:
177
+ key_file.write(pem)
178
+ return self._private_key
179
+ else:
180
+ try:
181
+ with open(path, "rb") as key_file:
182
+ key_data = key_file.read()
183
+ value = serialization.load_pem_private_key(
184
+ key_data, password=None, backend=default_backend()
185
+ )
186
+ except FileNotFoundError:
187
+ raise FileNotFoundError(f"Private key file not found at {path}")
188
+ except PermissionError:
189
+ raise PermissionError(f"Permission denied when trying to read {path}")
190
+
191
+ if not isinstance(value, ec.EllipticCurvePrivateKey):
192
+ raise AssertionError("Loaded key is not an EllipticCurvePrivateKey")
193
+ self._private_key = value
194
+ return self._private_key
@@ -14,6 +14,7 @@ from .const import Method, LOGGER, Scope
14
14
  # Rate limit should be global, even if multiple instances are created
15
15
  rate_limit = AsyncLimiter(5, 10)
16
16
 
17
+
17
18
  class Teslemetry(TeslaFleetApi):
18
19
  def __init__(
19
20
  self,
@@ -26,7 +27,7 @@ class Teslemetry(TeslaFleetApi):
26
27
  access_token=access_token,
27
28
  server="https://api.teslemetry.com",
28
29
  user_scope=False,
29
- partner_scope=False
30
+ partner_scope=False,
30
31
  )
31
32
  self.rate_limit = rate_limit
32
33
 
@@ -75,22 +76,30 @@ class Teslemetry(TeslaFleetApi):
75
76
  assert self.region
76
77
  return self.region
77
78
 
78
- async def server_side_polling(self, vin: str, value: bool | None = None) -> bool | None:
79
+ async def server_side_polling(
80
+ self, vin: str, value: bool | None = None
81
+ ) -> bool | None:
79
82
  """Get or set Auto mode."""
80
83
  if value is True:
81
- return (await self._request(
82
- Method.POST,
83
- f"api/auto/{vin}",
84
- )).get("response")
84
+ return (
85
+ await self._request(
86
+ Method.POST,
87
+ f"api/auto/{vin}",
88
+ )
89
+ ).get("response")
85
90
  if value is False:
86
- return (await self._request(
87
- Method.DELETE,
91
+ return (
92
+ await self._request(
93
+ Method.DELETE,
94
+ f"api/auto/{vin}",
95
+ )
96
+ ).get("response")
97
+ return (
98
+ await self._request(
99
+ Method.GET,
88
100
  f"api/auto/{vin}",
89
- )).get("response")
90
- return (await self._request(
91
- Method.GET,
92
- f"api/auto/{vin}",
93
- )).get("response")
101
+ )
102
+ ).get("response")
94
103
 
95
104
  async def _request(
96
105
  self,