// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: deviceapis/device/v1/deviceapis_device_ftp_v1.proto

// This CPP symbol can be defined to use imports that match up to the framework
// imports needed when using CocoaPods.
#if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS)
 #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0
#endif

#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS
 #import <Protobuf/GPBProtocolBuffers.h>
#else
 #import "GPBProtocolBuffers.h"
#endif

#if GOOGLE_PROTOBUF_OBJC_VERSION < 30007
#error This file was generated by a newer version of protoc which is incompatible with your Protocol Buffer library sources.
#endif
#if 30007 < GOOGLE_PROTOBUF_OBJC_MIN_SUPPORTED_VERSION
#error This file was generated by an older version of protoc which is incompatible with your Protocol Buffer library sources.
#endif

// @@protoc_insertion_point(imports)

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"

CF_EXTERN_C_BEGIN

@class DEVICEAPISDEVICEV1EditFtpResponse_Error;
@class DEVICEAPISDEVICEV1Ftp;
@class DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_Error;
@class DEVICEAPISDEVICEV1PostFtpBackupResponse_Error;
@class DEVICEAPISDEVICEV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - DEVICEAPISDEVICEV1DeviceapisDeviceFtpV1Root

/**
 * Exposes the extension registry for this file.
 *
 * The base class provides:
 * @code
 *   + (GPBExtensionRegistry *)extensionRegistry;
 * @endcode
 * which is a @c GPBExtensionRegistry that includes all the extensions defined by
 * this file and all files that it depends on.
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1DeviceapisDeviceFtpV1Root : GPBRootObject
@end

#pragma mark - DEVICEAPISDEVICEV1EditFtpRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditFtpRequest_FieldNumber) {
  DEVICEAPISDEVICEV1EditFtpRequest_FieldNumber_Data_p = 1,
  DEVICEAPISDEVICEV1EditFtpRequest_FieldNumber_UpdateMask = 2,
};

/**
 * Запрос редактирования настроек FTP
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EditFtpRequest : GPBMessage

/** Настройки FTP */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1Ftp *data_p;
/** Test to see if @c data_p has been set. */
@property(nonatomic, readwrite) BOOL hasData_p;

/** Маска полей обновления */
@property(nonatomic, readwrite, strong, null_resettable) GPBFieldMask *updateMask;
/** Test to see if @c updateMask has been set. */
@property(nonatomic, readwrite) BOOL hasUpdateMask;

@end

#pragma mark - DEVICEAPISDEVICEV1EditFtpResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditFtpResponse_FieldNumber) {
  DEVICEAPISDEVICEV1EditFtpResponse_FieldNumber_Data_p = 1,
  DEVICEAPISDEVICEV1EditFtpResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditFtpResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1EditFtpResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1EditFtpResponse_Type_OneOfCase_Data_p = 1,
  DEVICEAPISDEVICEV1EditFtpResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на запрос редактирования настроек FTP
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EditFtpResponse : GPBMessage

/** Тип ответа */
@property(nonatomic, readonly) DEVICEAPISDEVICEV1EditFtpResponse_Type_OneOfCase typeOneOfCase;

/** Настройки FTP */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1Ftp *data_p;

/** Ошибка */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1EditFtpResponse_Error *error;

@end

/**
 * Clears whatever value was set for the oneof 'type'.
 **/
void DEVICEAPISDEVICEV1EditFtpResponse_ClearTypeOneOfCase(DEVICEAPISDEVICEV1EditFtpResponse *message);

#pragma mark - DEVICEAPISDEVICEV1EditFtpResponse_Error

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditFtpResponse_Error_FieldNumber) {
  DEVICEAPISDEVICEV1EditFtpResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1EditFtpResponse_Error_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1EditFtpResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1EditFtpResponse_Error_Reason_OneOfCase_Validation = 1,
};

