# Протокол

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

- [deviceapis/device/v1/deviceapis_device_ftp_v1.proto](#deviceapis_device_v1_deviceapis_device_ftp_v1-proto)
    - [FtpService](#deviceapis-device-v1-FtpService)
  
    - [EditFtpRequest](#deviceapis-device-v1-EditFtpRequest)
    - [EditFtpResponse](#deviceapis-device-v1-EditFtpResponse)
    - [EditFtpResponse.Error](#deviceapis-device-v1-EditFtpResponse-Error)
    - [Ftp](#deviceapis-device-v1-Ftp)
    - [GetFtpRequest](#deviceapis-device-v1-GetFtpRequest)
    - [GetFtpResponse](#deviceapis-device-v1-GetFtpResponse)
    - [PostFtpBackupApplyRequest](#deviceapis-device-v1-PostFtpBackupApplyRequest)
    - [PostFtpBackupApplyResponse](#deviceapis-device-v1-PostFtpBackupApplyResponse)
    - [PostFtpBackupApplyResponse.Error](#deviceapis-device-v1-PostFtpBackupApplyResponse-Error)
    - [PostFtpBackupRequest](#deviceapis-device-v1-PostFtpBackupRequest)
    - [PostFtpBackupResponse](#deviceapis-device-v1-PostFtpBackupResponse)
    - [PostFtpBackupResponse.Error](#deviceapis-device-v1-PostFtpBackupResponse-Error)
  


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




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

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


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

### FtpService
 Сервис управления настройками FTP

| Название метода | Описание | Тип запроса | Тип ответа |
| --------------- | -------- | ----------- | -----------|
| <a id="deviceapis-device-v1-EditFtp"></a> [EditFtp](#deviceapis-device-v1-EditFtp) | Метод редактирования настроек FTP | [deviceapis.device.v1.EditFtpRequest](#deviceapis-device-v1-EditFtpRequest) | [deviceapis.device.v1.EditFtpResponse](#deviceapis-device-v1-EditFtpResponse) |
| <a id="deviceapis-device-v1-GetFtp"></a> [GetFtp](#deviceapis-device-v1-GetFtp) | Метод получения настроек FTP | [deviceapis.device.v1.GetFtpRequest](#deviceapis-device-v1-GetFtpRequest) | [deviceapis.device.v1.GetFtpResponse](#deviceapis-device-v1-GetFtpResponse) |
| <a id="deviceapis-device-v1-PostFtpBackup"></a> [PostFtpBackup](#deviceapis-device-v1-PostFtpBackup) | Создать бэкап и положить на FTP папку | [deviceapis.device.v1.PostFtpBackupRequest](#deviceapis-device-v1-PostFtpBackupRequest) | [deviceapis.device.v1.PostFtpBackupResponse](#deviceapis-device-v1-PostFtpBackupResponse) |
| <a id="deviceapis-device-v1-PostFtpBackupApply"></a> [PostFtpBackupApply](#deviceapis-device-v1-PostFtpBackupApply) | Скачать бэкап из FTP папки и применить | [deviceapis.device.v1.PostFtpBackupApplyRequest](#deviceapis-device-v1-PostFtpBackupApplyRequest) | [deviceapis.device.v1.PostFtpBackupApplyResponse](#deviceapis-device-v1-PostFtpBackupApplyResponse) |

 <!-- end services -->


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


### [EditFtpRequest](#deviceapis-device-v1-EditFtpRequest)
 Запрос редактирования настроек FTP


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-EditFtpRequest-data"></a> [data](#deviceapis-device-v1-EditFtpRequest-data) | Настройки FTP |    [deviceapis.device.v1.Ftp](#deviceapis-device-v1-Ftp) | REQUIRED|
| <a id="deviceapis-device-v1-EditFtpRequest-update_mask"></a> [update_mask](#deviceapis-device-v1-EditFtpRequest-update_mask) | Маска полей обновления |    [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|






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


### [EditFtpResponse](#deviceapis-device-v1-EditFtpResponse)
 Ответ на запрос редактирования настроек FTP


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-EditFtpResponse-data"></a> [data](#deviceapis-device-v1-EditFtpResponse-data) | Настройки FTP |  optional  [deviceapis.device.v1.Ftp](#deviceapis-device-v1-Ftp) | <nil>|
| <a id="deviceapis-device-v1-EditFtpResponse-error"></a> [error](#deviceapis-device-v1-EditFtpResponse-error) | Ошибка |  optional  [deviceapis.device.v1.EditFtpResponse.Error](#deviceapis-device-v1-EditFtpResponse-Error) | <nil>|






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


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


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






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


### [Ftp](#deviceapis-device-v1-Ftp)
 Настройки FTP


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-Ftp-reg_server_address"></a> [reg_server_address](#deviceapis-device-v1-Ftp-reg_server_address) | Адрес FTP сервера. Сетевой адрес и порт. Пример: 192.168.0.1:21, ftp.acme.io:21 |    [string](#scalar-types) | <nil>|
| <a id="deviceapis-device-v1-Ftp-login"></a> [login](#deviceapis-device-v1-Ftp-login) | Логин |    [string](#scalar-types) | <nil>|
| <a id="deviceapis-device-v1-Ftp-password"></a> [password](#deviceapis-device-v1-Ftp-password) | Пароль. Не возвращается с сервера. TODO: в генерации сваггера не показывать INPUT_ONLY поля в ответах |    [string](#scalar-types) | INPUT_ONLY|






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


### [GetFtpRequest](#deviceapis-device-v1-GetFtpRequest)
 Запрос получения настроек FTP






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


### [GetFtpResponse](#deviceapis-device-v1-GetFtpResponse)
 Ответ на запрос получения настроек FTP


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-GetFtpResponse-data"></a> [data](#deviceapis-device-v1-GetFtpResponse-data) | Настройки FTP |  optional  [deviceapis.device.v1.Ftp](#deviceapis-device-v1-Ftp) | <nil>|






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


### [PostFtpBackupApplyRequest](#deviceapis-device-v1-PostFtpBackupApplyRequest)
 Запрос применения бекапа


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-PostFtpBackupApplyRequest-ftp_path"></a> [ftp_path](#deviceapis-device-v1-PostFtpBackupApplyRequest-ftp_path) | Имя FTP папки |    [string](#scalar-types) | REQUIRED|
| <a id="deviceapis-device-v1-PostFtpBackupApplyRequest-file_name"></a> [file_name](#deviceapis-device-v1-PostFtpBackupApplyRequest-file_name) | Имя файла бекапа |    [string](#scalar-types) | REQUIRED|
| <a id="deviceapis-device-v1-PostFtpBackupApplyRequest-restore_options"></a> [restore_options](#deviceapis-device-v1-PostFtpBackupApplyRequest-restore_options) | Опции восстановления |    [string](#scalar-types) | <nil>|






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


### [PostFtpBackupApplyResponse](#deviceapis-device-v1-PostFtpBackupApplyResponse)
 Ответ на запрос применения бекапа


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






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


### [PostFtpBackupApplyResponse.Error](#deviceapis-device-v1-PostFtpBackupApplyResponse-Error)
 Ошибка запроса создания бекапа


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






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


### [PostFtpBackupRequest](#deviceapis-device-v1-PostFtpBackupRequest)
 Запрос создания бекапа


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="deviceapis-device-v1-PostFtpBackupRequest-ftp_path"></a> [ftp_path](#deviceapis-device-v1-PostFtpBackupRequest-ftp_path) | Имя FTP папки |    [string](#scalar-types) | REQUIRED|
| <a id="deviceapis-device-v1-PostFtpBackupRequest-file_name"></a> [file_name](#deviceapis-device-v1-PostFtpBackupRequest-file_name) | Имя файла бекапа |    [string](#scalar-types) | REQUIRED|
| <a id="deviceapis-device-v1-PostFtpBackupRequest-backup_type"></a> [backup_type](#deviceapis-device-v1-PostFtpBackupRequest-backup_type) | Тип бекапа |    [string](#scalar-types) | REQUIRED|






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


### [PostFtpBackupResponse](#deviceapis-device-v1-PostFtpBackupResponse)
 Ответ на запрос создания бекапа


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






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


### [PostFtpBackupResponse.Error](#deviceapis-device-v1-PostFtpBackupResponse-Error)
 Ошибка запроса создания бекапа


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





 <!-- end messages -->

 <!-- 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 |

