# Протокол

## Оглавление

- [deviceapis/device/v1/deviceapis_device_encryption_profile_v1.proto](#deviceapis_device_v1_deviceapis_device_encryption_profile_v1-proto)
    - [EncryptionProfileService](#deviceapis-device-v1-EncryptionProfileService)
  
    - [DeleteEncryptionProfileListRequest](#deviceapis-device-v1-DeleteEncryptionProfileListRequest)
    - [DeleteEncryptionProfileListResponse](#deviceapis-device-v1-DeleteEncryptionProfileListResponse)
    - [DeleteEncryptionProfileListResponse.Error](#deviceapis-device-v1-DeleteEncryptionProfileListResponse-Error)
    - [DeleteEncryptionProfileRequest](#deviceapis-device-v1-DeleteEncryptionProfileRequest)
    - [DeleteEncryptionProfileResponse](#deviceapis-device-v1-DeleteEncryptionProfileResponse)
    - [DeleteEncryptionProfileResponse.Error](#deviceapis-device-v1-DeleteEncryptionProfileResponse-Error)
    - [EncryptionProfile](#deviceapis-device-v1-EncryptionProfile)
    - [EncryptionProfile.DeletingError](#deviceapis-device-v1-EncryptionProfile-DeletingError)
    - [EncryptionProfile.DeletingError.EncryptionProfileInUse](#deviceapis-device-v1-EncryptionProfile-DeletingError-EncryptionProfileInUse)
    - [EncryptionProfile.SavingError](#deviceapis-device-v1-EncryptionProfile-SavingError)
    - [EncryptionProfile.SavingError.DuplicateName](#deviceapis-device-v1-EncryptionProfile-SavingError-DuplicateName)
    - [EncryptionProfile.SavingError.TooMuchEncryptionProfiles](#deviceapis-device-v1-EncryptionProfile-SavingError-TooMuchEncryptionProfiles)
    - [EncryptionProfileFilter](#deviceapis-device-v1-EncryptionProfileFilter)
    - [GetEncryptionProfileListRequest](#deviceapis-device-v1-GetEncryptionProfileListRequest)
    - [GetEncryptionProfileListResponse](#deviceapis-device-v1-GetEncryptionProfileListResponse)
    - [GetEncryptionProfileRequest](#deviceapis-device-v1-GetEncryptionProfileRequest)
    - [GetEncryptionProfileResponse](#deviceapis-device-v1-GetEncryptionProfileResponse)
    - [SaveEncryptionProfileRequest](#deviceapis-device-v1-SaveEncryptionProfileRequest)
    - [SaveEncryptionProfileResponse](#deviceapis-device-v1-SaveEncryptionProfileResponse)
    - [SaveEncryptionProfileResponse.Error](#deviceapis-device-v1-SaveEncryptionProfileResponse-Error)
  
    - [EncryptionProfile.Type](#deviceapis-device-v1-EncryptionProfile-Type)
  


## [Схема классов](/svg/protos/key/deviceapis/device/v1/deviceapis_device_encryption_profile_v1.proto.svg)
<a href="/svg/protos/key/deviceapis/device/v1/deviceapis_device_encryption_profile_v1.proto.svg"><img src="/svg/protos/key/deviceapis/device/v1/deviceapis_device_encryption_profile_v1.proto.svg" alt="/svg/protos/key/deviceapis/device/v1/deviceapis_device_encryption_profile_v1.proto.svg" style="height:100%;"></a>




<a name="deviceapis_device_v1_deviceapis_device_encryption_profile_v1-proto"></a>

## [deviceapis/device/v1/deviceapis_device_encryption_profile_v1.proto](/protos/key/deviceapis/device/v1/deviceapis_device_encryption_profile_v1.proto)
Сервис профилей шифрования устройства


<a name="deviceapis-device-v1-EncryptionProfileService"></a>

### EncryptionProfileService
 Сервис профилей шифрования устройства

| Название метода | Описание | Тип запроса | Тип ответа |
| --------------- | -------- | ----------- | -----------|
| <a id="deviceapis-device-v1-DeleteEncryptionProfile"></a> [DeleteEncryptionProfile](#deviceapis-device-v1-DeleteEncryptionProfile) | Метод удаления единичной сущности EncryptionProfile по ключу | [deviceapis.device.v1.DeleteEncryptionProfileRequest](#deviceapis-device-v1-DeleteEncryptionProfileRequest) | [deviceapis.device.v1.DeleteEncryptionProfileResponse](#deviceapis-device-v1-DeleteEncryptionProfileResponse) |
| <a id="deviceapis-device-v1-DeleteEncryptionProfileList"></a> [DeleteEncryptionProfileList](#deviceapis-device-v1-DeleteEncryptionProfileList) | Метод удаления списка сущностей EncryptionProfile по фильтру | [deviceapis.device.v1.DeleteEncryptionProfileListRequest](#deviceapis-device-v1-DeleteEncryptionProfileListRequest) | [deviceapis.device.v1.DeleteEncryptionProfileListResponse](#deviceapis-device-v1-DeleteEncryptionProfileListResponse) |
| <a id="deviceapis-device-v1-GetEncryptionProfile"></a> [GetEncryptionProfile](#deviceapis-device-v1-GetEncryptionProfile) | Метод получения единичной сущности EncryptionProfile по ключу | [deviceapis.device.v1.GetEncryptionProfileRequest](#deviceapis-device-v1-GetEncryptionProfileRequest) | [deviceapis.device.v1.GetEncryptionProfileResponse](#deviceapis-device-v1-GetEncryptionProfileResponse) |
| <a id="deviceapis-device-v1-GetEncryptionProfileList"></a> [GetEncryptionProfileList](#deviceapis-device-v1-GetEncryptionProfileList) | Метод получения списка сущностей EncryptionProfile по фильтру | [deviceapis.device.v1.GetEncryptionProfileListRequest](#deviceapis-device-v1-GetEncryptionProfileListRequest) | [deviceapis.device.v1.GetEncryptionProfileListResponse](#deviceapis-device-v1-GetEncryptionProfileListResponse) |
| <a id="deviceapis-device-v1-SaveEncryptionProfile"></a> [SaveEncryptionProfile](#deviceapis-device-v1-SaveEncryptionProfile) | Метод создания сущности EncryptionProfile | [deviceapis.device.v1.SaveEncryptionProfileRequest](#deviceapis-device-v1-SaveEncryptionProfileRequest) | [deviceapis.device.v1.SaveEncryptionProfileResponse](#deviceapis-device-v1-SaveEncryptionProfileResponse) |

 <!-- end services -->


<a name="deviceapis-device-v1-DeleteEncryptionProfileListRequest"></a>


### [DeleteEncryptionProfileListRequest](#deviceapis-device-v1-DeleteEncryptionProfileListRequest)
 Запрос удаления списка сущностей EncryptionProfile по фильтру






<a name="deviceapis-device-v1-DeleteEncryptionProfileListResponse"></a>


### [DeleteEncryptionProfileListResponse](#deviceapis-device-v1-DeleteEncryptionProfileListResponse)
 Ответ на запрос удаления списка сущностей EncryptionProfile по фильтру


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-DeleteEncryptionProfileListResponse-data"></a> [data](#deviceapis-device-v1-DeleteEncryptionProfileListResponse-data) | Всего количество удаленных |  optional  [int32](#scalar-types) | <nil>|
| <a id="deviceapis-device-v1-DeleteEncryptionProfileListResponse-error"></a> [error](#deviceapis-device-v1-DeleteEncryptionProfileListResponse-error) | Ошибка |  optional  [deviceapis.device.v1.DeleteEncryptionProfileListResponse.Error](#deviceapis-device-v1-DeleteEncryptionProfileListResponse-Error) | <nil>|






<a name="deviceapis-device-v1-DeleteEncryptionProfileListResponse-Error"></a>


### [DeleteEncryptionProfileListResponse.Error](#deviceapis-device-v1-DeleteEncryptionProfileListResponse-Error)
 Ошибка запроса


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-DeleteEncryptionProfileListResponse-Error-validation"></a> [validation](#deviceapis-device-v1-DeleteEncryptionProfileListResponse-Error-validation) | Ошибка валидации |  optional  [deviceapis.device.v1.ValidationError](#deviceapis-device-v1-ValidationError) | <nil>|
| <a id="deviceapis-device-v1-DeleteEncryptionProfileListResponse-Error-deleting"></a> [deleting](#deviceapis-device-v1-DeleteEncryptionProfileListResponse-Error-deleting) | Ошибка удаления |  optional  [deviceapis.device.v1.EncryptionProfile.DeletingError](#deviceapis-device-v1-EncryptionProfile-DeletingError) | <nil>|






<a name="deviceapis-device-v1-DeleteEncryptionProfileRequest"></a>


### [DeleteEncryptionProfileRequest](#deviceapis-device-v1-DeleteEncryptionProfileRequest)
 Запрос удаления единичной сущности EncryptionProfile по ключу


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-DeleteEncryptionProfileRequest-id"></a> [id](#deviceapis-device-v1-DeleteEncryptionProfileRequest-id) | Идентификатор. Тип: Guid |    [string](#scalar-types) | REQUIRED|






<a name="deviceapis-device-v1-DeleteEncryptionProfileResponse"></a>


### [DeleteEncryptionProfileResponse](#deviceapis-device-v1-DeleteEncryptionProfileResponse)
 Ответ на запрос удаления единичной сущности EncryptionProfile по ключу


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-DeleteEncryptionProfileResponse-data"></a> [data](#deviceapis-device-v1-DeleteEncryptionProfileResponse-data) | Всего количество удаленных |  optional  [int32](#scalar-types) | <nil>|
| <a id="deviceapis-device-v1-DeleteEncryptionProfileResponse-error"></a> [error](#deviceapis-device-v1-DeleteEncryptionProfileResponse-error) | Ошибка |  optional  [deviceapis.device.v1.DeleteEncryptionProfileResponse.Error](#deviceapis-device-v1-DeleteEncryptionProfileResponse-Error) | <nil>|






<a name="deviceapis-device-v1-DeleteEncryptionProfileResponse-Error"></a>


### [DeleteEncryptionProfileResponse.Error](#deviceapis-device-v1-DeleteEncryptionProfileResponse-Error)
 Ошибка запроса


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-DeleteEncryptionProfileResponse-Error-validation"></a> [validation](#deviceapis-device-v1-DeleteEncryptionProfileResponse-Error-validation) | Ошибка валидации |  optional  [deviceapis.device.v1.ValidationError](#deviceapis-device-v1-ValidationError) | <nil>|
| <a id="deviceapis-device-v1-DeleteEncryptionProfileResponse-Error-deleting"></a> [deleting](#deviceapis-device-v1-DeleteEncryptionProfileResponse-Error-deleting) | Ошибка удаления |  optional  [deviceapis.device.v1.EncryptionProfile.DeletingError](#deviceapis-device-v1-EncryptionProfile-DeletingError) | <nil>|






<a name="deviceapis-device-v1-EncryptionProfile"></a>


### [EncryptionProfile](#deviceapis-device-v1-EncryptionProfile)
 Профиль шифрования


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-EncryptionProfile-id"></a> [id](#deviceapis-device-v1-EncryptionProfile-id) | Идентификатор. Тип: Guid |    [string](#scalar-types) | <nil>|
| <a id="deviceapis-device-v1-EncryptionProfile-title"></a> [title](#deviceapis-device-v1-EncryptionProfile-title) | Наименование |    [string](#scalar-types) | REQUIRED|
| <a id="deviceapis-device-v1-EncryptionProfile-type"></a> [type](#deviceapis-device-v1-EncryptionProfile-type) | Тип |    [deviceapis.device.v1.EncryptionProfile.Type](#deviceapis-device-v1-EncryptionProfile-Type) | REQUIRED|
| <a id="deviceapis-device-v1-EncryptionProfile-sector_number"></a> [sector_number](#deviceapis-device-v1-EncryptionProfile-sector_number) | Номер сектора |    [int32](#scalar-types) | REQUIRED|
| <a id="deviceapis-device-v1-EncryptionProfile-block_number"></a> [block_number](#deviceapis-device-v1-EncryptionProfile-block_number) | Номер блока |    [int32](#scalar-types) | REQUIRED|
| <a id="deviceapis-device-v1-EncryptionProfile-start_index"></a> [start_index](#deviceapis-device-v1-EncryptionProfile-start_index) | Первый байт в блоке |    [int32](#scalar-types) | REQUIRED|
| <a id="deviceapis-device-v1-EncryptionProfile-end_index"></a> [end_index](#deviceapis-device-v1-EncryptionProfile-end_index) | Последний байт в блоке |    [int32](#scalar-types) | REQUIRED|
| <a id="deviceapis-device-v1-EncryptionProfile-password"></a> [password](#deviceapis-device-v1-EncryptionProfile-password) | Пароль. Не возвращается с сервера. TODO: в генерации сваггера не показывать INPUT_ONLY поля в ответах |    [string](#scalar-types) | INPUT_ONLY|






<a name="deviceapis-device-v1-EncryptionProfile-DeletingError"></a>


### [EncryptionProfile.DeletingError](#deviceapis-device-v1-EncryptionProfile-DeletingError)
 Ошибка удаления


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-EncryptionProfile-DeletingError-id"></a> [id](#deviceapis-device-v1-EncryptionProfile-DeletingError-id) | Идентификатор профиля шифрования, к которому относится ошибка. Тип: Guid |    [string](#scalar-types) | REQUIRED|
| <a id="deviceapis-device-v1-EncryptionProfile-DeletingError-encryption_profile_in_use"></a> [encryption_profile_in_use](#deviceapis-device-v1-EncryptionProfile-DeletingError-encryption_profile_in_use) | Профиль используется на устройстве |  optional  [deviceapis.device.v1.EncryptionProfile.DeletingError.EncryptionProfileInUse](#deviceapis-device-v1-EncryptionProfile-DeletingError-EncryptionProfileInUse) | <nil>|






<a name="deviceapis-device-v1-EncryptionProfile-DeletingError-EncryptionProfileInUse"></a>


### [EncryptionProfile.DeletingError.EncryptionProfileInUse](#deviceapis-device-v1-EncryptionProfile-DeletingError-EncryptionProfileInUse)
 Профиль шифрования используется на устройстве






<a name="deviceapis-device-v1-EncryptionProfile-SavingError"></a>


### [EncryptionProfile.SavingError](#deviceapis-device-v1-EncryptionProfile-SavingError)
 Ошибка сохранения.
Эти проверки выполняются при работе с базой данных и сторонними сервисами


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-EncryptionProfile-SavingError-duplicate_name"></a> [duplicate_name](#deviceapis-device-v1-EncryptionProfile-SavingError-duplicate_name) | Профиль с таким наименованием уже существует |  optional  [deviceapis.device.v1.EncryptionProfile.SavingError.DuplicateName](#deviceapis-device-v1-EncryptionProfile-SavingError-DuplicateName) | <nil>|
| <a id="deviceapis-device-v1-EncryptionProfile-SavingError-too_much_encryption_profiles"></a> [too_much_encryption_profiles](#deviceapis-device-v1-EncryptionProfile-SavingError-too_much_encryption_profiles) | Превышено допустимое количество профилей шифрования |  optional  [deviceapis.device.v1.EncryptionProfile.SavingError.TooMuchEncryptionProfiles](#deviceapis-device-v1-EncryptionProfile-SavingError-TooMuchEncryptionProfiles) | <nil>|






<a name="deviceapis-device-v1-EncryptionProfile-SavingError-DuplicateName"></a>


### [EncryptionProfile.SavingError.DuplicateName](#deviceapis-device-v1-EncryptionProfile-SavingError-DuplicateName)
 Профиль с таким наименованием уже существует






<a name="deviceapis-device-v1-EncryptionProfile-SavingError-TooMuchEncryptionProfiles"></a>


### [EncryptionProfile.SavingError.TooMuchEncryptionProfiles](#deviceapis-device-v1-EncryptionProfile-SavingError-TooMuchEncryptionProfiles)
 Превышено допустимое количество профилей шифрования






<a name="deviceapis-device-v1-EncryptionProfileFilter"></a>


### [EncryptionProfileFilter](#deviceapis-device-v1-EncryptionProfileFilter)
 Фильтр по профилям шифрования


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-EncryptionProfileFilter-text"></a> [text](#deviceapis-device-v1-EncryptionProfileFilter-text) | Поиск по тексту. Если значение не передано то поиск по нему не производится. Поиск производится по полям: # - Наименование |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|






<a name="deviceapis-device-v1-GetEncryptionProfileListRequest"></a>


### [GetEncryptionProfileListRequest](#deviceapis-device-v1-GetEncryptionProfileListRequest)
 Запрос получения списка сущностей EncryptionProfile по фильтру


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-GetEncryptionProfileListRequest-filter"></a> [filter](#deviceapis-device-v1-GetEncryptionProfileListRequest-filter) | Фильтр по профилям шифрования |    [deviceapis.device.v1.EncryptionProfileFilter](#deviceapis-device-v1-EncryptionProfileFilter) | <nil>|






<a name="deviceapis-device-v1-GetEncryptionProfileListResponse"></a>


### [GetEncryptionProfileListResponse](#deviceapis-device-v1-GetEncryptionProfileListResponse)
 Ответ на запрос получения списка сущностей EncryptionProfile по фильтру


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-GetEncryptionProfileListResponse-data"></a> [data](#deviceapis-device-v1-GetEncryptionProfileListResponse-data) | Список EncryptionProfile |  repeated  [deviceapis.device.v1.EncryptionProfile](#deviceapis-device-v1-EncryptionProfile) | <nil>|






<a name="deviceapis-device-v1-GetEncryptionProfileRequest"></a>


### [GetEncryptionProfileRequest](#deviceapis-device-v1-GetEncryptionProfileRequest)
 Запрос получения единичной сущности EncryptionProfile по ключу


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-GetEncryptionProfileRequest-id"></a> [id](#deviceapis-device-v1-GetEncryptionProfileRequest-id) | Идентификатор. Тип: Guid |    [string](#scalar-types) | REQUIRED|






<a name="deviceapis-device-v1-GetEncryptionProfileResponse"></a>


### [GetEncryptionProfileResponse](#deviceapis-device-v1-GetEncryptionProfileResponse)
 Ответ на запрос получения единичной сущности EncryptionProfile по ключу


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-GetEncryptionProfileResponse-data"></a> [data](#deviceapis-device-v1-GetEncryptionProfileResponse-data) | Профиль шифрования |  optional  [deviceapis.device.v1.EncryptionProfile](#deviceapis-device-v1-EncryptionProfile) | <nil>|






<a name="deviceapis-device-v1-SaveEncryptionProfileRequest"></a>


### [SaveEncryptionProfileRequest](#deviceapis-device-v1-SaveEncryptionProfileRequest)
 Запрос на создание сущности EncryptionProfile


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-SaveEncryptionProfileRequest-data"></a> [data](#deviceapis-device-v1-SaveEncryptionProfileRequest-data) | Профиль шифрования |    [deviceapis.device.v1.EncryptionProfile](#deviceapis-device-v1-EncryptionProfile) | REQUIRED|






<a name="deviceapis-device-v1-SaveEncryptionProfileResponse"></a>


### [SaveEncryptionProfileResponse](#deviceapis-device-v1-SaveEncryptionProfileResponse)
 Ответ на запрос на создание сущности EncryptionProfile


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-SaveEncryptionProfileResponse-data"></a> [data](#deviceapis-device-v1-SaveEncryptionProfileResponse-data) | Профиль шифрования |  optional  [deviceapis.device.v1.EncryptionProfile](#deviceapis-device-v1-EncryptionProfile) | <nil>|
| <a id="deviceapis-device-v1-SaveEncryptionProfileResponse-error"></a> [error](#deviceapis-device-v1-SaveEncryptionProfileResponse-error) | Ошибка |  optional  [deviceapis.device.v1.SaveEncryptionProfileResponse.Error](#deviceapis-device-v1-SaveEncryptionProfileResponse-Error) | <nil>|






<a name="deviceapis-device-v1-SaveEncryptionProfileResponse-Error"></a>


### [SaveEncryptionProfileResponse.Error](#deviceapis-device-v1-SaveEncryptionProfileResponse-Error)
 Ошибка запроса


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-SaveEncryptionProfileResponse-Error-validation"></a> [validation](#deviceapis-device-v1-SaveEncryptionProfileResponse-Error-validation) | Ошибка валидации |  optional  [deviceapis.device.v1.ValidationError](#deviceapis-device-v1-ValidationError) | <nil>|
| <a id="deviceapis-device-v1-SaveEncryptionProfileResponse-Error-saving"></a> [saving](#deviceapis-device-v1-SaveEncryptionProfileResponse-Error-saving) | Ошибка сохранения |  optional  [deviceapis.device.v1.EncryptionProfile.SavingError](#deviceapis-device-v1-EncryptionProfile-SavingError) | <nil>|





 <!-- end messages -->



<a name="deviceapis-device-v1-EncryptionProfile-Type"></a>

### [EncryptionProfile.Type](#deviceapis-device-v1-EncryptionProfile-Type)
 Тип

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="deviceapis-device-v1-EncryptionProfile-Type-TYPE_UNKNOWN"></a> [TYPE_UNKNOWN](#deviceapis-device-v1-EncryptionProfile-Type-TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="deviceapis-device-v1-EncryptionProfile-Type-SL3"></a> [SL3](#deviceapis-device-v1-EncryptionProfile-Type-SL3) | Тип SL3 |
| 2 | <a id="deviceapis-device-v1-EncryptionProfile-Type-SL1"></a> [SL1](#deviceapis-device-v1-EncryptionProfile-Type-SL1) | Тип SL1 |


 <!-- end enums -->

 <!-- end HasExtensions -->



## Скалярные типы значений
<a id="scalar-types"></a>

| .proto Type | Примечание | Python | Go | Ruby | C# | C++ | Java | PHP |
| ----------- | ---------- | ------ | -- | ---- | -- | --- | ---- | --- |
| [double](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | float | float64 | Float | double | double | double | float |
| [float](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | float | float32 | Float | float | float | float | float |
| [int32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| [int64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| [uint32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. | int/long | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| [uint64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. | int/long | uint64 | Bignum or Fixnum (as required) | ulong | uint64 | long | integer/string |
| [sint32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| [sint64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| [fixed32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | int | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| [fixed64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | int/long | uint64 | Bignum | ulong | uint64 | long | integer/string |
| [sfixed32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always four bytes. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| [sfixed64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always eight bytes. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| [bool](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | boolean | bool | TrueClass/FalseClass | bool | bool | boolean | boolean |
| [string](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | A string must always contain UTF-8 encoded or 7-bit ASCII text. | str/unicode | string | String (UTF-8) | string | string | String | string |
| [bytes](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | May contain any arbitrary sequence of bytes. | str | []byte | String (ASCII-8BIT) | ByteString | string | ByteString | string |