/**
 * Ошибка запроса
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1EditFtpResponse_Error : GPBMessage

/** Причина ошибки */
@property(nonatomic, readonly) DEVICEAPISDEVICEV1EditFtpResponse_Error_Reason_OneOfCase reasonOneOfCase;

/** Ошибка валидации */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1ValidationError *validation;

@end

/**
 * Clears whatever value was set for the oneof 'reason'.
 **/
void DEVICEAPISDEVICEV1EditFtpResponse_Error_ClearReasonOneOfCase(DEVICEAPISDEVICEV1EditFtpResponse_Error *message);

#pragma mark - DEVICEAPISDEVICEV1Ftp

typedef GPB_ENUM(DEVICEAPISDEVICEV1Ftp_FieldNumber) {
  DEVICEAPISDEVICEV1Ftp_FieldNumber_RegServerAddress = 1,
  DEVICEAPISDEVICEV1Ftp_FieldNumber_Login = 2,
  DEVICEAPISDEVICEV1Ftp_FieldNumber_Password = 3,
};

/**
 * Настройки FTP
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1Ftp : GPBMessage

/**
 * Адрес FTP сервера.
 * Сетевой адрес и порт.
 * Пример: 192.168.0.1:21, ftp.acme.io:21
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *regServerAddress;

/** Логин */
@property(nonatomic, readwrite, copy, null_resettable) NSString *login;

/**
 * Пароль.
 * Не возвращается с сервера.
 * TODO: в генерации сваггера не показывать INPUT_ONLY поля в ответах
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *password;

@end

#pragma mark - DEVICEAPISDEVICEV1GetFtpRequest

/**
 * Запрос получения настроек FTP
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetFtpRequest : GPBMessage

@end

#pragma mark - DEVICEAPISDEVICEV1GetFtpResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetFtpResponse_FieldNumber) {
  DEVICEAPISDEVICEV1GetFtpResponse_FieldNumber_Data_p = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetFtpResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1GetFtpResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1GetFtpResponse_Type_OneOfCase_Data_p = 1,
};

/**
 * Ответ на запрос получения настроек FTP
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetFtpResponse : GPBMessage

/** Тип ответа */
@property(nonatomic, readonly) DEVICEAPISDEVICEV1GetFtpResponse_Type_OneOfCase typeOneOfCase;

/** Настройки FTP */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1Ftp *data_p;

@end

/**
 * Clears whatever value was set for the oneof 'type'.
 **/
void DEVICEAPISDEVICEV1GetFtpResponse_ClearTypeOneOfCase(DEVICEAPISDEVICEV1GetFtpResponse *message);

#pragma mark - DEVICEAPISDEVICEV1PostFtpBackupApplyRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1PostFtpBackupApplyRequest_FieldNumber) {
  DEVICEAPISDEVICEV1PostFtpBackupApplyRequest_FieldNumber_FtpPath = 1,
  DEVICEAPISDEVICEV1PostFtpBackupApplyRequest_FieldNumber_FileName = 2,
  DEVICEAPISDEVICEV1PostFtpBackupApplyRequest_FieldNumber_RestoreOptions = 3,
};

/**
 * Запрос применения бекапа
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1PostFtpBackupApplyRequest : GPBMessage

/** Имя FTP папки */
@property(nonatomic, readwrite, copy, null_resettable) NSString *ftpPath;

/** Имя файла бекапа */
@property(nonatomic, readwrite, copy, null_resettable) NSString *fileName;

/** Опции восстановления */
@property(nonatomic, readwrite, copy, null_resettable) NSString *restoreOptions;

@end

#pragma mark - DEVICEAPISDEVICEV1PostFtpBackupApplyResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_FieldNumber) {
  DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_Type_OneOfCase_Error = 1,
};

/**
 * Ответ на запрос применения бекапа
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1PostFtpBackupApplyResponse : GPBMessage

/** Тип ответа */
@property(nonatomic, readonly) DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_Type_OneOfCase typeOneOfCase;

/** Ошибка */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_Error *error;

@end

/**
 * Clears whatever value was set for the oneof 'type'.
 **/
void DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_ClearTypeOneOfCase(DEVICEAPISDEVICEV1PostFtpBackupApplyResponse *message);

#pragma mark - DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_Error

typedef GPB_ENUM(DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_Error_FieldNumber) {
  DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_Error_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_Error_Reason_OneOfCase_Validation = 1,
};

/**
 * Ошибка запроса создания бекапа
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_Error : GPBMessage

/** Причина ошибки */
@property(nonatomic, readonly) DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_Error_Reason_OneOfCase reasonOneOfCase;

/** Ошибка валидации */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1ValidationError *validation;

@end

/**
 * Clears whatever value was set for the oneof 'reason'.
 **/
void DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_Error_ClearReasonOneOfCase(DEVICEAPISDEVICEV1PostFtpBackupApplyResponse_Error *message);

#pragma mark - DEVICEAPISDEVICEV1PostFtpBackupRequest

typedef GPB_ENUM(DEVICEAPISDEVICEV1PostFtpBackupRequest_FieldNumber) {
  DEVICEAPISDEVICEV1PostFtpBackupRequest_FieldNumber_FtpPath = 1,
  DEVICEAPISDEVICEV1PostFtpBackupRequest_FieldNumber_FileName = 2,
  DEVICEAPISDEVICEV1PostFtpBackupRequest_FieldNumber_BackupType = 3,
};

/**
 * Запрос создания бекапа
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1PostFtpBackupRequest : GPBMessage

/** Имя FTP папки */
@property(nonatomic, readwrite, copy, null_resettable) NSString *ftpPath;

/** Имя файла бекапа */
@property(nonatomic, readwrite, copy, null_resettable) NSString *fileName;

/** Тип бекапа */
@property(nonatomic, readwrite, copy, null_resettable) NSString *backupType;

@end

#pragma mark - DEVICEAPISDEVICEV1PostFtpBackupResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1PostFtpBackupResponse_FieldNumber) {
  DEVICEAPISDEVICEV1PostFtpBackupResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1PostFtpBackupResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1PostFtpBackupResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1PostFtpBackupResponse_Type_OneOfCase_Error = 1,
};

/**
 * Ответ на запрос создания бекапа
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1PostFtpBackupResponse : GPBMessage

/** Тип ответа */
@property(nonatomic, readonly) DEVICEAPISDEVICEV1PostFtpBackupResponse_Type_OneOfCase typeOneOfCase;

/** Ошибка */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1PostFtpBackupResponse_Error *error;

@end

/**
 * Clears whatever value was set for the oneof 'type'.
 **/
void DEVICEAPISDEVICEV1PostFtpBackupResponse_ClearTypeOneOfCase(DEVICEAPISDEVICEV1PostFtpBackupResponse *message);

#pragma mark - DEVICEAPISDEVICEV1PostFtpBackupResponse_Error

typedef GPB_ENUM(DEVICEAPISDEVICEV1PostFtpBackupResponse_Error_FieldNumber) {
  DEVICEAPISDEVICEV1PostFtpBackupResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1PostFtpBackupResponse_Error_Reason_OneOfCase) {
  DEVICEAPISDEVICEV1PostFtpBackupResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1PostFtpBackupResponse_Error_Reason_OneOfCase_Validation = 1,
};

/**
 * Ошибка запроса создания бекапа
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1PostFtpBackupResponse_Error : GPBMessage

/** Причина ошибки */
@property(nonatomic, readonly) DEVICEAPISDEVICEV1PostFtpBackupResponse_Error_Reason_OneOfCase reasonOneOfCase;

/** Ошибка валидации */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1ValidationError *validation;

@end

/**
 * Clears whatever value was set for the oneof 'reason'.
 **/
void DEVICEAPISDEVICEV1PostFtpBackupResponse_Error_ClearReasonOneOfCase(DEVICEAPISDEVICEV1PostFtpBackupResponse_Error *message);

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
