// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: keyapis/device/v1/keyapis_device_trunk_config.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto_2epb_2eh
#define GOOGLE_PROTOBUF_INCLUDED_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto_2epb_2eh

#include <limits>
#include <string>
#include <type_traits>

#include "google/protobuf/port_def.inc"
#if PROTOBUF_VERSION < 4023000
#error "This file was generated by a newer version of protoc which is"
#error "incompatible with your Protocol Buffer headers. Please update"
#error "your headers."
#endif  // PROTOBUF_VERSION

#if 4023001 < PROTOBUF_MIN_PROTOC_VERSION
#error "This file was generated by an older version of protoc which is"
#error "incompatible with your Protocol Buffer headers. Please"
#error "regenerate this file with a newer version of protoc."
#endif  // PROTOBUF_MIN_PROTOC_VERSION
#include "google/protobuf/port_undef.inc"
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/metadata_lite.h"
#include "google/protobuf/message_lite.h"
#include "google/protobuf/repeated_field.h"  // IWYU pragma: export
#include "google/protobuf/extension_set.h"  // IWYU pragma: export
#include "google/protobuf/generated_enum_util.h"
#include "google/api/annotations.pb.h"
#include "google/api/field_behavior.pb.h"
#include "google/protobuf/timestamp.pb.h"
#include "google/protobuf/wrappers.pb.h"
#include "keyapis/device/v1/keyapis_device_device_v1.pb.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"

#define PROTOBUF_INTERNAL_EXPORT_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto

PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto {
  static const ::uint32_t offsets[];
};
namespace keyapis {
namespace device {
namespace v1 {
class DeleteTrunkConfigRequest;
struct DeleteTrunkConfigRequestDefaultTypeInternal;
extern DeleteTrunkConfigRequestDefaultTypeInternal _DeleteTrunkConfigRequest_default_instance_;
class DeleteTrunkConfigResponse;
struct DeleteTrunkConfigResponseDefaultTypeInternal;
extern DeleteTrunkConfigResponseDefaultTypeInternal _DeleteTrunkConfigResponse_default_instance_;
class DeleteTrunkConfigResponse_Error;
struct DeleteTrunkConfigResponse_ErrorDefaultTypeInternal;
extern DeleteTrunkConfigResponse_ErrorDefaultTypeInternal _DeleteTrunkConfigResponse_Error_default_instance_;
class GetTrunkConfigCountRequest;
struct GetTrunkConfigCountRequestDefaultTypeInternal;
extern GetTrunkConfigCountRequestDefaultTypeInternal _GetTrunkConfigCountRequest_default_instance_;
class GetTrunkConfigCountResponse;
struct GetTrunkConfigCountResponseDefaultTypeInternal;
extern GetTrunkConfigCountResponseDefaultTypeInternal _GetTrunkConfigCountResponse_default_instance_;
class GetTrunkConfigCountResponse_Error;
struct GetTrunkConfigCountResponse_ErrorDefaultTypeInternal;
extern GetTrunkConfigCountResponse_ErrorDefaultTypeInternal _GetTrunkConfigCountResponse_Error_default_instance_;
class GetTrunkConfigListRequest;
struct GetTrunkConfigListRequestDefaultTypeInternal;
extern GetTrunkConfigListRequestDefaultTypeInternal _GetTrunkConfigListRequest_default_instance_;
class GetTrunkConfigListResponse;
struct GetTrunkConfigListResponseDefaultTypeInternal;
extern GetTrunkConfigListResponseDefaultTypeInternal _GetTrunkConfigListResponse_default_instance_;
class GetTrunkConfigListResponse_Error;
struct GetTrunkConfigListResponse_ErrorDefaultTypeInternal;
extern GetTrunkConfigListResponse_ErrorDefaultTypeInternal _GetTrunkConfigListResponse_Error_default_instance_;
class GetTrunkConfigRequest;
struct GetTrunkConfigRequestDefaultTypeInternal;
extern GetTrunkConfigRequestDefaultTypeInternal _GetTrunkConfigRequest_default_instance_;
class GetTrunkConfigResponse;
struct GetTrunkConfigResponseDefaultTypeInternal;
extern GetTrunkConfigResponseDefaultTypeInternal _GetTrunkConfigResponse_default_instance_;
class GetTrunkConfigResponse_Error;
struct GetTrunkConfigResponse_ErrorDefaultTypeInternal;
extern GetTrunkConfigResponse_ErrorDefaultTypeInternal _GetTrunkConfigResponse_Error_default_instance_;
class PostTrunkConfigRequest;
struct PostTrunkConfigRequestDefaultTypeInternal;
extern PostTrunkConfigRequestDefaultTypeInternal _PostTrunkConfigRequest_default_instance_;
class PostTrunkConfigResponse;
struct PostTrunkConfigResponseDefaultTypeInternal;
extern PostTrunkConfigResponseDefaultTypeInternal _PostTrunkConfigResponse_default_instance_;
class PostTrunkConfigResponse_Error;
struct PostTrunkConfigResponse_ErrorDefaultTypeInternal;
extern PostTrunkConfigResponse_ErrorDefaultTypeInternal _PostTrunkConfigResponse_Error_default_instance_;
class PostTrunkConfigRestoreRequest;
struct PostTrunkConfigRestoreRequestDefaultTypeInternal;
extern PostTrunkConfigRestoreRequestDefaultTypeInternal _PostTrunkConfigRestoreRequest_default_instance_;
class PostTrunkConfigRestoreResponse;
struct PostTrunkConfigRestoreResponseDefaultTypeInternal;
extern PostTrunkConfigRestoreResponseDefaultTypeInternal _PostTrunkConfigRestoreResponse_default_instance_;
class PostTrunkConfigRestoreResponse_Error;
struct PostTrunkConfigRestoreResponse_ErrorDefaultTypeInternal;
extern PostTrunkConfigRestoreResponse_ErrorDefaultTypeInternal _PostTrunkConfigRestoreResponse_Error_default_instance_;
class TrunkConfig;
struct TrunkConfigDefaultTypeInternal;
extern TrunkConfigDefaultTypeInternal _TrunkConfig_default_instance_;
class TrunkConfigFilter;
struct TrunkConfigFilterDefaultTypeInternal;
extern TrunkConfigFilterDefaultTypeInternal _TrunkConfigFilter_default_instance_;
class TrunkConfigPaging;
struct TrunkConfigPagingDefaultTypeInternal;
extern TrunkConfigPagingDefaultTypeInternal _TrunkConfigPaging_default_instance_;
class TrunkConfig_SavingError;
struct TrunkConfig_SavingErrorDefaultTypeInternal;
extern TrunkConfig_SavingErrorDefaultTypeInternal _TrunkConfig_SavingError_default_instance_;
class TrunkConfig_SavingError_Conflict;
struct TrunkConfig_SavingError_ConflictDefaultTypeInternal;
extern TrunkConfig_SavingError_ConflictDefaultTypeInternal _TrunkConfig_SavingError_Conflict_default_instance_;
}  // namespace v1
}  // namespace device
}  // namespace keyapis
PROTOBUF_NAMESPACE_OPEN
template <>
::keyapis::device::v1::DeleteTrunkConfigRequest* Arena::CreateMaybeMessage<::keyapis::device::v1::DeleteTrunkConfigRequest>(Arena*);
template <>
::keyapis::device::v1::DeleteTrunkConfigResponse* Arena::CreateMaybeMessage<::keyapis::device::v1::DeleteTrunkConfigResponse>(Arena*);
template <>
::keyapis::device::v1::DeleteTrunkConfigResponse_Error* Arena::CreateMaybeMessage<::keyapis::device::v1::DeleteTrunkConfigResponse_Error>(Arena*);
template <>
::keyapis::device::v1::GetTrunkConfigCountRequest* Arena::CreateMaybeMessage<::keyapis::device::v1::GetTrunkConfigCountRequest>(Arena*);
template <>
::keyapis::device::v1::GetTrunkConfigCountResponse* Arena::CreateMaybeMessage<::keyapis::device::v1::GetTrunkConfigCountResponse>(Arena*);
template <>
::keyapis::device::v1::GetTrunkConfigCountResponse_Error* Arena::CreateMaybeMessage<::keyapis::device::v1::GetTrunkConfigCountResponse_Error>(Arena*);
template <>
::keyapis::device::v1::GetTrunkConfigListRequest* Arena::CreateMaybeMessage<::keyapis::device::v1::GetTrunkConfigListRequest>(Arena*);
template <>
::keyapis::device::v1::GetTrunkConfigListResponse* Arena::CreateMaybeMessage<::keyapis::device::v1::GetTrunkConfigListResponse>(Arena*);
template <>
::keyapis::device::v1::GetTrunkConfigListResponse_Error* Arena::CreateMaybeMessage<::keyapis::device::v1::GetTrunkConfigListResponse_Error>(Arena*);
template <>
::keyapis::device::v1::GetTrunkConfigRequest* Arena::CreateMaybeMessage<::keyapis::device::v1::GetTrunkConfigRequest>(Arena*);
template <>
::keyapis::device::v1::GetTrunkConfigResponse* Arena::CreateMaybeMessage<::keyapis::device::v1::GetTrunkConfigResponse>(Arena*);
template <>
::keyapis::device::v1::GetTrunkConfigResponse_Error* Arena::CreateMaybeMessage<::keyapis::device::v1::GetTrunkConfigResponse_Error>(Arena*);
template <>
::keyapis::device::v1::PostTrunkConfigRequest* Arena::CreateMaybeMessage<::keyapis::device::v1::PostTrunkConfigRequest>(Arena*);
template <>
::keyapis::device::v1::PostTrunkConfigResponse* Arena::CreateMaybeMessage<::keyapis::device::v1::PostTrunkConfigResponse>(Arena*);
template <>
::keyapis::device::v1::PostTrunkConfigResponse_Error* Arena::CreateMaybeMessage<::keyapis::device::v1::PostTrunkConfigResponse_Error>(Arena*);
template <>
::keyapis::device::v1::PostTrunkConfigRestoreRequest* Arena::CreateMaybeMessage<::keyapis::device::v1::PostTrunkConfigRestoreRequest>(Arena*);
template <>
::keyapis::device::v1::PostTrunkConfigRestoreResponse* Arena::CreateMaybeMessage<::keyapis::device::v1::PostTrunkConfigRestoreResponse>(Arena*);
template <>
::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error* Arena::CreateMaybeMessage<::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error>(Arena*);
template <>
::keyapis::device::v1::TrunkConfig* Arena::CreateMaybeMessage<::keyapis::device::v1::TrunkConfig>(Arena*);
template <>
::keyapis::device::v1::TrunkConfigFilter* Arena::CreateMaybeMessage<::keyapis::device::v1::TrunkConfigFilter>(Arena*);
template <>
::keyapis::device::v1::TrunkConfigPaging* Arena::CreateMaybeMessage<::keyapis::device::v1::TrunkConfigPaging>(Arena*);
template <>
::keyapis::device::v1::TrunkConfig_SavingError* Arena::CreateMaybeMessage<::keyapis::device::v1::TrunkConfig_SavingError>(Arena*);
template <>
::keyapis::device::v1::TrunkConfig_SavingError_Conflict* Arena::CreateMaybeMessage<::keyapis::device::v1::TrunkConfig_SavingError_Conflict>(Arena*);
PROTOBUF_NAMESPACE_CLOSE

namespace keyapis {
namespace device {
namespace v1 {
enum TrunkConfigPaging_OrderByType : int {
  TrunkConfigPaging_OrderByType_ORDER_BY_TYPE_UNKNOWN = 0,
  TrunkConfigPaging_OrderByType_ID = 1,
  TrunkConfigPaging_OrderByType_CHANGED_AT = 2,
  TrunkConfigPaging_OrderByType_CREATED_AT = 3,
  TrunkConfigPaging_OrderByType_TrunkConfigPaging_OrderByType_INT_MIN_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::min(),
  TrunkConfigPaging_OrderByType_TrunkConfigPaging_OrderByType_INT_MAX_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::max(),
};

bool TrunkConfigPaging_OrderByType_IsValid(int value);
constexpr TrunkConfigPaging_OrderByType TrunkConfigPaging_OrderByType_OrderByType_MIN = static_cast<TrunkConfigPaging_OrderByType>(0);
constexpr TrunkConfigPaging_OrderByType TrunkConfigPaging_OrderByType_OrderByType_MAX = static_cast<TrunkConfigPaging_OrderByType>(3);
constexpr int TrunkConfigPaging_OrderByType_OrderByType_ARRAYSIZE = 3 + 1;
const std::string& TrunkConfigPaging_OrderByType_Name(TrunkConfigPaging_OrderByType value);
template <typename T>
const std::string& TrunkConfigPaging_OrderByType_Name(T value) {
  static_assert(std::is_same<T, TrunkConfigPaging_OrderByType>::value ||
                    std::is_integral<T>::value,
                "Incorrect type passed to OrderByType_Name().");
  return TrunkConfigPaging_OrderByType_Name(static_cast<TrunkConfigPaging_OrderByType>(value));
}
const std::string& TrunkConfigPaging_OrderByType_Name(TrunkConfigPaging_OrderByType value);
bool TrunkConfigPaging_OrderByType_Parse(absl::string_view name, TrunkConfigPaging_OrderByType* value);
enum TrunkConfigPaging_DirectionType : int {
  TrunkConfigPaging_DirectionType_DIRECTION_TYPE_UNKNOWN = 0,
  TrunkConfigPaging_DirectionType_DESC = 1,
  TrunkConfigPaging_DirectionType_ASC = 2,
  TrunkConfigPaging_DirectionType_TrunkConfigPaging_DirectionType_INT_MIN_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::min(),
  TrunkConfigPaging_DirectionType_TrunkConfigPaging_DirectionType_INT_MAX_SENTINEL_DO_NOT_USE_ =
      std::numeric_limits<::int32_t>::max(),
};

bool TrunkConfigPaging_DirectionType_IsValid(int value);
constexpr TrunkConfigPaging_DirectionType TrunkConfigPaging_DirectionType_DirectionType_MIN = static_cast<TrunkConfigPaging_DirectionType>(0);
constexpr TrunkConfigPaging_DirectionType TrunkConfigPaging_DirectionType_DirectionType_MAX = static_cast<TrunkConfigPaging_DirectionType>(2);
constexpr int TrunkConfigPaging_DirectionType_DirectionType_ARRAYSIZE = 2 + 1;
const std::string& TrunkConfigPaging_DirectionType_Name(TrunkConfigPaging_DirectionType value);
template <typename T>
const std::string& TrunkConfigPaging_DirectionType_Name(T value) {
  static_assert(std::is_same<T, TrunkConfigPaging_DirectionType>::value ||
                    std::is_integral<T>::value,
                "Incorrect type passed to DirectionType_Name().");
  return TrunkConfigPaging_DirectionType_Name(static_cast<TrunkConfigPaging_DirectionType>(value));
}
const std::string& TrunkConfigPaging_DirectionType_Name(TrunkConfigPaging_DirectionType value);
bool TrunkConfigPaging_DirectionType_Parse(absl::string_view name, TrunkConfigPaging_DirectionType* value);

// ===================================================================


// -------------------------------------------------------------------

class TrunkConfig_SavingError_Conflict final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.TrunkConfig.SavingError.Conflict) */ {
 public:
  inline TrunkConfig_SavingError_Conflict() : TrunkConfig_SavingError_Conflict(nullptr) {}
  ~TrunkConfig_SavingError_Conflict() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR TrunkConfig_SavingError_Conflict(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  TrunkConfig_SavingError_Conflict(const TrunkConfig_SavingError_Conflict& from);
  TrunkConfig_SavingError_Conflict(TrunkConfig_SavingError_Conflict&& from) noexcept
    : TrunkConfig_SavingError_Conflict() {
    *this = ::std::move(from);
  }

  inline TrunkConfig_SavingError_Conflict& operator=(const TrunkConfig_SavingError_Conflict& from) {
    CopyFrom(from);
    return *this;
  }
  inline TrunkConfig_SavingError_Conflict& operator=(TrunkConfig_SavingError_Conflict&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const TrunkConfig_SavingError_Conflict& default_instance() {
    return *internal_default_instance();
  }
  static inline const TrunkConfig_SavingError_Conflict* internal_default_instance() {
    return reinterpret_cast<const TrunkConfig_SavingError_Conflict*>(
               &_TrunkConfig_SavingError_Conflict_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(TrunkConfig_SavingError_Conflict& a, TrunkConfig_SavingError_Conflict& b) {
    a.Swap(&b);
  }
  inline void Swap(TrunkConfig_SavingError_Conflict* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TrunkConfig_SavingError_Conflict* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  TrunkConfig_SavingError_Conflict* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<TrunkConfig_SavingError_Conflict>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const TrunkConfig_SavingError_Conflict& from);
  void MergeFrom(const TrunkConfig_SavingError_Conflict& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(TrunkConfig_SavingError_Conflict* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.TrunkConfig.SavingError.Conflict";
  }
  protected:
  explicit TrunkConfig_SavingError_Conflict(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:keyapis.device.v1.TrunkConfig.SavingError.Conflict)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class TrunkConfig_SavingError final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.TrunkConfig.SavingError) */ {
 public:
  inline TrunkConfig_SavingError() : TrunkConfig_SavingError(nullptr) {}
  ~TrunkConfig_SavingError() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR TrunkConfig_SavingError(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  TrunkConfig_SavingError(const TrunkConfig_SavingError& from);
  TrunkConfig_SavingError(TrunkConfig_SavingError&& from) noexcept
    : TrunkConfig_SavingError() {
    *this = ::std::move(from);
  }

  inline TrunkConfig_SavingError& operator=(const TrunkConfig_SavingError& from) {
    CopyFrom(from);
    return *this;
  }
  inline TrunkConfig_SavingError& operator=(TrunkConfig_SavingError&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const TrunkConfig_SavingError& default_instance() {
    return *internal_default_instance();
  }
  enum ReasonCase {
    kConflict = 1,
    REASON_NOT_SET = 0,
  };

  static inline const TrunkConfig_SavingError* internal_default_instance() {
    return reinterpret_cast<const TrunkConfig_SavingError*>(
               &_TrunkConfig_SavingError_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(TrunkConfig_SavingError& a, TrunkConfig_SavingError& b) {
    a.Swap(&b);
  }
  inline void Swap(TrunkConfig_SavingError* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TrunkConfig_SavingError* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  TrunkConfig_SavingError* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<TrunkConfig_SavingError>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const TrunkConfig_SavingError& from);
  void MergeFrom(const TrunkConfig_SavingError& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(TrunkConfig_SavingError* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.TrunkConfig.SavingError";
  }
  protected:
  explicit TrunkConfig_SavingError(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  typedef TrunkConfig_SavingError_Conflict Conflict;

  // accessors -------------------------------------------------------

  enum : int {
    kConflictFieldNumber = 1,
  };
  // .keyapis.device.v1.TrunkConfig.SavingError.Conflict conflict = 1;
  bool has_conflict() const;
  private:
  bool _internal_has_conflict() const;

  public:
  void clear_conflict() ;
  const ::keyapis::device::v1::TrunkConfig_SavingError_Conflict& conflict() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::TrunkConfig_SavingError_Conflict* release_conflict();
  ::keyapis::device::v1::TrunkConfig_SavingError_Conflict* mutable_conflict();
  void set_allocated_conflict(::keyapis::device::v1::TrunkConfig_SavingError_Conflict* conflict);
  private:
  const ::keyapis::device::v1::TrunkConfig_SavingError_Conflict& _internal_conflict() const;
  ::keyapis::device::v1::TrunkConfig_SavingError_Conflict* _internal_mutable_conflict();
  public:
  void unsafe_arena_set_allocated_conflict(
      ::keyapis::device::v1::TrunkConfig_SavingError_Conflict* conflict);
  ::keyapis::device::v1::TrunkConfig_SavingError_Conflict* unsafe_arena_release_conflict();
  void clear_reason();
  ReasonCase reason_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.TrunkConfig.SavingError)
 private:
  class _Internal;
  void set_has_conflict();

  inline bool has_reason() const;
  inline void clear_has_reason();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union ReasonUnion {
      constexpr ReasonUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::device::v1::TrunkConfig_SavingError_Conflict* conflict_;
    } reason_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class TrunkConfig final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.TrunkConfig) */ {
 public:
  inline TrunkConfig() : TrunkConfig(nullptr) {}
  ~TrunkConfig() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR TrunkConfig(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  TrunkConfig(const TrunkConfig& from);
  TrunkConfig(TrunkConfig&& from) noexcept
    : TrunkConfig() {
    *this = ::std::move(from);
  }

  inline TrunkConfig& operator=(const TrunkConfig& from) {
    CopyFrom(from);
    return *this;
  }
  inline TrunkConfig& operator=(TrunkConfig&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const TrunkConfig& default_instance() {
    return *internal_default_instance();
  }
  static inline const TrunkConfig* internal_default_instance() {
    return reinterpret_cast<const TrunkConfig*>(
               &_TrunkConfig_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(TrunkConfig& a, TrunkConfig& b) {
    a.Swap(&b);
  }
  inline void Swap(TrunkConfig* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TrunkConfig* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  TrunkConfig* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<TrunkConfig>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const TrunkConfig& from);
  void MergeFrom(const TrunkConfig& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(TrunkConfig* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.TrunkConfig";
  }
  protected:
  explicit TrunkConfig(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  typedef TrunkConfig_SavingError SavingError;

  // accessors -------------------------------------------------------

  enum : int {
    kIdFieldNumber = 1,
    kIpAddressFieldNumber = 4,
    kCreatedAtFieldNumber = 6,
    kChangedAtFieldNumber = 7,
    kDeletedAtFieldNumber = 8,
    kCityOrponIdFieldNumber = 2,
    kDeviceSipTrunkSipTypeFieldNumber = 3,
    kPortFieldNumber = 5,
  };
  // string id = 1;
  void clear_id() ;
  const std::string& id() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_id(Arg_&& arg, Args_... args);
  std::string* mutable_id();
  PROTOBUF_NODISCARD std::string* release_id();
  void set_allocated_id(std::string* ptr);

  private:
  const std::string& _internal_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_id(
      const std::string& value);
  std::string* _internal_mutable_id();

  public:
  // string ip_address = 4 [(.google.api.field_behavior) = REQUIRED];
  void clear_ip_address() ;
  const std::string& ip_address() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_ip_address(Arg_&& arg, Args_... args);
  std::string* mutable_ip_address();
  PROTOBUF_NODISCARD std::string* release_ip_address();
  void set_allocated_ip_address(std::string* ptr);

  private:
  const std::string& _internal_ip_address() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_ip_address(
      const std::string& value);
  std::string* _internal_mutable_ip_address();

  public:
  // .google.protobuf.Timestamp created_at = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
  bool has_created_at() const;
  void clear_created_at() ;
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& created_at() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Timestamp* release_created_at();
  ::PROTOBUF_NAMESPACE_ID::Timestamp* mutable_created_at();
  void set_allocated_created_at(::PROTOBUF_NAMESPACE_ID::Timestamp* created_at);
  private:
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& _internal_created_at() const;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _internal_mutable_created_at();
  public:
  void unsafe_arena_set_allocated_created_at(
      ::PROTOBUF_NAMESPACE_ID::Timestamp* created_at);
  ::PROTOBUF_NAMESPACE_ID::Timestamp* unsafe_arena_release_created_at();
  // .google.protobuf.Timestamp changed_at = 7;
  bool has_changed_at() const;
  void clear_changed_at() ;
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& changed_at() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Timestamp* release_changed_at();
  ::PROTOBUF_NAMESPACE_ID::Timestamp* mutable_changed_at();
  void set_allocated_changed_at(::PROTOBUF_NAMESPACE_ID::Timestamp* changed_at);
  private:
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& _internal_changed_at() const;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _internal_mutable_changed_at();
  public:
  void unsafe_arena_set_allocated_changed_at(
      ::PROTOBUF_NAMESPACE_ID::Timestamp* changed_at);
  ::PROTOBUF_NAMESPACE_ID::Timestamp* unsafe_arena_release_changed_at();
  // .google.protobuf.Timestamp deleted_at = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
  bool has_deleted_at() const;
  void clear_deleted_at() ;
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& deleted_at() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::Timestamp* release_deleted_at();
  ::PROTOBUF_NAMESPACE_ID::Timestamp* mutable_deleted_at();
  void set_allocated_deleted_at(::PROTOBUF_NAMESPACE_ID::Timestamp* deleted_at);
  private:
  const ::PROTOBUF_NAMESPACE_ID::Timestamp& _internal_deleted_at() const;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _internal_mutable_deleted_at();
  public:
  void unsafe_arena_set_allocated_deleted_at(
      ::PROTOBUF_NAMESPACE_ID::Timestamp* deleted_at);
  ::PROTOBUF_NAMESPACE_ID::Timestamp* unsafe_arena_release_deleted_at();
  // int64 city_orpon_id = 2 [(.google.api.field_behavior) = REQUIRED];
  void clear_city_orpon_id() ;
  ::int64_t city_orpon_id() const;
  void set_city_orpon_id(::int64_t value);

  private:
  ::int64_t _internal_city_orpon_id() const;
  void _internal_set_city_orpon_id(::int64_t value);

  public:
  // .keyapis.device.v1.Device.SipTrunk.SipType device_sip_trunk_sip_type = 3 [(.google.api.field_behavior) = REQUIRED];
  void clear_device_sip_trunk_sip_type() ;
  ::keyapis::device::v1::Device_SipTrunk_SipType device_sip_trunk_sip_type() const;
  void set_device_sip_trunk_sip_type(::keyapis::device::v1::Device_SipTrunk_SipType value);

  private:
  ::keyapis::device::v1::Device_SipTrunk_SipType _internal_device_sip_trunk_sip_type() const;
  void _internal_set_device_sip_trunk_sip_type(::keyapis::device::v1::Device_SipTrunk_SipType value);

  public:
  // int32 port = 5 [(.google.api.field_behavior) = REQUIRED];
  void clear_port() ;
  ::int32_t port() const;
  void set_port(::int32_t value);

  private:
  ::int32_t _internal_port() const;
  void _internal_set_port(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.TrunkConfig)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ip_address_;
    ::PROTOBUF_NAMESPACE_ID::Timestamp* created_at_;
    ::PROTOBUF_NAMESPACE_ID::Timestamp* changed_at_;
    ::PROTOBUF_NAMESPACE_ID::Timestamp* deleted_at_;
    ::int64_t city_orpon_id_;
    int device_sip_trunk_sip_type_;
    ::int32_t port_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class TrunkConfigFilter final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.TrunkConfigFilter) */ {
 public:
  inline TrunkConfigFilter() : TrunkConfigFilter(nullptr) {}
  ~TrunkConfigFilter() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR TrunkConfigFilter(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  TrunkConfigFilter(const TrunkConfigFilter& from);
  TrunkConfigFilter(TrunkConfigFilter&& from) noexcept
    : TrunkConfigFilter() {
    *this = ::std::move(from);
  }

  inline TrunkConfigFilter& operator=(const TrunkConfigFilter& from) {
    CopyFrom(from);
    return *this;
  }
  inline TrunkConfigFilter& operator=(TrunkConfigFilter&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const TrunkConfigFilter& default_instance() {
    return *internal_default_instance();
  }
  static inline const TrunkConfigFilter* internal_default_instance() {
    return reinterpret_cast<const TrunkConfigFilter*>(
               &_TrunkConfigFilter_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(TrunkConfigFilter& a, TrunkConfigFilter& b) {
    a.Swap(&b);
  }
  inline void Swap(TrunkConfigFilter* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TrunkConfigFilter* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  TrunkConfigFilter* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<TrunkConfigFilter>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const TrunkConfigFilter& from);
  void MergeFrom(const TrunkConfigFilter& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(TrunkConfigFilter* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.TrunkConfigFilter";
  }
  protected:
  explicit TrunkConfigFilter(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kCityOrponIdsFieldNumber = 1,
    kIpAddressesFieldNumber = 2,
    kShowDeletedFieldNumber = 3,
  };
  // repeated int64 city_orpon_ids = 1;
  int city_orpon_ids_size() const;
  private:
  int _internal_city_orpon_ids_size() const;

  public:
  void clear_city_orpon_ids() ;
  ::int64_t city_orpon_ids(int index) const;
  void set_city_orpon_ids(int index, ::int64_t value);
  void add_city_orpon_ids(::int64_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<::int64_t>& city_orpon_ids() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<::int64_t>* mutable_city_orpon_ids();

  private:
  ::int64_t _internal_city_orpon_ids(int index) const;
  void _internal_add_city_orpon_ids(::int64_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<::int64_t>& _internal_city_orpon_ids() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField<::int64_t>* _internal_mutable_city_orpon_ids();

  public:
  // repeated string ip_addresses = 2;
  int ip_addresses_size() const;
  private:
  int _internal_ip_addresses_size() const;

  public:
  void clear_ip_addresses() ;
  const std::string& ip_addresses(int index) const;
  std::string* mutable_ip_addresses(int index);
  void set_ip_addresses(int index, const std::string& value);
  void set_ip_addresses(int index, std::string&& value);
  void set_ip_addresses(int index, const char* value);
  void set_ip_addresses(int index, const char* value, std::size_t size);
  void set_ip_addresses(int index, absl::string_view value);
  std::string* add_ip_addresses();
  void add_ip_addresses(const std::string& value);
  void add_ip_addresses(std::string&& value);
  void add_ip_addresses(const char* value);
  void add_ip_addresses(const char* value, std::size_t size);
  void add_ip_addresses(absl::string_view value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& ip_addresses() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_ip_addresses();

  private:
  const std::string& _internal_ip_addresses(int index) const;
  std::string* _internal_add_ip_addresses();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& _internal_ip_addresses() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* _internal_mutable_ip_addresses();

  public:
  // .google.protobuf.BoolValue show_deleted = 3;
  bool has_show_deleted() const;
  void clear_show_deleted() ;
  const ::PROTOBUF_NAMESPACE_ID::BoolValue& show_deleted() const;
  PROTOBUF_NODISCARD ::PROTOBUF_NAMESPACE_ID::BoolValue* release_show_deleted();
  ::PROTOBUF_NAMESPACE_ID::BoolValue* mutable_show_deleted();
  void set_allocated_show_deleted(::PROTOBUF_NAMESPACE_ID::BoolValue* show_deleted);
  private:
  const ::PROTOBUF_NAMESPACE_ID::BoolValue& _internal_show_deleted() const;
  ::PROTOBUF_NAMESPACE_ID::BoolValue* _internal_mutable_show_deleted();
  public:
  void unsafe_arena_set_allocated_show_deleted(
      ::PROTOBUF_NAMESPACE_ID::BoolValue* show_deleted);
  ::PROTOBUF_NAMESPACE_ID::BoolValue* unsafe_arena_release_show_deleted();
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.TrunkConfigFilter)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedField<::int64_t> city_orpon_ids_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _city_orpon_ids_cached_byte_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> ip_addresses_;
    ::PROTOBUF_NAMESPACE_ID::BoolValue* show_deleted_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class TrunkConfigPaging final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.TrunkConfigPaging) */ {
 public:
  inline TrunkConfigPaging() : TrunkConfigPaging(nullptr) {}
  ~TrunkConfigPaging() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR TrunkConfigPaging(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  TrunkConfigPaging(const TrunkConfigPaging& from);
  TrunkConfigPaging(TrunkConfigPaging&& from) noexcept
    : TrunkConfigPaging() {
    *this = ::std::move(from);
  }

  inline TrunkConfigPaging& operator=(const TrunkConfigPaging& from) {
    CopyFrom(from);
    return *this;
  }
  inline TrunkConfigPaging& operator=(TrunkConfigPaging&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const TrunkConfigPaging& default_instance() {
    return *internal_default_instance();
  }
  static inline const TrunkConfigPaging* internal_default_instance() {
    return reinterpret_cast<const TrunkConfigPaging*>(
               &_TrunkConfigPaging_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(TrunkConfigPaging& a, TrunkConfigPaging& b) {
    a.Swap(&b);
  }
  inline void Swap(TrunkConfigPaging* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TrunkConfigPaging* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  TrunkConfigPaging* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<TrunkConfigPaging>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const TrunkConfigPaging& from);
  void MergeFrom(const TrunkConfigPaging& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(TrunkConfigPaging* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.TrunkConfigPaging";
  }
  protected:
  explicit TrunkConfigPaging(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  using OrderByType = TrunkConfigPaging_OrderByType;
  static constexpr OrderByType ORDER_BY_TYPE_UNKNOWN = TrunkConfigPaging_OrderByType_ORDER_BY_TYPE_UNKNOWN;
  static constexpr OrderByType ID = TrunkConfigPaging_OrderByType_ID;
  static constexpr OrderByType CHANGED_AT = TrunkConfigPaging_OrderByType_CHANGED_AT;
  static constexpr OrderByType CREATED_AT = TrunkConfigPaging_OrderByType_CREATED_AT;
  static inline bool OrderByType_IsValid(int value) {
    return TrunkConfigPaging_OrderByType_IsValid(value);
  }
  static constexpr OrderByType OrderByType_MIN = TrunkConfigPaging_OrderByType_OrderByType_MIN;
  static constexpr OrderByType OrderByType_MAX = TrunkConfigPaging_OrderByType_OrderByType_MAX;
  static constexpr int OrderByType_ARRAYSIZE = TrunkConfigPaging_OrderByType_OrderByType_ARRAYSIZE;
  template <typename T>
  static inline const std::string& OrderByType_Name(T value) {
    return TrunkConfigPaging_OrderByType_Name(value);
  }
  static inline bool OrderByType_Parse(absl::string_view name, OrderByType* value) {
    return TrunkConfigPaging_OrderByType_Parse(name, value);
  }

  using DirectionType = TrunkConfigPaging_DirectionType;
  static constexpr DirectionType DIRECTION_TYPE_UNKNOWN = TrunkConfigPaging_DirectionType_DIRECTION_TYPE_UNKNOWN;
  static constexpr DirectionType DESC = TrunkConfigPaging_DirectionType_DESC;
  static constexpr DirectionType ASC = TrunkConfigPaging_DirectionType_ASC;
  static inline bool DirectionType_IsValid(int value) {
    return TrunkConfigPaging_DirectionType_IsValid(value);
  }
  static constexpr DirectionType DirectionType_MIN = TrunkConfigPaging_DirectionType_DirectionType_MIN;
  static constexpr DirectionType DirectionType_MAX = TrunkConfigPaging_DirectionType_DirectionType_MAX;
  static constexpr int DirectionType_ARRAYSIZE = TrunkConfigPaging_DirectionType_DirectionType_ARRAYSIZE;
  template <typename T>
  static inline const std::string& DirectionType_Name(T value) {
    return TrunkConfigPaging_DirectionType_Name(value);
  }
  static inline bool DirectionType_Parse(absl::string_view name, DirectionType* value) {
    return TrunkConfigPaging_DirectionType_Parse(name, value);
  }

  // accessors -------------------------------------------------------

  enum : int {
    kOrderByTypeFieldNumber = 1,
    kDirectionTypeFieldNumber = 2,
    kLimitFieldNumber = 3,
    kOffsetFieldNumber = 4,
  };
  // .keyapis.device.v1.TrunkConfigPaging.OrderByType order_by_type = 1;
  void clear_order_by_type() ;
  ::keyapis::device::v1::TrunkConfigPaging_OrderByType order_by_type() const;
  void set_order_by_type(::keyapis::device::v1::TrunkConfigPaging_OrderByType value);

  private:
  ::keyapis::device::v1::TrunkConfigPaging_OrderByType _internal_order_by_type() const;
  void _internal_set_order_by_type(::keyapis::device::v1::TrunkConfigPaging_OrderByType value);

  public:
  // .keyapis.device.v1.TrunkConfigPaging.DirectionType direction_type = 2;
  void clear_direction_type() ;
  ::keyapis::device::v1::TrunkConfigPaging_DirectionType direction_type() const;
  void set_direction_type(::keyapis::device::v1::TrunkConfigPaging_DirectionType value);

  private:
  ::keyapis::device::v1::TrunkConfigPaging_DirectionType _internal_direction_type() const;
  void _internal_set_direction_type(::keyapis::device::v1::TrunkConfigPaging_DirectionType value);

  public:
  // int32 limit = 3;
  void clear_limit() ;
  ::int32_t limit() const;
  void set_limit(::int32_t value);

  private:
  ::int32_t _internal_limit() const;
  void _internal_set_limit(::int32_t value);

  public:
  // int32 offset = 4;
  void clear_offset() ;
  ::int32_t offset() const;
  void set_offset(::int32_t value);

  private:
  ::int32_t _internal_offset() const;
  void _internal_set_offset(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.TrunkConfigPaging)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    int order_by_type_;
    int direction_type_;
    ::int32_t limit_;
    ::int32_t offset_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class PostTrunkConfigRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.PostTrunkConfigRequest) */ {
 public:
  inline PostTrunkConfigRequest() : PostTrunkConfigRequest(nullptr) {}
  ~PostTrunkConfigRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR PostTrunkConfigRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PostTrunkConfigRequest(const PostTrunkConfigRequest& from);
  PostTrunkConfigRequest(PostTrunkConfigRequest&& from) noexcept
    : PostTrunkConfigRequest() {
    *this = ::std::move(from);
  }

  inline PostTrunkConfigRequest& operator=(const PostTrunkConfigRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline PostTrunkConfigRequest& operator=(PostTrunkConfigRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const PostTrunkConfigRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const PostTrunkConfigRequest* internal_default_instance() {
    return reinterpret_cast<const PostTrunkConfigRequest*>(
               &_PostTrunkConfigRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(PostTrunkConfigRequest& a, PostTrunkConfigRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(PostTrunkConfigRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PostTrunkConfigRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  PostTrunkConfigRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PostTrunkConfigRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const PostTrunkConfigRequest& from);
  void MergeFrom(const PostTrunkConfigRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(PostTrunkConfigRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.PostTrunkConfigRequest";
  }
  protected:
  explicit PostTrunkConfigRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDataFieldNumber = 1,
  };
  // .keyapis.device.v1.TrunkConfig data = 1 [(.google.api.field_behavior) = REQUIRED];
  bool has_data() const;
  void clear_data() ;
  const ::keyapis::device::v1::TrunkConfig& data() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::TrunkConfig* release_data();
  ::keyapis::device::v1::TrunkConfig* mutable_data();
  void set_allocated_data(::keyapis::device::v1::TrunkConfig* data);
  private:
  const ::keyapis::device::v1::TrunkConfig& _internal_data() const;
  ::keyapis::device::v1::TrunkConfig* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::keyapis::device::v1::TrunkConfig* data);
  ::keyapis::device::v1::TrunkConfig* unsafe_arena_release_data();
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.PostTrunkConfigRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::keyapis::device::v1::TrunkConfig* data_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class PostTrunkConfigResponse_Error final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.PostTrunkConfigResponse.Error) */ {
 public:
  inline PostTrunkConfigResponse_Error() : PostTrunkConfigResponse_Error(nullptr) {}
  ~PostTrunkConfigResponse_Error() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR PostTrunkConfigResponse_Error(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PostTrunkConfigResponse_Error(const PostTrunkConfigResponse_Error& from);
  PostTrunkConfigResponse_Error(PostTrunkConfigResponse_Error&& from) noexcept
    : PostTrunkConfigResponse_Error() {
    *this = ::std::move(from);
  }

  inline PostTrunkConfigResponse_Error& operator=(const PostTrunkConfigResponse_Error& from) {
    CopyFrom(from);
    return *this;
  }
  inline PostTrunkConfigResponse_Error& operator=(PostTrunkConfigResponse_Error&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const PostTrunkConfigResponse_Error& default_instance() {
    return *internal_default_instance();
  }
  enum ReasonCase {
    kValidation = 1,
    kSaving = 2,
    REASON_NOT_SET = 0,
  };

  static inline const PostTrunkConfigResponse_Error* internal_default_instance() {
    return reinterpret_cast<const PostTrunkConfigResponse_Error*>(
               &_PostTrunkConfigResponse_Error_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

  friend void swap(PostTrunkConfigResponse_Error& a, PostTrunkConfigResponse_Error& b) {
    a.Swap(&b);
  }
  inline void Swap(PostTrunkConfigResponse_Error* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PostTrunkConfigResponse_Error* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  PostTrunkConfigResponse_Error* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PostTrunkConfigResponse_Error>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const PostTrunkConfigResponse_Error& from);
  void MergeFrom(const PostTrunkConfigResponse_Error& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(PostTrunkConfigResponse_Error* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.PostTrunkConfigResponse.Error";
  }
  protected:
  explicit PostTrunkConfigResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kValidationFieldNumber = 1,
    kSavingFieldNumber = 2,
  };
  // .keyapis.device.v1.ValidationError validation = 1;
  bool has_validation() const;
  private:
  bool _internal_has_validation() const;

  public:
  void clear_validation() ;
  const ::keyapis::device::v1::ValidationError& validation() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::ValidationError* release_validation();
  ::keyapis::device::v1::ValidationError* mutable_validation();
  void set_allocated_validation(::keyapis::device::v1::ValidationError* validation);
  private:
  const ::keyapis::device::v1::ValidationError& _internal_validation() const;
  ::keyapis::device::v1::ValidationError* _internal_mutable_validation();
  public:
  void unsafe_arena_set_allocated_validation(
      ::keyapis::device::v1::ValidationError* validation);
  ::keyapis::device::v1::ValidationError* unsafe_arena_release_validation();
  // .keyapis.device.v1.TrunkConfig.SavingError saving = 2;
  bool has_saving() const;
  private:
  bool _internal_has_saving() const;

  public:
  void clear_saving() ;
  const ::keyapis::device::v1::TrunkConfig_SavingError& saving() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::TrunkConfig_SavingError* release_saving();
  ::keyapis::device::v1::TrunkConfig_SavingError* mutable_saving();
  void set_allocated_saving(::keyapis::device::v1::TrunkConfig_SavingError* saving);
  private:
  const ::keyapis::device::v1::TrunkConfig_SavingError& _internal_saving() const;
  ::keyapis::device::v1::TrunkConfig_SavingError* _internal_mutable_saving();
  public:
  void unsafe_arena_set_allocated_saving(
      ::keyapis::device::v1::TrunkConfig_SavingError* saving);
  ::keyapis::device::v1::TrunkConfig_SavingError* unsafe_arena_release_saving();
  void clear_reason();
  ReasonCase reason_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.PostTrunkConfigResponse.Error)
 private:
  class _Internal;
  void set_has_validation();
  void set_has_saving();

  inline bool has_reason() const;
  inline void clear_has_reason();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union ReasonUnion {
      constexpr ReasonUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::device::v1::ValidationError* validation_;
      ::keyapis::device::v1::TrunkConfig_SavingError* saving_;
    } reason_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class PostTrunkConfigResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.PostTrunkConfigResponse) */ {
 public:
  inline PostTrunkConfigResponse() : PostTrunkConfigResponse(nullptr) {}
  ~PostTrunkConfigResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR PostTrunkConfigResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PostTrunkConfigResponse(const PostTrunkConfigResponse& from);
  PostTrunkConfigResponse(PostTrunkConfigResponse&& from) noexcept
    : PostTrunkConfigResponse() {
    *this = ::std::move(from);
  }

  inline PostTrunkConfigResponse& operator=(const PostTrunkConfigResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline PostTrunkConfigResponse& operator=(PostTrunkConfigResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const PostTrunkConfigResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kData = 1,
    kError = 2,
    TYPE_NOT_SET = 0,
  };

  static inline const PostTrunkConfigResponse* internal_default_instance() {
    return reinterpret_cast<const PostTrunkConfigResponse*>(
               &_PostTrunkConfigResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    7;

  friend void swap(PostTrunkConfigResponse& a, PostTrunkConfigResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(PostTrunkConfigResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PostTrunkConfigResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  PostTrunkConfigResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PostTrunkConfigResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const PostTrunkConfigResponse& from);
  void MergeFrom(const PostTrunkConfigResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(PostTrunkConfigResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.PostTrunkConfigResponse";
  }
  protected:
  explicit PostTrunkConfigResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  typedef PostTrunkConfigResponse_Error Error;

  // accessors -------------------------------------------------------

  enum : int {
    kDataFieldNumber = 1,
    kErrorFieldNumber = 2,
  };
  // .keyapis.device.v1.TrunkConfig data = 1;
  bool has_data() const;
  private:
  bool _internal_has_data() const;

  public:
  void clear_data() ;
  const ::keyapis::device::v1::TrunkConfig& data() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::TrunkConfig* release_data();
  ::keyapis::device::v1::TrunkConfig* mutable_data();
  void set_allocated_data(::keyapis::device::v1::TrunkConfig* data);
  private:
  const ::keyapis::device::v1::TrunkConfig& _internal_data() const;
  ::keyapis::device::v1::TrunkConfig* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::keyapis::device::v1::TrunkConfig* data);
  ::keyapis::device::v1::TrunkConfig* unsafe_arena_release_data();
  // .keyapis.device.v1.PostTrunkConfigResponse.Error error = 2;
  bool has_error() const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  const ::keyapis::device::v1::PostTrunkConfigResponse_Error& error() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::PostTrunkConfigResponse_Error* release_error();
  ::keyapis::device::v1::PostTrunkConfigResponse_Error* mutable_error();
  void set_allocated_error(::keyapis::device::v1::PostTrunkConfigResponse_Error* error);
  private:
  const ::keyapis::device::v1::PostTrunkConfigResponse_Error& _internal_error() const;
  ::keyapis::device::v1::PostTrunkConfigResponse_Error* _internal_mutable_error();
  public:
  void unsafe_arena_set_allocated_error(
      ::keyapis::device::v1::PostTrunkConfigResponse_Error* error);
  ::keyapis::device::v1::PostTrunkConfigResponse_Error* unsafe_arena_release_error();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.PostTrunkConfigResponse)
 private:
  class _Internal;
  void set_has_data();
  void set_has_error();

  inline bool has_type() const;
  inline void clear_has_type();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union TypeUnion {
      constexpr TypeUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::device::v1::TrunkConfig* data_;
      ::keyapis::device::v1::PostTrunkConfigResponse_Error* error_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class GetTrunkConfigRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.GetTrunkConfigRequest) */ {
 public:
  inline GetTrunkConfigRequest() : GetTrunkConfigRequest(nullptr) {}
  ~GetTrunkConfigRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetTrunkConfigRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetTrunkConfigRequest(const GetTrunkConfigRequest& from);
  GetTrunkConfigRequest(GetTrunkConfigRequest&& from) noexcept
    : GetTrunkConfigRequest() {
    *this = ::std::move(from);
  }

  inline GetTrunkConfigRequest& operator=(const GetTrunkConfigRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetTrunkConfigRequest& operator=(GetTrunkConfigRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetTrunkConfigRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetTrunkConfigRequest* internal_default_instance() {
    return reinterpret_cast<const GetTrunkConfigRequest*>(
               &_GetTrunkConfigRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    8;

  friend void swap(GetTrunkConfigRequest& a, GetTrunkConfigRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetTrunkConfigRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetTrunkConfigRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetTrunkConfigRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetTrunkConfigRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetTrunkConfigRequest& from);
  void MergeFrom(const GetTrunkConfigRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetTrunkConfigRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.GetTrunkConfigRequest";
  }
  protected:
  explicit GetTrunkConfigRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kIdFieldNumber = 1,
  };
  // string id = 1 [(.google.api.field_behavior) = REQUIRED];
  void clear_id() ;
  const std::string& id() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_id(Arg_&& arg, Args_... args);
  std::string* mutable_id();
  PROTOBUF_NODISCARD std::string* release_id();
  void set_allocated_id(std::string* ptr);

  private:
  const std::string& _internal_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_id(
      const std::string& value);
  std::string* _internal_mutable_id();

  public:
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.GetTrunkConfigRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class GetTrunkConfigResponse_Error final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.GetTrunkConfigResponse.Error) */ {
 public:
  inline GetTrunkConfigResponse_Error() : GetTrunkConfigResponse_Error(nullptr) {}
  ~GetTrunkConfigResponse_Error() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetTrunkConfigResponse_Error(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetTrunkConfigResponse_Error(const GetTrunkConfigResponse_Error& from);
  GetTrunkConfigResponse_Error(GetTrunkConfigResponse_Error&& from) noexcept
    : GetTrunkConfigResponse_Error() {
    *this = ::std::move(from);
  }

  inline GetTrunkConfigResponse_Error& operator=(const GetTrunkConfigResponse_Error& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetTrunkConfigResponse_Error& operator=(GetTrunkConfigResponse_Error&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetTrunkConfigResponse_Error& default_instance() {
    return *internal_default_instance();
  }
  enum ReasonCase {
    kValidation = 1,
    REASON_NOT_SET = 0,
  };

  static inline const GetTrunkConfigResponse_Error* internal_default_instance() {
    return reinterpret_cast<const GetTrunkConfigResponse_Error*>(
               &_GetTrunkConfigResponse_Error_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    9;

  friend void swap(GetTrunkConfigResponse_Error& a, GetTrunkConfigResponse_Error& b) {
    a.Swap(&b);
  }
  inline void Swap(GetTrunkConfigResponse_Error* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetTrunkConfigResponse_Error* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetTrunkConfigResponse_Error* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetTrunkConfigResponse_Error>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetTrunkConfigResponse_Error& from);
  void MergeFrom(const GetTrunkConfigResponse_Error& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetTrunkConfigResponse_Error* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.GetTrunkConfigResponse.Error";
  }
  protected:
  explicit GetTrunkConfigResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kValidationFieldNumber = 1,
  };
  // .keyapis.device.v1.ValidationError validation = 1;
  bool has_validation() const;
  private:
  bool _internal_has_validation() const;

  public:
  void clear_validation() ;
  const ::keyapis::device::v1::ValidationError& validation() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::ValidationError* release_validation();
  ::keyapis::device::v1::ValidationError* mutable_validation();
  void set_allocated_validation(::keyapis::device::v1::ValidationError* validation);
  private:
  const ::keyapis::device::v1::ValidationError& _internal_validation() const;
  ::keyapis::device::v1::ValidationError* _internal_mutable_validation();
  public:
  void unsafe_arena_set_allocated_validation(
      ::keyapis::device::v1::ValidationError* validation);
  ::keyapis::device::v1::ValidationError* unsafe_arena_release_validation();
  void clear_reason();
  ReasonCase reason_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.GetTrunkConfigResponse.Error)
 private:
  class _Internal;
  void set_has_validation();

  inline bool has_reason() const;
  inline void clear_has_reason();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union ReasonUnion {
      constexpr ReasonUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::device::v1::ValidationError* validation_;
    } reason_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class GetTrunkConfigResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.GetTrunkConfigResponse) */ {
 public:
  inline GetTrunkConfigResponse() : GetTrunkConfigResponse(nullptr) {}
  ~GetTrunkConfigResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetTrunkConfigResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetTrunkConfigResponse(const GetTrunkConfigResponse& from);
  GetTrunkConfigResponse(GetTrunkConfigResponse&& from) noexcept
    : GetTrunkConfigResponse() {
    *this = ::std::move(from);
  }

  inline GetTrunkConfigResponse& operator=(const GetTrunkConfigResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetTrunkConfigResponse& operator=(GetTrunkConfigResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetTrunkConfigResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kData = 1,
    kError = 2,
    TYPE_NOT_SET = 0,
  };

  static inline const GetTrunkConfigResponse* internal_default_instance() {
    return reinterpret_cast<const GetTrunkConfigResponse*>(
               &_GetTrunkConfigResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    10;

  friend void swap(GetTrunkConfigResponse& a, GetTrunkConfigResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetTrunkConfigResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetTrunkConfigResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetTrunkConfigResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetTrunkConfigResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetTrunkConfigResponse& from);
  void MergeFrom(const GetTrunkConfigResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetTrunkConfigResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.GetTrunkConfigResponse";
  }
  protected:
  explicit GetTrunkConfigResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  typedef GetTrunkConfigResponse_Error Error;

  // accessors -------------------------------------------------------

  enum : int {
    kDataFieldNumber = 1,
    kErrorFieldNumber = 2,
  };
  // .keyapis.device.v1.TrunkConfig data = 1;
  bool has_data() const;
  private:
  bool _internal_has_data() const;

  public:
  void clear_data() ;
  const ::keyapis::device::v1::TrunkConfig& data() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::TrunkConfig* release_data();
  ::keyapis::device::v1::TrunkConfig* mutable_data();
  void set_allocated_data(::keyapis::device::v1::TrunkConfig* data);
  private:
  const ::keyapis::device::v1::TrunkConfig& _internal_data() const;
  ::keyapis::device::v1::TrunkConfig* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::keyapis::device::v1::TrunkConfig* data);
  ::keyapis::device::v1::TrunkConfig* unsafe_arena_release_data();
  // .keyapis.device.v1.GetTrunkConfigResponse.Error error = 2;
  bool has_error() const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  const ::keyapis::device::v1::GetTrunkConfigResponse_Error& error() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::GetTrunkConfigResponse_Error* release_error();
  ::keyapis::device::v1::GetTrunkConfigResponse_Error* mutable_error();
  void set_allocated_error(::keyapis::device::v1::GetTrunkConfigResponse_Error* error);
  private:
  const ::keyapis::device::v1::GetTrunkConfigResponse_Error& _internal_error() const;
  ::keyapis::device::v1::GetTrunkConfigResponse_Error* _internal_mutable_error();
  public:
  void unsafe_arena_set_allocated_error(
      ::keyapis::device::v1::GetTrunkConfigResponse_Error* error);
  ::keyapis::device::v1::GetTrunkConfigResponse_Error* unsafe_arena_release_error();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.GetTrunkConfigResponse)
 private:
  class _Internal;
  void set_has_data();
  void set_has_error();

  inline bool has_type() const;
  inline void clear_has_type();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union TypeUnion {
      constexpr TypeUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::device::v1::TrunkConfig* data_;
      ::keyapis::device::v1::GetTrunkConfigResponse_Error* error_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class GetTrunkConfigListRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.GetTrunkConfigListRequest) */ {
 public:
  inline GetTrunkConfigListRequest() : GetTrunkConfigListRequest(nullptr) {}
  ~GetTrunkConfigListRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetTrunkConfigListRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetTrunkConfigListRequest(const GetTrunkConfigListRequest& from);
  GetTrunkConfigListRequest(GetTrunkConfigListRequest&& from) noexcept
    : GetTrunkConfigListRequest() {
    *this = ::std::move(from);
  }

  inline GetTrunkConfigListRequest& operator=(const GetTrunkConfigListRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetTrunkConfigListRequest& operator=(GetTrunkConfigListRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetTrunkConfigListRequest& default_instance() {
    return *internal_default_instance();
  }
  enum PaginationCase {
    kPaging = 2,
    PAGINATION_NOT_SET = 0,
  };

  static inline const GetTrunkConfigListRequest* internal_default_instance() {
    return reinterpret_cast<const GetTrunkConfigListRequest*>(
               &_GetTrunkConfigListRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    11;

  friend void swap(GetTrunkConfigListRequest& a, GetTrunkConfigListRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetTrunkConfigListRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetTrunkConfigListRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetTrunkConfigListRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetTrunkConfigListRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetTrunkConfigListRequest& from);
  void MergeFrom(const GetTrunkConfigListRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetTrunkConfigListRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.GetTrunkConfigListRequest";
  }
  protected:
  explicit GetTrunkConfigListRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kFilterFieldNumber = 1,
    kPagingFieldNumber = 2,
  };
  // .keyapis.device.v1.TrunkConfigFilter filter = 1;
  bool has_filter() const;
  void clear_filter() ;
  const ::keyapis::device::v1::TrunkConfigFilter& filter() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::TrunkConfigFilter* release_filter();
  ::keyapis::device::v1::TrunkConfigFilter* mutable_filter();
  void set_allocated_filter(::keyapis::device::v1::TrunkConfigFilter* filter);
  private:
  const ::keyapis::device::v1::TrunkConfigFilter& _internal_filter() const;
  ::keyapis::device::v1::TrunkConfigFilter* _internal_mutable_filter();
  public:
  void unsafe_arena_set_allocated_filter(
      ::keyapis::device::v1::TrunkConfigFilter* filter);
  ::keyapis::device::v1::TrunkConfigFilter* unsafe_arena_release_filter();
  // .keyapis.device.v1.TrunkConfigPaging paging = 2;
  bool has_paging() const;
  private:
  bool _internal_has_paging() const;

  public:
  void clear_paging() ;
  const ::keyapis::device::v1::TrunkConfigPaging& paging() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::TrunkConfigPaging* release_paging();
  ::keyapis::device::v1::TrunkConfigPaging* mutable_paging();
  void set_allocated_paging(::keyapis::device::v1::TrunkConfigPaging* paging);
  private:
  const ::keyapis::device::v1::TrunkConfigPaging& _internal_paging() const;
  ::keyapis::device::v1::TrunkConfigPaging* _internal_mutable_paging();
  public:
  void unsafe_arena_set_allocated_paging(
      ::keyapis::device::v1::TrunkConfigPaging* paging);
  ::keyapis::device::v1::TrunkConfigPaging* unsafe_arena_release_paging();
  void clear_pagination();
  PaginationCase pagination_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.GetTrunkConfigListRequest)
 private:
  class _Internal;
  void set_has_paging();

  inline bool has_pagination() const;
  inline void clear_has_pagination();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::keyapis::device::v1::TrunkConfigFilter* filter_;
    union PaginationUnion {
      constexpr PaginationUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::device::v1::TrunkConfigPaging* paging_;
    } pagination_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class GetTrunkConfigListResponse_Error final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.GetTrunkConfigListResponse.Error) */ {
 public:
  inline GetTrunkConfigListResponse_Error() : GetTrunkConfigListResponse_Error(nullptr) {}
  ~GetTrunkConfigListResponse_Error() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetTrunkConfigListResponse_Error(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetTrunkConfigListResponse_Error(const GetTrunkConfigListResponse_Error& from);
  GetTrunkConfigListResponse_Error(GetTrunkConfigListResponse_Error&& from) noexcept
    : GetTrunkConfigListResponse_Error() {
    *this = ::std::move(from);
  }

  inline GetTrunkConfigListResponse_Error& operator=(const GetTrunkConfigListResponse_Error& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetTrunkConfigListResponse_Error& operator=(GetTrunkConfigListResponse_Error&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetTrunkConfigListResponse_Error& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetTrunkConfigListResponse_Error* internal_default_instance() {
    return reinterpret_cast<const GetTrunkConfigListResponse_Error*>(
               &_GetTrunkConfigListResponse_Error_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    12;

  friend void swap(GetTrunkConfigListResponse_Error& a, GetTrunkConfigListResponse_Error& b) {
    a.Swap(&b);
  }
  inline void Swap(GetTrunkConfigListResponse_Error* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetTrunkConfigListResponse_Error* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetTrunkConfigListResponse_Error* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetTrunkConfigListResponse_Error>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetTrunkConfigListResponse_Error& from);
  void MergeFrom(const GetTrunkConfigListResponse_Error& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetTrunkConfigListResponse_Error* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.GetTrunkConfigListResponse.Error";
  }
  protected:
  explicit GetTrunkConfigListResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kValidationErrorFieldNumber = 1,
  };
  // .keyapis.device.v1.ValidationError validation_error = 1;
  bool has_validation_error() const;
  void clear_validation_error() ;
  const ::keyapis::device::v1::ValidationError& validation_error() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::ValidationError* release_validation_error();
  ::keyapis::device::v1::ValidationError* mutable_validation_error();
  void set_allocated_validation_error(::keyapis::device::v1::ValidationError* validation_error);
  private:
  const ::keyapis::device::v1::ValidationError& _internal_validation_error() const;
  ::keyapis::device::v1::ValidationError* _internal_mutable_validation_error();
  public:
  void unsafe_arena_set_allocated_validation_error(
      ::keyapis::device::v1::ValidationError* validation_error);
  ::keyapis::device::v1::ValidationError* unsafe_arena_release_validation_error();
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.GetTrunkConfigListResponse.Error)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::keyapis::device::v1::ValidationError* validation_error_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class GetTrunkConfigListResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.GetTrunkConfigListResponse) */ {
 public:
  inline GetTrunkConfigListResponse() : GetTrunkConfigListResponse(nullptr) {}
  ~GetTrunkConfigListResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetTrunkConfigListResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetTrunkConfigListResponse(const GetTrunkConfigListResponse& from);
  GetTrunkConfigListResponse(GetTrunkConfigListResponse&& from) noexcept
    : GetTrunkConfigListResponse() {
    *this = ::std::move(from);
  }

  inline GetTrunkConfigListResponse& operator=(const GetTrunkConfigListResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetTrunkConfigListResponse& operator=(GetTrunkConfigListResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetTrunkConfigListResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kData = 1,
    kError = 2,
    TYPE_NOT_SET = 0,
  };

  static inline const GetTrunkConfigListResponse* internal_default_instance() {
    return reinterpret_cast<const GetTrunkConfigListResponse*>(
               &_GetTrunkConfigListResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    13;

  friend void swap(GetTrunkConfigListResponse& a, GetTrunkConfigListResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetTrunkConfigListResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetTrunkConfigListResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetTrunkConfigListResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetTrunkConfigListResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetTrunkConfigListResponse& from);
  void MergeFrom(const GetTrunkConfigListResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetTrunkConfigListResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.GetTrunkConfigListResponse";
  }
  protected:
  explicit GetTrunkConfigListResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  typedef GetTrunkConfigListResponse_Error Error;

  // accessors -------------------------------------------------------

  enum : int {
    kDataFieldNumber = 1,
    kErrorFieldNumber = 2,
  };
  // .keyapis.device.v1.TrunkConfig data = 1;
  bool has_data() const;
  private:
  bool _internal_has_data() const;

  public:
  void clear_data() ;
  const ::keyapis::device::v1::TrunkConfig& data() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::TrunkConfig* release_data();
  ::keyapis::device::v1::TrunkConfig* mutable_data();
  void set_allocated_data(::keyapis::device::v1::TrunkConfig* data);
  private:
  const ::keyapis::device::v1::TrunkConfig& _internal_data() const;
  ::keyapis::device::v1::TrunkConfig* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::keyapis::device::v1::TrunkConfig* data);
  ::keyapis::device::v1::TrunkConfig* unsafe_arena_release_data();
  // .keyapis.device.v1.GetTrunkConfigListResponse.Error error = 2;
  bool has_error() const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  const ::keyapis::device::v1::GetTrunkConfigListResponse_Error& error() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::GetTrunkConfigListResponse_Error* release_error();
  ::keyapis::device::v1::GetTrunkConfigListResponse_Error* mutable_error();
  void set_allocated_error(::keyapis::device::v1::GetTrunkConfigListResponse_Error* error);
  private:
  const ::keyapis::device::v1::GetTrunkConfigListResponse_Error& _internal_error() const;
  ::keyapis::device::v1::GetTrunkConfigListResponse_Error* _internal_mutable_error();
  public:
  void unsafe_arena_set_allocated_error(
      ::keyapis::device::v1::GetTrunkConfigListResponse_Error* error);
  ::keyapis::device::v1::GetTrunkConfigListResponse_Error* unsafe_arena_release_error();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.GetTrunkConfigListResponse)
 private:
  class _Internal;
  void set_has_data();
  void set_has_error();

  inline bool has_type() const;
  inline void clear_has_type();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union TypeUnion {
      constexpr TypeUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::device::v1::TrunkConfig* data_;
      ::keyapis::device::v1::GetTrunkConfigListResponse_Error* error_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class GetTrunkConfigCountRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.GetTrunkConfigCountRequest) */ {
 public:
  inline GetTrunkConfigCountRequest() : GetTrunkConfigCountRequest(nullptr) {}
  ~GetTrunkConfigCountRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetTrunkConfigCountRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetTrunkConfigCountRequest(const GetTrunkConfigCountRequest& from);
  GetTrunkConfigCountRequest(GetTrunkConfigCountRequest&& from) noexcept
    : GetTrunkConfigCountRequest() {
    *this = ::std::move(from);
  }

  inline GetTrunkConfigCountRequest& operator=(const GetTrunkConfigCountRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetTrunkConfigCountRequest& operator=(GetTrunkConfigCountRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetTrunkConfigCountRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetTrunkConfigCountRequest* internal_default_instance() {
    return reinterpret_cast<const GetTrunkConfigCountRequest*>(
               &_GetTrunkConfigCountRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    14;

  friend void swap(GetTrunkConfigCountRequest& a, GetTrunkConfigCountRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetTrunkConfigCountRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetTrunkConfigCountRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetTrunkConfigCountRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetTrunkConfigCountRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetTrunkConfigCountRequest& from);
  void MergeFrom(const GetTrunkConfigCountRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetTrunkConfigCountRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.GetTrunkConfigCountRequest";
  }
  protected:
  explicit GetTrunkConfigCountRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kFilterFieldNumber = 1,
  };
  // .keyapis.device.v1.TrunkConfigFilter filter = 1;
  bool has_filter() const;
  void clear_filter() ;
  const ::keyapis::device::v1::TrunkConfigFilter& filter() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::TrunkConfigFilter* release_filter();
  ::keyapis::device::v1::TrunkConfigFilter* mutable_filter();
  void set_allocated_filter(::keyapis::device::v1::TrunkConfigFilter* filter);
  private:
  const ::keyapis::device::v1::TrunkConfigFilter& _internal_filter() const;
  ::keyapis::device::v1::TrunkConfigFilter* _internal_mutable_filter();
  public:
  void unsafe_arena_set_allocated_filter(
      ::keyapis::device::v1::TrunkConfigFilter* filter);
  ::keyapis::device::v1::TrunkConfigFilter* unsafe_arena_release_filter();
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.GetTrunkConfigCountRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::keyapis::device::v1::TrunkConfigFilter* filter_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class GetTrunkConfigCountResponse_Error final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.GetTrunkConfigCountResponse.Error) */ {
 public:
  inline GetTrunkConfigCountResponse_Error() : GetTrunkConfigCountResponse_Error(nullptr) {}
  ~GetTrunkConfigCountResponse_Error() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetTrunkConfigCountResponse_Error(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetTrunkConfigCountResponse_Error(const GetTrunkConfigCountResponse_Error& from);
  GetTrunkConfigCountResponse_Error(GetTrunkConfigCountResponse_Error&& from) noexcept
    : GetTrunkConfigCountResponse_Error() {
    *this = ::std::move(from);
  }

  inline GetTrunkConfigCountResponse_Error& operator=(const GetTrunkConfigCountResponse_Error& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetTrunkConfigCountResponse_Error& operator=(GetTrunkConfigCountResponse_Error&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetTrunkConfigCountResponse_Error& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetTrunkConfigCountResponse_Error* internal_default_instance() {
    return reinterpret_cast<const GetTrunkConfigCountResponse_Error*>(
               &_GetTrunkConfigCountResponse_Error_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    15;

  friend void swap(GetTrunkConfigCountResponse_Error& a, GetTrunkConfigCountResponse_Error& b) {
    a.Swap(&b);
  }
  inline void Swap(GetTrunkConfigCountResponse_Error* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetTrunkConfigCountResponse_Error* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetTrunkConfigCountResponse_Error* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetTrunkConfigCountResponse_Error>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetTrunkConfigCountResponse_Error& from);
  void MergeFrom(const GetTrunkConfigCountResponse_Error& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetTrunkConfigCountResponse_Error* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.GetTrunkConfigCountResponse.Error";
  }
  protected:
  explicit GetTrunkConfigCountResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kValidationErrorFieldNumber = 1,
  };
  // .keyapis.device.v1.ValidationError validation_error = 1;
  bool has_validation_error() const;
  void clear_validation_error() ;
  const ::keyapis::device::v1::ValidationError& validation_error() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::ValidationError* release_validation_error();
  ::keyapis::device::v1::ValidationError* mutable_validation_error();
  void set_allocated_validation_error(::keyapis::device::v1::ValidationError* validation_error);
  private:
  const ::keyapis::device::v1::ValidationError& _internal_validation_error() const;
  ::keyapis::device::v1::ValidationError* _internal_mutable_validation_error();
  public:
  void unsafe_arena_set_allocated_validation_error(
      ::keyapis::device::v1::ValidationError* validation_error);
  ::keyapis::device::v1::ValidationError* unsafe_arena_release_validation_error();
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.GetTrunkConfigCountResponse.Error)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::keyapis::device::v1::ValidationError* validation_error_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class GetTrunkConfigCountResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.GetTrunkConfigCountResponse) */ {
 public:
  inline GetTrunkConfigCountResponse() : GetTrunkConfigCountResponse(nullptr) {}
  ~GetTrunkConfigCountResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetTrunkConfigCountResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetTrunkConfigCountResponse(const GetTrunkConfigCountResponse& from);
  GetTrunkConfigCountResponse(GetTrunkConfigCountResponse&& from) noexcept
    : GetTrunkConfigCountResponse() {
    *this = ::std::move(from);
  }

  inline GetTrunkConfigCountResponse& operator=(const GetTrunkConfigCountResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetTrunkConfigCountResponse& operator=(GetTrunkConfigCountResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetTrunkConfigCountResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kData = 1,
    kError = 2,
    TYPE_NOT_SET = 0,
  };

  static inline const GetTrunkConfigCountResponse* internal_default_instance() {
    return reinterpret_cast<const GetTrunkConfigCountResponse*>(
               &_GetTrunkConfigCountResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    16;

  friend void swap(GetTrunkConfigCountResponse& a, GetTrunkConfigCountResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetTrunkConfigCountResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetTrunkConfigCountResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetTrunkConfigCountResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetTrunkConfigCountResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetTrunkConfigCountResponse& from);
  void MergeFrom(const GetTrunkConfigCountResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetTrunkConfigCountResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.GetTrunkConfigCountResponse";
  }
  protected:
  explicit GetTrunkConfigCountResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  typedef GetTrunkConfigCountResponse_Error Error;

  // accessors -------------------------------------------------------

  enum : int {
    kDataFieldNumber = 1,
    kErrorFieldNumber = 2,
  };
  // int32 data = 1;
  bool has_data() const;
  void clear_data() ;
  ::int32_t data() const;
  void set_data(::int32_t value);

  private:
  ::int32_t _internal_data() const;
  void _internal_set_data(::int32_t value);

  public:
  // .keyapis.device.v1.GetTrunkConfigCountResponse.Error error = 2;
  bool has_error() const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  const ::keyapis::device::v1::GetTrunkConfigCountResponse_Error& error() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::GetTrunkConfigCountResponse_Error* release_error();
  ::keyapis::device::v1::GetTrunkConfigCountResponse_Error* mutable_error();
  void set_allocated_error(::keyapis::device::v1::GetTrunkConfigCountResponse_Error* error);
  private:
  const ::keyapis::device::v1::GetTrunkConfigCountResponse_Error& _internal_error() const;
  ::keyapis::device::v1::GetTrunkConfigCountResponse_Error* _internal_mutable_error();
  public:
  void unsafe_arena_set_allocated_error(
      ::keyapis::device::v1::GetTrunkConfigCountResponse_Error* error);
  ::keyapis::device::v1::GetTrunkConfigCountResponse_Error* unsafe_arena_release_error();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.GetTrunkConfigCountResponse)
 private:
  class _Internal;
  void set_has_data();
  void set_has_error();

  inline bool has_type() const;
  inline void clear_has_type();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union TypeUnion {
      constexpr TypeUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::int32_t data_;
      ::keyapis::device::v1::GetTrunkConfigCountResponse_Error* error_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class DeleteTrunkConfigRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.DeleteTrunkConfigRequest) */ {
 public:
  inline DeleteTrunkConfigRequest() : DeleteTrunkConfigRequest(nullptr) {}
  ~DeleteTrunkConfigRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR DeleteTrunkConfigRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  DeleteTrunkConfigRequest(const DeleteTrunkConfigRequest& from);
  DeleteTrunkConfigRequest(DeleteTrunkConfigRequest&& from) noexcept
    : DeleteTrunkConfigRequest() {
    *this = ::std::move(from);
  }

  inline DeleteTrunkConfigRequest& operator=(const DeleteTrunkConfigRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline DeleteTrunkConfigRequest& operator=(DeleteTrunkConfigRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const DeleteTrunkConfigRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const DeleteTrunkConfigRequest* internal_default_instance() {
    return reinterpret_cast<const DeleteTrunkConfigRequest*>(
               &_DeleteTrunkConfigRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    17;

  friend void swap(DeleteTrunkConfigRequest& a, DeleteTrunkConfigRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(DeleteTrunkConfigRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(DeleteTrunkConfigRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  DeleteTrunkConfigRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<DeleteTrunkConfigRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const DeleteTrunkConfigRequest& from);
  void MergeFrom(const DeleteTrunkConfigRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(DeleteTrunkConfigRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.DeleteTrunkConfigRequest";
  }
  protected:
  explicit DeleteTrunkConfigRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kIdFieldNumber = 1,
  };
  // string id = 1 [(.google.api.field_behavior) = REQUIRED];
  void clear_id() ;
  const std::string& id() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_id(Arg_&& arg, Args_... args);
  std::string* mutable_id();
  PROTOBUF_NODISCARD std::string* release_id();
  void set_allocated_id(std::string* ptr);

  private:
  const std::string& _internal_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_id(
      const std::string& value);
  std::string* _internal_mutable_id();

  public:
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.DeleteTrunkConfigRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class DeleteTrunkConfigResponse_Error final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.DeleteTrunkConfigResponse.Error) */ {
 public:
  inline DeleteTrunkConfigResponse_Error() : DeleteTrunkConfigResponse_Error(nullptr) {}
  ~DeleteTrunkConfigResponse_Error() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR DeleteTrunkConfigResponse_Error(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  DeleteTrunkConfigResponse_Error(const DeleteTrunkConfigResponse_Error& from);
  DeleteTrunkConfigResponse_Error(DeleteTrunkConfigResponse_Error&& from) noexcept
    : DeleteTrunkConfigResponse_Error() {
    *this = ::std::move(from);
  }

  inline DeleteTrunkConfigResponse_Error& operator=(const DeleteTrunkConfigResponse_Error& from) {
    CopyFrom(from);
    return *this;
  }
  inline DeleteTrunkConfigResponse_Error& operator=(DeleteTrunkConfigResponse_Error&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const DeleteTrunkConfigResponse_Error& default_instance() {
    return *internal_default_instance();
  }
  enum ReasonCase {
    kValidation = 1,
    REASON_NOT_SET = 0,
  };

  static inline const DeleteTrunkConfigResponse_Error* internal_default_instance() {
    return reinterpret_cast<const DeleteTrunkConfigResponse_Error*>(
               &_DeleteTrunkConfigResponse_Error_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    18;

  friend void swap(DeleteTrunkConfigResponse_Error& a, DeleteTrunkConfigResponse_Error& b) {
    a.Swap(&b);
  }
  inline void Swap(DeleteTrunkConfigResponse_Error* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(DeleteTrunkConfigResponse_Error* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  DeleteTrunkConfigResponse_Error* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<DeleteTrunkConfigResponse_Error>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const DeleteTrunkConfigResponse_Error& from);
  void MergeFrom(const DeleteTrunkConfigResponse_Error& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(DeleteTrunkConfigResponse_Error* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.DeleteTrunkConfigResponse.Error";
  }
  protected:
  explicit DeleteTrunkConfigResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kValidationFieldNumber = 1,
  };
  // .keyapis.device.v1.ValidationError validation = 1;
  bool has_validation() const;
  private:
  bool _internal_has_validation() const;

  public:
  void clear_validation() ;
  const ::keyapis::device::v1::ValidationError& validation() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::ValidationError* release_validation();
  ::keyapis::device::v1::ValidationError* mutable_validation();
  void set_allocated_validation(::keyapis::device::v1::ValidationError* validation);
  private:
  const ::keyapis::device::v1::ValidationError& _internal_validation() const;
  ::keyapis::device::v1::ValidationError* _internal_mutable_validation();
  public:
  void unsafe_arena_set_allocated_validation(
      ::keyapis::device::v1::ValidationError* validation);
  ::keyapis::device::v1::ValidationError* unsafe_arena_release_validation();
  void clear_reason();
  ReasonCase reason_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.DeleteTrunkConfigResponse.Error)
 private:
  class _Internal;
  void set_has_validation();

  inline bool has_reason() const;
  inline void clear_has_reason();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union ReasonUnion {
      constexpr ReasonUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::device::v1::ValidationError* validation_;
    } reason_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class DeleteTrunkConfigResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.DeleteTrunkConfigResponse) */ {
 public:
  inline DeleteTrunkConfigResponse() : DeleteTrunkConfigResponse(nullptr) {}
  ~DeleteTrunkConfigResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR DeleteTrunkConfigResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  DeleteTrunkConfigResponse(const DeleteTrunkConfigResponse& from);
  DeleteTrunkConfigResponse(DeleteTrunkConfigResponse&& from) noexcept
    : DeleteTrunkConfigResponse() {
    *this = ::std::move(from);
  }

  inline DeleteTrunkConfigResponse& operator=(const DeleteTrunkConfigResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline DeleteTrunkConfigResponse& operator=(DeleteTrunkConfigResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const DeleteTrunkConfigResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kError = 1,
    TYPE_NOT_SET = 0,
  };

  static inline const DeleteTrunkConfigResponse* internal_default_instance() {
    return reinterpret_cast<const DeleteTrunkConfigResponse*>(
               &_DeleteTrunkConfigResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    19;

  friend void swap(DeleteTrunkConfigResponse& a, DeleteTrunkConfigResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(DeleteTrunkConfigResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(DeleteTrunkConfigResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  DeleteTrunkConfigResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<DeleteTrunkConfigResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const DeleteTrunkConfigResponse& from);
  void MergeFrom(const DeleteTrunkConfigResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(DeleteTrunkConfigResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.DeleteTrunkConfigResponse";
  }
  protected:
  explicit DeleteTrunkConfigResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  typedef DeleteTrunkConfigResponse_Error Error;

  // accessors -------------------------------------------------------

  enum : int {
    kErrorFieldNumber = 1,
  };
  // .keyapis.device.v1.DeleteTrunkConfigResponse.Error error = 1;
  bool has_error() const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  const ::keyapis::device::v1::DeleteTrunkConfigResponse_Error& error() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::DeleteTrunkConfigResponse_Error* release_error();
  ::keyapis::device::v1::DeleteTrunkConfigResponse_Error* mutable_error();
  void set_allocated_error(::keyapis::device::v1::DeleteTrunkConfigResponse_Error* error);
  private:
  const ::keyapis::device::v1::DeleteTrunkConfigResponse_Error& _internal_error() const;
  ::keyapis::device::v1::DeleteTrunkConfigResponse_Error* _internal_mutable_error();
  public:
  void unsafe_arena_set_allocated_error(
      ::keyapis::device::v1::DeleteTrunkConfigResponse_Error* error);
  ::keyapis::device::v1::DeleteTrunkConfigResponse_Error* unsafe_arena_release_error();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.DeleteTrunkConfigResponse)
 private:
  class _Internal;
  void set_has_error();

  inline bool has_type() const;
  inline void clear_has_type();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union TypeUnion {
      constexpr TypeUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::device::v1::DeleteTrunkConfigResponse_Error* error_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class PostTrunkConfigRestoreRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.PostTrunkConfigRestoreRequest) */ {
 public:
  inline PostTrunkConfigRestoreRequest() : PostTrunkConfigRestoreRequest(nullptr) {}
  ~PostTrunkConfigRestoreRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR PostTrunkConfigRestoreRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PostTrunkConfigRestoreRequest(const PostTrunkConfigRestoreRequest& from);
  PostTrunkConfigRestoreRequest(PostTrunkConfigRestoreRequest&& from) noexcept
    : PostTrunkConfigRestoreRequest() {
    *this = ::std::move(from);
  }

  inline PostTrunkConfigRestoreRequest& operator=(const PostTrunkConfigRestoreRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline PostTrunkConfigRestoreRequest& operator=(PostTrunkConfigRestoreRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const PostTrunkConfigRestoreRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const PostTrunkConfigRestoreRequest* internal_default_instance() {
    return reinterpret_cast<const PostTrunkConfigRestoreRequest*>(
               &_PostTrunkConfigRestoreRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    20;

  friend void swap(PostTrunkConfigRestoreRequest& a, PostTrunkConfigRestoreRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(PostTrunkConfigRestoreRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PostTrunkConfigRestoreRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  PostTrunkConfigRestoreRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PostTrunkConfigRestoreRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const PostTrunkConfigRestoreRequest& from);
  void MergeFrom(const PostTrunkConfigRestoreRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(PostTrunkConfigRestoreRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.PostTrunkConfigRestoreRequest";
  }
  protected:
  explicit PostTrunkConfigRestoreRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kIdFieldNumber = 1,
  };
  // string id = 1 [(.google.api.field_behavior) = REQUIRED];
  void clear_id() ;
  const std::string& id() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_id(Arg_&& arg, Args_... args);
  std::string* mutable_id();
  PROTOBUF_NODISCARD std::string* release_id();
  void set_allocated_id(std::string* ptr);

  private:
  const std::string& _internal_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_id(
      const std::string& value);
  std::string* _internal_mutable_id();

  public:
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.PostTrunkConfigRestoreRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class PostTrunkConfigRestoreResponse_Error final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.PostTrunkConfigRestoreResponse.Error) */ {
 public:
  inline PostTrunkConfigRestoreResponse_Error() : PostTrunkConfigRestoreResponse_Error(nullptr) {}
  ~PostTrunkConfigRestoreResponse_Error() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR PostTrunkConfigRestoreResponse_Error(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PostTrunkConfigRestoreResponse_Error(const PostTrunkConfigRestoreResponse_Error& from);
  PostTrunkConfigRestoreResponse_Error(PostTrunkConfigRestoreResponse_Error&& from) noexcept
    : PostTrunkConfigRestoreResponse_Error() {
    *this = ::std::move(from);
  }

  inline PostTrunkConfigRestoreResponse_Error& operator=(const PostTrunkConfigRestoreResponse_Error& from) {
    CopyFrom(from);
    return *this;
  }
  inline PostTrunkConfigRestoreResponse_Error& operator=(PostTrunkConfigRestoreResponse_Error&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const PostTrunkConfigRestoreResponse_Error& default_instance() {
    return *internal_default_instance();
  }
  enum ReasonCase {
    kValidation = 1,
    REASON_NOT_SET = 0,
  };

  static inline const PostTrunkConfigRestoreResponse_Error* internal_default_instance() {
    return reinterpret_cast<const PostTrunkConfigRestoreResponse_Error*>(
               &_PostTrunkConfigRestoreResponse_Error_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    21;

  friend void swap(PostTrunkConfigRestoreResponse_Error& a, PostTrunkConfigRestoreResponse_Error& b) {
    a.Swap(&b);
  }
  inline void Swap(PostTrunkConfigRestoreResponse_Error* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PostTrunkConfigRestoreResponse_Error* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  PostTrunkConfigRestoreResponse_Error* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PostTrunkConfigRestoreResponse_Error>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const PostTrunkConfigRestoreResponse_Error& from);
  void MergeFrom(const PostTrunkConfigRestoreResponse_Error& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(PostTrunkConfigRestoreResponse_Error* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.PostTrunkConfigRestoreResponse.Error";
  }
  protected:
  explicit PostTrunkConfigRestoreResponse_Error(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kValidationFieldNumber = 1,
  };
  // .keyapis.device.v1.ValidationError validation = 1;
  bool has_validation() const;
  private:
  bool _internal_has_validation() const;

  public:
  void clear_validation() ;
  const ::keyapis::device::v1::ValidationError& validation() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::ValidationError* release_validation();
  ::keyapis::device::v1::ValidationError* mutable_validation();
  void set_allocated_validation(::keyapis::device::v1::ValidationError* validation);
  private:
  const ::keyapis::device::v1::ValidationError& _internal_validation() const;
  ::keyapis::device::v1::ValidationError* _internal_mutable_validation();
  public:
  void unsafe_arena_set_allocated_validation(
      ::keyapis::device::v1::ValidationError* validation);
  ::keyapis::device::v1::ValidationError* unsafe_arena_release_validation();
  void clear_reason();
  ReasonCase reason_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.PostTrunkConfigRestoreResponse.Error)
 private:
  class _Internal;
  void set_has_validation();

  inline bool has_reason() const;
  inline void clear_has_reason();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union ReasonUnion {
      constexpr ReasonUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::device::v1::ValidationError* validation_;
    } reason_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};// -------------------------------------------------------------------

class PostTrunkConfigRestoreResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.device.v1.PostTrunkConfigRestoreResponse) */ {
 public:
  inline PostTrunkConfigRestoreResponse() : PostTrunkConfigRestoreResponse(nullptr) {}
  ~PostTrunkConfigRestoreResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR PostTrunkConfigRestoreResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PostTrunkConfigRestoreResponse(const PostTrunkConfigRestoreResponse& from);
  PostTrunkConfigRestoreResponse(PostTrunkConfigRestoreResponse&& from) noexcept
    : PostTrunkConfigRestoreResponse() {
    *this = ::std::move(from);
  }

  inline PostTrunkConfigRestoreResponse& operator=(const PostTrunkConfigRestoreResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline PostTrunkConfigRestoreResponse& operator=(PostTrunkConfigRestoreResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const PostTrunkConfigRestoreResponse& default_instance() {
    return *internal_default_instance();
  }
  enum TypeCase {
    kError = 1,
    TYPE_NOT_SET = 0,
  };

  static inline const PostTrunkConfigRestoreResponse* internal_default_instance() {
    return reinterpret_cast<const PostTrunkConfigRestoreResponse*>(
               &_PostTrunkConfigRestoreResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    22;

  friend void swap(PostTrunkConfigRestoreResponse& a, PostTrunkConfigRestoreResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(PostTrunkConfigRestoreResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PostTrunkConfigRestoreResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  PostTrunkConfigRestoreResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PostTrunkConfigRestoreResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const PostTrunkConfigRestoreResponse& from);
  void MergeFrom(const PostTrunkConfigRestoreResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(PostTrunkConfigRestoreResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.device.v1.PostTrunkConfigRestoreResponse";
  }
  protected:
  explicit PostTrunkConfigRestoreResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  typedef PostTrunkConfigRestoreResponse_Error Error;

  // accessors -------------------------------------------------------

  enum : int {
    kErrorFieldNumber = 1,
  };
  // .keyapis.device.v1.PostTrunkConfigRestoreResponse.Error error = 1;
  bool has_error() const;
  private:
  bool _internal_has_error() const;

  public:
  void clear_error() ;
  const ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error& error() const;
  PROTOBUF_NODISCARD ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error* release_error();
  ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error* mutable_error();
  void set_allocated_error(::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error* error);
  private:
  const ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error& _internal_error() const;
  ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error* _internal_mutable_error();
  public:
  void unsafe_arena_set_allocated_error(
      ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error* error);
  ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error* unsafe_arena_release_error();
  void clear_type();
  TypeCase type_case() const;
  // @@protoc_insertion_point(class_scope:keyapis.device.v1.PostTrunkConfigRestoreResponse)
 private:
  class _Internal;
  void set_has_error();

  inline bool has_type() const;
  inline void clear_has_type();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    union TypeUnion {
      constexpr TypeUnion() : _constinit_{} {}
        ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
      ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error* error_;
    } type_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::uint32_t _oneof_case_[1];

  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto;
};

// ===================================================================




// ===================================================================


#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// -------------------------------------------------------------------

// TrunkConfig_SavingError_Conflict

// -------------------------------------------------------------------

// TrunkConfig_SavingError

// .keyapis.device.v1.TrunkConfig.SavingError.Conflict conflict = 1;
inline bool TrunkConfig_SavingError::has_conflict() const {
  return reason_case() == kConflict;
}
inline bool TrunkConfig_SavingError::_internal_has_conflict() const {
  return reason_case() == kConflict;
}
inline void TrunkConfig_SavingError::set_has_conflict() {
  _impl_._oneof_case_[0] = kConflict;
}
inline void TrunkConfig_SavingError::clear_conflict() {
  if (reason_case() == kConflict) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.conflict_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::device::v1::TrunkConfig_SavingError_Conflict* TrunkConfig_SavingError::release_conflict() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.TrunkConfig.SavingError.conflict)
  if (reason_case() == kConflict) {
    clear_has_reason();
    ::keyapis::device::v1::TrunkConfig_SavingError_Conflict* temp = _impl_.reason_.conflict_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.conflict_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::device::v1::TrunkConfig_SavingError_Conflict& TrunkConfig_SavingError::_internal_conflict() const {
  return reason_case() == kConflict
      ? *_impl_.reason_.conflict_
      : reinterpret_cast<::keyapis::device::v1::TrunkConfig_SavingError_Conflict&>(::keyapis::device::v1::_TrunkConfig_SavingError_Conflict_default_instance_);
}
inline const ::keyapis::device::v1::TrunkConfig_SavingError_Conflict& TrunkConfig_SavingError::conflict() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.TrunkConfig.SavingError.conflict)
  return _internal_conflict();
}
inline ::keyapis::device::v1::TrunkConfig_SavingError_Conflict* TrunkConfig_SavingError::unsafe_arena_release_conflict() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.device.v1.TrunkConfig.SavingError.conflict)
  if (reason_case() == kConflict) {
    clear_has_reason();
    ::keyapis::device::v1::TrunkConfig_SavingError_Conflict* temp = _impl_.reason_.conflict_;
    _impl_.reason_.conflict_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void TrunkConfig_SavingError::unsafe_arena_set_allocated_conflict(::keyapis::device::v1::TrunkConfig_SavingError_Conflict* conflict) {
  clear_reason();
  if (conflict) {
    set_has_conflict();
    _impl_.reason_.conflict_ = conflict;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.TrunkConfig.SavingError.conflict)
}
inline ::keyapis::device::v1::TrunkConfig_SavingError_Conflict* TrunkConfig_SavingError::_internal_mutable_conflict() {
  if (reason_case() != kConflict) {
    clear_reason();
    set_has_conflict();
    _impl_.reason_.conflict_ = CreateMaybeMessage< ::keyapis::device::v1::TrunkConfig_SavingError_Conflict >(GetArenaForAllocation());
  }
  return _impl_.reason_.conflict_;
}
inline ::keyapis::device::v1::TrunkConfig_SavingError_Conflict* TrunkConfig_SavingError::mutable_conflict() {
  ::keyapis::device::v1::TrunkConfig_SavingError_Conflict* _msg = _internal_mutable_conflict();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.TrunkConfig.SavingError.conflict)
  return _msg;
}

inline bool TrunkConfig_SavingError::has_reason() const {
  return reason_case() != REASON_NOT_SET;
}
inline void TrunkConfig_SavingError::clear_has_reason() {
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}
inline TrunkConfig_SavingError::ReasonCase TrunkConfig_SavingError::reason_case() const {
  return TrunkConfig_SavingError::ReasonCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// TrunkConfig

// string id = 1;
inline void TrunkConfig::clear_id() {
  _impl_.id_.ClearToEmpty();
}
inline const std::string& TrunkConfig::id() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.TrunkConfig.id)
  return _internal_id();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void TrunkConfig::set_id(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.id_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.device.v1.TrunkConfig.id)
}
inline std::string* TrunkConfig::mutable_id() {
  std::string* _s = _internal_mutable_id();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.TrunkConfig.id)
  return _s;
}
inline const std::string& TrunkConfig::_internal_id() const {
  return _impl_.id_.Get();
}
inline void TrunkConfig::_internal_set_id(const std::string& value) {
  ;


  _impl_.id_.Set(value, GetArenaForAllocation());
}
inline std::string* TrunkConfig::_internal_mutable_id() {
  ;
  return _impl_.id_.Mutable( GetArenaForAllocation());
}
inline std::string* TrunkConfig::release_id() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.TrunkConfig.id)
  return _impl_.id_.Release();
}
inline void TrunkConfig::set_allocated_id(std::string* value) {
  _impl_.id_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.id_.IsDefault()) {
          _impl_.id_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.TrunkConfig.id)
}

// int64 city_orpon_id = 2 [(.google.api.field_behavior) = REQUIRED];
inline void TrunkConfig::clear_city_orpon_id() {
  _impl_.city_orpon_id_ = ::int64_t{0};
}
inline ::int64_t TrunkConfig::city_orpon_id() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.TrunkConfig.city_orpon_id)
  return _internal_city_orpon_id();
}
inline void TrunkConfig::set_city_orpon_id(::int64_t value) {
  _internal_set_city_orpon_id(value);
  // @@protoc_insertion_point(field_set:keyapis.device.v1.TrunkConfig.city_orpon_id)
}
inline ::int64_t TrunkConfig::_internal_city_orpon_id() const {
  return _impl_.city_orpon_id_;
}
inline void TrunkConfig::_internal_set_city_orpon_id(::int64_t value) {
  ;
  _impl_.city_orpon_id_ = value;
}

// .keyapis.device.v1.Device.SipTrunk.SipType device_sip_trunk_sip_type = 3 [(.google.api.field_behavior) = REQUIRED];
inline void TrunkConfig::clear_device_sip_trunk_sip_type() {
  _impl_.device_sip_trunk_sip_type_ = 0;
}
inline ::keyapis::device::v1::Device_SipTrunk_SipType TrunkConfig::device_sip_trunk_sip_type() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.TrunkConfig.device_sip_trunk_sip_type)
  return _internal_device_sip_trunk_sip_type();
}
inline void TrunkConfig::set_device_sip_trunk_sip_type(::keyapis::device::v1::Device_SipTrunk_SipType value) {
   _internal_set_device_sip_trunk_sip_type(value);
  // @@protoc_insertion_point(field_set:keyapis.device.v1.TrunkConfig.device_sip_trunk_sip_type)
}
inline ::keyapis::device::v1::Device_SipTrunk_SipType TrunkConfig::_internal_device_sip_trunk_sip_type() const {
  return static_cast<::keyapis::device::v1::Device_SipTrunk_SipType>(_impl_.device_sip_trunk_sip_type_);
}
inline void TrunkConfig::_internal_set_device_sip_trunk_sip_type(::keyapis::device::v1::Device_SipTrunk_SipType value) {
  ;
  _impl_.device_sip_trunk_sip_type_ = value;
}

// string ip_address = 4 [(.google.api.field_behavior) = REQUIRED];
inline void TrunkConfig::clear_ip_address() {
  _impl_.ip_address_.ClearToEmpty();
}
inline const std::string& TrunkConfig::ip_address() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.TrunkConfig.ip_address)
  return _internal_ip_address();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void TrunkConfig::set_ip_address(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.ip_address_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.device.v1.TrunkConfig.ip_address)
}
inline std::string* TrunkConfig::mutable_ip_address() {
  std::string* _s = _internal_mutable_ip_address();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.TrunkConfig.ip_address)
  return _s;
}
inline const std::string& TrunkConfig::_internal_ip_address() const {
  return _impl_.ip_address_.Get();
}
inline void TrunkConfig::_internal_set_ip_address(const std::string& value) {
  ;


  _impl_.ip_address_.Set(value, GetArenaForAllocation());
}
inline std::string* TrunkConfig::_internal_mutable_ip_address() {
  ;
  return _impl_.ip_address_.Mutable( GetArenaForAllocation());
}
inline std::string* TrunkConfig::release_ip_address() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.TrunkConfig.ip_address)
  return _impl_.ip_address_.Release();
}
inline void TrunkConfig::set_allocated_ip_address(std::string* value) {
  _impl_.ip_address_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.ip_address_.IsDefault()) {
          _impl_.ip_address_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.TrunkConfig.ip_address)
}

// int32 port = 5 [(.google.api.field_behavior) = REQUIRED];
inline void TrunkConfig::clear_port() {
  _impl_.port_ = 0;
}
inline ::int32_t TrunkConfig::port() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.TrunkConfig.port)
  return _internal_port();
}
inline void TrunkConfig::set_port(::int32_t value) {
  _internal_set_port(value);
  // @@protoc_insertion_point(field_set:keyapis.device.v1.TrunkConfig.port)
}
inline ::int32_t TrunkConfig::_internal_port() const {
  return _impl_.port_;
}
inline void TrunkConfig::_internal_set_port(::int32_t value) {
  ;
  _impl_.port_ = value;
}

// .google.protobuf.Timestamp created_at = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
inline bool TrunkConfig::has_created_at() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.created_at_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& TrunkConfig::_internal_created_at() const {
  const ::PROTOBUF_NAMESPACE_ID::Timestamp* p = _impl_.created_at_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Timestamp&>(
      ::PROTOBUF_NAMESPACE_ID::_Timestamp_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& TrunkConfig::created_at() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.TrunkConfig.created_at)
  return _internal_created_at();
}
inline void TrunkConfig::unsafe_arena_set_allocated_created_at(
    ::PROTOBUF_NAMESPACE_ID::Timestamp* created_at) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.created_at_);
  }
  _impl_.created_at_ = created_at;
  if (created_at) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.TrunkConfig.created_at)
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* TrunkConfig::release_created_at() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.created_at_;
  _impl_.created_at_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* TrunkConfig::unsafe_arena_release_created_at() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.TrunkConfig.created_at)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.created_at_;
  _impl_.created_at_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* TrunkConfig::_internal_mutable_created_at() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.created_at_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Timestamp>(GetArenaForAllocation());
    _impl_.created_at_ = p;
  }
  return _impl_.created_at_;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* TrunkConfig::mutable_created_at() {
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _msg = _internal_mutable_created_at();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.TrunkConfig.created_at)
  return _msg;
}
inline void TrunkConfig::set_allocated_created_at(::PROTOBUF_NAMESPACE_ID::Timestamp* created_at) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.created_at_);
  }
  if (created_at) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(created_at));
    if (message_arena != submessage_arena) {
      created_at = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, created_at, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.created_at_ = created_at;
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.TrunkConfig.created_at)
}

// .google.protobuf.Timestamp changed_at = 7;
inline bool TrunkConfig::has_changed_at() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.changed_at_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& TrunkConfig::_internal_changed_at() const {
  const ::PROTOBUF_NAMESPACE_ID::Timestamp* p = _impl_.changed_at_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Timestamp&>(
      ::PROTOBUF_NAMESPACE_ID::_Timestamp_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& TrunkConfig::changed_at() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.TrunkConfig.changed_at)
  return _internal_changed_at();
}
inline void TrunkConfig::unsafe_arena_set_allocated_changed_at(
    ::PROTOBUF_NAMESPACE_ID::Timestamp* changed_at) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.changed_at_);
  }
  _impl_.changed_at_ = changed_at;
  if (changed_at) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.TrunkConfig.changed_at)
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* TrunkConfig::release_changed_at() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.changed_at_;
  _impl_.changed_at_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* TrunkConfig::unsafe_arena_release_changed_at() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.TrunkConfig.changed_at)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.changed_at_;
  _impl_.changed_at_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* TrunkConfig::_internal_mutable_changed_at() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.changed_at_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Timestamp>(GetArenaForAllocation());
    _impl_.changed_at_ = p;
  }
  return _impl_.changed_at_;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* TrunkConfig::mutable_changed_at() {
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _msg = _internal_mutable_changed_at();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.TrunkConfig.changed_at)
  return _msg;
}
inline void TrunkConfig::set_allocated_changed_at(::PROTOBUF_NAMESPACE_ID::Timestamp* changed_at) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.changed_at_);
  }
  if (changed_at) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(changed_at));
    if (message_arena != submessage_arena) {
      changed_at = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, changed_at, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.changed_at_ = changed_at;
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.TrunkConfig.changed_at)
}

// .google.protobuf.Timestamp deleted_at = 8 [(.google.api.field_behavior) = OUTPUT_ONLY];
inline bool TrunkConfig::has_deleted_at() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.deleted_at_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& TrunkConfig::_internal_deleted_at() const {
  const ::PROTOBUF_NAMESPACE_ID::Timestamp* p = _impl_.deleted_at_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Timestamp&>(
      ::PROTOBUF_NAMESPACE_ID::_Timestamp_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::Timestamp& TrunkConfig::deleted_at() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.TrunkConfig.deleted_at)
  return _internal_deleted_at();
}
inline void TrunkConfig::unsafe_arena_set_allocated_deleted_at(
    ::PROTOBUF_NAMESPACE_ID::Timestamp* deleted_at) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.deleted_at_);
  }
  _impl_.deleted_at_ = deleted_at;
  if (deleted_at) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.TrunkConfig.deleted_at)
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* TrunkConfig::release_deleted_at() {
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.deleted_at_;
  _impl_.deleted_at_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* TrunkConfig::unsafe_arena_release_deleted_at() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.TrunkConfig.deleted_at)
  _impl_._has_bits_[0] &= ~0x00000004u;
  ::PROTOBUF_NAMESPACE_ID::Timestamp* temp = _impl_.deleted_at_;
  _impl_.deleted_at_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* TrunkConfig::_internal_mutable_deleted_at() {
  _impl_._has_bits_[0] |= 0x00000004u;
  if (_impl_.deleted_at_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::Timestamp>(GetArenaForAllocation());
    _impl_.deleted_at_ = p;
  }
  return _impl_.deleted_at_;
}
inline ::PROTOBUF_NAMESPACE_ID::Timestamp* TrunkConfig::mutable_deleted_at() {
  ::PROTOBUF_NAMESPACE_ID::Timestamp* _msg = _internal_mutable_deleted_at();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.TrunkConfig.deleted_at)
  return _msg;
}
inline void TrunkConfig::set_allocated_deleted_at(::PROTOBUF_NAMESPACE_ID::Timestamp* deleted_at) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.deleted_at_);
  }
  if (deleted_at) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(deleted_at));
    if (message_arena != submessage_arena) {
      deleted_at = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, deleted_at, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.deleted_at_ = deleted_at;
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.TrunkConfig.deleted_at)
}

// -------------------------------------------------------------------

// TrunkConfigFilter

// repeated int64 city_orpon_ids = 1;
inline int TrunkConfigFilter::_internal_city_orpon_ids_size() const {
  return _impl_.city_orpon_ids_.size();
}
inline int TrunkConfigFilter::city_orpon_ids_size() const {
  return _internal_city_orpon_ids_size();
}
inline void TrunkConfigFilter::clear_city_orpon_ids() {
  _internal_mutable_city_orpon_ids()->Clear();
}
inline ::int64_t TrunkConfigFilter::city_orpon_ids(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.TrunkConfigFilter.city_orpon_ids)
  return _internal_city_orpon_ids(index);
}
inline void TrunkConfigFilter::set_city_orpon_ids(int index, ::int64_t value) {
  _internal_mutable_city_orpon_ids()->Set(index, value);
  // @@protoc_insertion_point(field_set:keyapis.device.v1.TrunkConfigFilter.city_orpon_ids)
}
inline void TrunkConfigFilter::add_city_orpon_ids(::int64_t value) {
  _internal_add_city_orpon_ids(value);
  // @@protoc_insertion_point(field_add:keyapis.device.v1.TrunkConfigFilter.city_orpon_ids)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<::int64_t>& TrunkConfigFilter::city_orpon_ids() const {
  // @@protoc_insertion_point(field_list:keyapis.device.v1.TrunkConfigFilter.city_orpon_ids)
  return _internal_city_orpon_ids();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<::int64_t>* TrunkConfigFilter::mutable_city_orpon_ids() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.device.v1.TrunkConfigFilter.city_orpon_ids)
  return _internal_mutable_city_orpon_ids();
}

inline ::int64_t TrunkConfigFilter::_internal_city_orpon_ids(int index) const {
  return _internal_city_orpon_ids().Get(index);
}
inline void TrunkConfigFilter::_internal_add_city_orpon_ids(::int64_t value) {
  _internal_mutable_city_orpon_ids()->Add(value);
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<::int64_t>& TrunkConfigFilter::_internal_city_orpon_ids() const {
  return _impl_.city_orpon_ids_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<::int64_t>* TrunkConfigFilter::_internal_mutable_city_orpon_ids() {
  return &_impl_.city_orpon_ids_;
}

// repeated string ip_addresses = 2;
inline int TrunkConfigFilter::_internal_ip_addresses_size() const {
  return _impl_.ip_addresses_.size();
}
inline int TrunkConfigFilter::ip_addresses_size() const {
  return _internal_ip_addresses_size();
}
inline void TrunkConfigFilter::clear_ip_addresses() {
  _internal_mutable_ip_addresses()->Clear();
}
inline std::string* TrunkConfigFilter::add_ip_addresses() {
  std::string* _s = _internal_add_ip_addresses();
  // @@protoc_insertion_point(field_add_mutable:keyapis.device.v1.TrunkConfigFilter.ip_addresses)
  return _s;
}
inline const std::string& TrunkConfigFilter::ip_addresses(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.TrunkConfigFilter.ip_addresses)
  return _internal_ip_addresses(index);
}
inline std::string* TrunkConfigFilter::mutable_ip_addresses(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.TrunkConfigFilter.ip_addresses)
  return _internal_mutable_ip_addresses()->Mutable(index);
}
inline void TrunkConfigFilter::set_ip_addresses(int index, const std::string& value) {
  _internal_mutable_ip_addresses()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:keyapis.device.v1.TrunkConfigFilter.ip_addresses)
}
inline void TrunkConfigFilter::set_ip_addresses(int index, std::string&& value) {
  _internal_mutable_ip_addresses()->Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:keyapis.device.v1.TrunkConfigFilter.ip_addresses)
}
inline void TrunkConfigFilter::set_ip_addresses(int index, const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_ip_addresses()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:keyapis.device.v1.TrunkConfigFilter.ip_addresses)
}
inline void TrunkConfigFilter::set_ip_addresses(int index, const char* value,
                              std::size_t size) {
  _internal_mutable_ip_addresses()->Mutable(index)->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:keyapis.device.v1.TrunkConfigFilter.ip_addresses)
}
inline void TrunkConfigFilter::set_ip_addresses(int index, absl::string_view value) {
  _internal_mutable_ip_addresses()->Mutable(index)->assign(value.data(),
                                                     value.size());
  // @@protoc_insertion_point(field_set_string_piece:keyapis.device.v1.TrunkConfigFilter.ip_addresses)
}
inline void TrunkConfigFilter::add_ip_addresses(const std::string& value) {
  _internal_mutable_ip_addresses()->Add()->assign(value);
  // @@protoc_insertion_point(field_add:keyapis.device.v1.TrunkConfigFilter.ip_addresses)
}
inline void TrunkConfigFilter::add_ip_addresses(std::string&& value) {
  _internal_mutable_ip_addresses()->Add(std::move(value));
  // @@protoc_insertion_point(field_add:keyapis.device.v1.TrunkConfigFilter.ip_addresses)
}
inline void TrunkConfigFilter::add_ip_addresses(const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_ip_addresses()->Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:keyapis.device.v1.TrunkConfigFilter.ip_addresses)
}
inline void TrunkConfigFilter::add_ip_addresses(const char* value, std::size_t size) {
  _internal_mutable_ip_addresses()->Add()->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:keyapis.device.v1.TrunkConfigFilter.ip_addresses)
}
inline void TrunkConfigFilter::add_ip_addresses(absl::string_view value) {
  _internal_mutable_ip_addresses()->Add()->assign(value.data(), value.size());
  // @@protoc_insertion_point(field_add_string_piece:keyapis.device.v1.TrunkConfigFilter.ip_addresses)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
TrunkConfigFilter::ip_addresses() const {
  // @@protoc_insertion_point(field_list:keyapis.device.v1.TrunkConfigFilter.ip_addresses)
  return _internal_ip_addresses();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* TrunkConfigFilter::mutable_ip_addresses() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.device.v1.TrunkConfigFilter.ip_addresses)
  return _internal_mutable_ip_addresses();
}
inline const std::string& TrunkConfigFilter::_internal_ip_addresses(int index) const {
  return _internal_ip_addresses().Get(index);
}
inline std::string* TrunkConfigFilter::_internal_add_ip_addresses() {
  return _internal_mutable_ip_addresses()->Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
TrunkConfigFilter::_internal_ip_addresses() const {
  return _impl_.ip_addresses_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
TrunkConfigFilter::_internal_mutable_ip_addresses() {
  return &_impl_.ip_addresses_;
}

// .google.protobuf.BoolValue show_deleted = 3;
inline bool TrunkConfigFilter::has_show_deleted() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.show_deleted_ != nullptr);
  return value;
}
inline const ::PROTOBUF_NAMESPACE_ID::BoolValue& TrunkConfigFilter::_internal_show_deleted() const {
  const ::PROTOBUF_NAMESPACE_ID::BoolValue* p = _impl_.show_deleted_;
  return p != nullptr ? *p : reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::BoolValue&>(
      ::PROTOBUF_NAMESPACE_ID::_BoolValue_default_instance_);
}
inline const ::PROTOBUF_NAMESPACE_ID::BoolValue& TrunkConfigFilter::show_deleted() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.TrunkConfigFilter.show_deleted)
  return _internal_show_deleted();
}
inline void TrunkConfigFilter::unsafe_arena_set_allocated_show_deleted(
    ::PROTOBUF_NAMESPACE_ID::BoolValue* show_deleted) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.show_deleted_);
  }
  _impl_.show_deleted_ = show_deleted;
  if (show_deleted) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.TrunkConfigFilter.show_deleted)
}
inline ::PROTOBUF_NAMESPACE_ID::BoolValue* TrunkConfigFilter::release_show_deleted() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::PROTOBUF_NAMESPACE_ID::BoolValue* temp = _impl_.show_deleted_;
  _impl_.show_deleted_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::BoolValue* TrunkConfigFilter::unsafe_arena_release_show_deleted() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.TrunkConfigFilter.show_deleted)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::PROTOBUF_NAMESPACE_ID::BoolValue* temp = _impl_.show_deleted_;
  _impl_.show_deleted_ = nullptr;
  return temp;
}
inline ::PROTOBUF_NAMESPACE_ID::BoolValue* TrunkConfigFilter::_internal_mutable_show_deleted() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.show_deleted_ == nullptr) {
    auto* p = CreateMaybeMessage<::PROTOBUF_NAMESPACE_ID::BoolValue>(GetArenaForAllocation());
    _impl_.show_deleted_ = p;
  }
  return _impl_.show_deleted_;
}
inline ::PROTOBUF_NAMESPACE_ID::BoolValue* TrunkConfigFilter::mutable_show_deleted() {
  ::PROTOBUF_NAMESPACE_ID::BoolValue* _msg = _internal_mutable_show_deleted();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.TrunkConfigFilter.show_deleted)
  return _msg;
}
inline void TrunkConfigFilter::set_allocated_show_deleted(::PROTOBUF_NAMESPACE_ID::BoolValue* show_deleted) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.show_deleted_);
  }
  if (show_deleted) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(show_deleted));
    if (message_arena != submessage_arena) {
      show_deleted = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, show_deleted, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.show_deleted_ = show_deleted;
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.TrunkConfigFilter.show_deleted)
}

// -------------------------------------------------------------------

// TrunkConfigPaging

// .keyapis.device.v1.TrunkConfigPaging.OrderByType order_by_type = 1;
inline void TrunkConfigPaging::clear_order_by_type() {
  _impl_.order_by_type_ = 0;
}
inline ::keyapis::device::v1::TrunkConfigPaging_OrderByType TrunkConfigPaging::order_by_type() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.TrunkConfigPaging.order_by_type)
  return _internal_order_by_type();
}
inline void TrunkConfigPaging::set_order_by_type(::keyapis::device::v1::TrunkConfigPaging_OrderByType value) {
   _internal_set_order_by_type(value);
  // @@protoc_insertion_point(field_set:keyapis.device.v1.TrunkConfigPaging.order_by_type)
}
inline ::keyapis::device::v1::TrunkConfigPaging_OrderByType TrunkConfigPaging::_internal_order_by_type() const {
  return static_cast<::keyapis::device::v1::TrunkConfigPaging_OrderByType>(_impl_.order_by_type_);
}
inline void TrunkConfigPaging::_internal_set_order_by_type(::keyapis::device::v1::TrunkConfigPaging_OrderByType value) {
  ;
  _impl_.order_by_type_ = value;
}

// .keyapis.device.v1.TrunkConfigPaging.DirectionType direction_type = 2;
inline void TrunkConfigPaging::clear_direction_type() {
  _impl_.direction_type_ = 0;
}
inline ::keyapis::device::v1::TrunkConfigPaging_DirectionType TrunkConfigPaging::direction_type() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.TrunkConfigPaging.direction_type)
  return _internal_direction_type();
}
inline void TrunkConfigPaging::set_direction_type(::keyapis::device::v1::TrunkConfigPaging_DirectionType value) {
   _internal_set_direction_type(value);
  // @@protoc_insertion_point(field_set:keyapis.device.v1.TrunkConfigPaging.direction_type)
}
inline ::keyapis::device::v1::TrunkConfigPaging_DirectionType TrunkConfigPaging::_internal_direction_type() const {
  return static_cast<::keyapis::device::v1::TrunkConfigPaging_DirectionType>(_impl_.direction_type_);
}
inline void TrunkConfigPaging::_internal_set_direction_type(::keyapis::device::v1::TrunkConfigPaging_DirectionType value) {
  ;
  _impl_.direction_type_ = value;
}

// int32 limit = 3;
inline void TrunkConfigPaging::clear_limit() {
  _impl_.limit_ = 0;
}
inline ::int32_t TrunkConfigPaging::limit() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.TrunkConfigPaging.limit)
  return _internal_limit();
}
inline void TrunkConfigPaging::set_limit(::int32_t value) {
  _internal_set_limit(value);
  // @@protoc_insertion_point(field_set:keyapis.device.v1.TrunkConfigPaging.limit)
}
inline ::int32_t TrunkConfigPaging::_internal_limit() const {
  return _impl_.limit_;
}
inline void TrunkConfigPaging::_internal_set_limit(::int32_t value) {
  ;
  _impl_.limit_ = value;
}

// int32 offset = 4;
inline void TrunkConfigPaging::clear_offset() {
  _impl_.offset_ = 0;
}
inline ::int32_t TrunkConfigPaging::offset() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.TrunkConfigPaging.offset)
  return _internal_offset();
}
inline void TrunkConfigPaging::set_offset(::int32_t value) {
  _internal_set_offset(value);
  // @@protoc_insertion_point(field_set:keyapis.device.v1.TrunkConfigPaging.offset)
}
inline ::int32_t TrunkConfigPaging::_internal_offset() const {
  return _impl_.offset_;
}
inline void TrunkConfigPaging::_internal_set_offset(::int32_t value) {
  ;
  _impl_.offset_ = value;
}

// -------------------------------------------------------------------

// PostTrunkConfigRequest

// .keyapis.device.v1.TrunkConfig data = 1 [(.google.api.field_behavior) = REQUIRED];
inline bool PostTrunkConfigRequest::has_data() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.data_ != nullptr);
  return value;
}
inline void PostTrunkConfigRequest::clear_data() {
  if (_impl_.data_ != nullptr) _impl_.data_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::keyapis::device::v1::TrunkConfig& PostTrunkConfigRequest::_internal_data() const {
  const ::keyapis::device::v1::TrunkConfig* p = _impl_.data_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::device::v1::TrunkConfig&>(
      ::keyapis::device::v1::_TrunkConfig_default_instance_);
}
inline const ::keyapis::device::v1::TrunkConfig& PostTrunkConfigRequest::data() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.PostTrunkConfigRequest.data)
  return _internal_data();
}
inline void PostTrunkConfigRequest::unsafe_arena_set_allocated_data(
    ::keyapis::device::v1::TrunkConfig* data) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.data_);
  }
  _impl_.data_ = data;
  if (data) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.PostTrunkConfigRequest.data)
}
inline ::keyapis::device::v1::TrunkConfig* PostTrunkConfigRequest::release_data() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::device::v1::TrunkConfig* temp = _impl_.data_;
  _impl_.data_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::keyapis::device::v1::TrunkConfig* PostTrunkConfigRequest::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.PostTrunkConfigRequest.data)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::device::v1::TrunkConfig* temp = _impl_.data_;
  _impl_.data_ = nullptr;
  return temp;
}
inline ::keyapis::device::v1::TrunkConfig* PostTrunkConfigRequest::_internal_mutable_data() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.data_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::device::v1::TrunkConfig>(GetArenaForAllocation());
    _impl_.data_ = p;
  }
  return _impl_.data_;
}
inline ::keyapis::device::v1::TrunkConfig* PostTrunkConfigRequest::mutable_data() {
  ::keyapis::device::v1::TrunkConfig* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.PostTrunkConfigRequest.data)
  return _msg;
}
inline void PostTrunkConfigRequest::set_allocated_data(::keyapis::device::v1::TrunkConfig* data) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.data_;
  }
  if (data) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(data);
    if (message_arena != submessage_arena) {
      data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, data, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.data_ = data;
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.PostTrunkConfigRequest.data)
}

// -------------------------------------------------------------------

// PostTrunkConfigResponse_Error

// .keyapis.device.v1.ValidationError validation = 1;
inline bool PostTrunkConfigResponse_Error::has_validation() const {
  return reason_case() == kValidation;
}
inline bool PostTrunkConfigResponse_Error::_internal_has_validation() const {
  return reason_case() == kValidation;
}
inline void PostTrunkConfigResponse_Error::set_has_validation() {
  _impl_._oneof_case_[0] = kValidation;
}
inline ::keyapis::device::v1::ValidationError* PostTrunkConfigResponse_Error::release_validation() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.PostTrunkConfigResponse.Error.validation)
  if (reason_case() == kValidation) {
    clear_has_reason();
    ::keyapis::device::v1::ValidationError* temp = _impl_.reason_.validation_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.validation_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::device::v1::ValidationError& PostTrunkConfigResponse_Error::_internal_validation() const {
  return reason_case() == kValidation
      ? *_impl_.reason_.validation_
      : reinterpret_cast<::keyapis::device::v1::ValidationError&>(::keyapis::device::v1::_ValidationError_default_instance_);
}
inline const ::keyapis::device::v1::ValidationError& PostTrunkConfigResponse_Error::validation() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.PostTrunkConfigResponse.Error.validation)
  return _internal_validation();
}
inline ::keyapis::device::v1::ValidationError* PostTrunkConfigResponse_Error::unsafe_arena_release_validation() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.device.v1.PostTrunkConfigResponse.Error.validation)
  if (reason_case() == kValidation) {
    clear_has_reason();
    ::keyapis::device::v1::ValidationError* temp = _impl_.reason_.validation_;
    _impl_.reason_.validation_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostTrunkConfigResponse_Error::unsafe_arena_set_allocated_validation(::keyapis::device::v1::ValidationError* validation) {
  clear_reason();
  if (validation) {
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.PostTrunkConfigResponse.Error.validation)
}
inline ::keyapis::device::v1::ValidationError* PostTrunkConfigResponse_Error::_internal_mutable_validation() {
  if (reason_case() != kValidation) {
    clear_reason();
    set_has_validation();
    _impl_.reason_.validation_ = CreateMaybeMessage< ::keyapis::device::v1::ValidationError >(GetArenaForAllocation());
  }
  return _impl_.reason_.validation_;
}
inline ::keyapis::device::v1::ValidationError* PostTrunkConfigResponse_Error::mutable_validation() {
  ::keyapis::device::v1::ValidationError* _msg = _internal_mutable_validation();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.PostTrunkConfigResponse.Error.validation)
  return _msg;
}

// .keyapis.device.v1.TrunkConfig.SavingError saving = 2;
inline bool PostTrunkConfigResponse_Error::has_saving() const {
  return reason_case() == kSaving;
}
inline bool PostTrunkConfigResponse_Error::_internal_has_saving() const {
  return reason_case() == kSaving;
}
inline void PostTrunkConfigResponse_Error::set_has_saving() {
  _impl_._oneof_case_[0] = kSaving;
}
inline void PostTrunkConfigResponse_Error::clear_saving() {
  if (reason_case() == kSaving) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.reason_.saving_;
    }
    clear_has_reason();
  }
}
inline ::keyapis::device::v1::TrunkConfig_SavingError* PostTrunkConfigResponse_Error::release_saving() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.PostTrunkConfigResponse.Error.saving)
  if (reason_case() == kSaving) {
    clear_has_reason();
    ::keyapis::device::v1::TrunkConfig_SavingError* temp = _impl_.reason_.saving_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.saving_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::device::v1::TrunkConfig_SavingError& PostTrunkConfigResponse_Error::_internal_saving() const {
  return reason_case() == kSaving
      ? *_impl_.reason_.saving_
      : reinterpret_cast<::keyapis::device::v1::TrunkConfig_SavingError&>(::keyapis::device::v1::_TrunkConfig_SavingError_default_instance_);
}
inline const ::keyapis::device::v1::TrunkConfig_SavingError& PostTrunkConfigResponse_Error::saving() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.PostTrunkConfigResponse.Error.saving)
  return _internal_saving();
}
inline ::keyapis::device::v1::TrunkConfig_SavingError* PostTrunkConfigResponse_Error::unsafe_arena_release_saving() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.device.v1.PostTrunkConfigResponse.Error.saving)
  if (reason_case() == kSaving) {
    clear_has_reason();
    ::keyapis::device::v1::TrunkConfig_SavingError* temp = _impl_.reason_.saving_;
    _impl_.reason_.saving_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostTrunkConfigResponse_Error::unsafe_arena_set_allocated_saving(::keyapis::device::v1::TrunkConfig_SavingError* saving) {
  clear_reason();
  if (saving) {
    set_has_saving();
    _impl_.reason_.saving_ = saving;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.PostTrunkConfigResponse.Error.saving)
}
inline ::keyapis::device::v1::TrunkConfig_SavingError* PostTrunkConfigResponse_Error::_internal_mutable_saving() {
  if (reason_case() != kSaving) {
    clear_reason();
    set_has_saving();
    _impl_.reason_.saving_ = CreateMaybeMessage< ::keyapis::device::v1::TrunkConfig_SavingError >(GetArenaForAllocation());
  }
  return _impl_.reason_.saving_;
}
inline ::keyapis::device::v1::TrunkConfig_SavingError* PostTrunkConfigResponse_Error::mutable_saving() {
  ::keyapis::device::v1::TrunkConfig_SavingError* _msg = _internal_mutable_saving();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.PostTrunkConfigResponse.Error.saving)
  return _msg;
}

inline bool PostTrunkConfigResponse_Error::has_reason() const {
  return reason_case() != REASON_NOT_SET;
}
inline void PostTrunkConfigResponse_Error::clear_has_reason() {
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}
inline PostTrunkConfigResponse_Error::ReasonCase PostTrunkConfigResponse_Error::reason_case() const {
  return PostTrunkConfigResponse_Error::ReasonCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// PostTrunkConfigResponse

// .keyapis.device.v1.TrunkConfig data = 1;
inline bool PostTrunkConfigResponse::has_data() const {
  return type_case() == kData;
}
inline bool PostTrunkConfigResponse::_internal_has_data() const {
  return type_case() == kData;
}
inline void PostTrunkConfigResponse::set_has_data() {
  _impl_._oneof_case_[0] = kData;
}
inline void PostTrunkConfigResponse::clear_data() {
  if (type_case() == kData) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.data_;
    }
    clear_has_type();
  }
}
inline ::keyapis::device::v1::TrunkConfig* PostTrunkConfigResponse::release_data() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.PostTrunkConfigResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::device::v1::TrunkConfig* temp = _impl_.type_.data_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::device::v1::TrunkConfig& PostTrunkConfigResponse::_internal_data() const {
  return type_case() == kData
      ? *_impl_.type_.data_
      : reinterpret_cast<::keyapis::device::v1::TrunkConfig&>(::keyapis::device::v1::_TrunkConfig_default_instance_);
}
inline const ::keyapis::device::v1::TrunkConfig& PostTrunkConfigResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.PostTrunkConfigResponse.data)
  return _internal_data();
}
inline ::keyapis::device::v1::TrunkConfig* PostTrunkConfigResponse::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.device.v1.PostTrunkConfigResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::device::v1::TrunkConfig* temp = _impl_.type_.data_;
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostTrunkConfigResponse::unsafe_arena_set_allocated_data(::keyapis::device::v1::TrunkConfig* data) {
  clear_type();
  if (data) {
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.PostTrunkConfigResponse.data)
}
inline ::keyapis::device::v1::TrunkConfig* PostTrunkConfigResponse::_internal_mutable_data() {
  if (type_case() != kData) {
    clear_type();
    set_has_data();
    _impl_.type_.data_ = CreateMaybeMessage< ::keyapis::device::v1::TrunkConfig >(GetArenaForAllocation());
  }
  return _impl_.type_.data_;
}
inline ::keyapis::device::v1::TrunkConfig* PostTrunkConfigResponse::mutable_data() {
  ::keyapis::device::v1::TrunkConfig* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.PostTrunkConfigResponse.data)
  return _msg;
}

// .keyapis.device.v1.PostTrunkConfigResponse.Error error = 2;
inline bool PostTrunkConfigResponse::has_error() const {
  return type_case() == kError;
}
inline bool PostTrunkConfigResponse::_internal_has_error() const {
  return type_case() == kError;
}
inline void PostTrunkConfigResponse::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline void PostTrunkConfigResponse::clear_error() {
  if (type_case() == kError) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.error_;
    }
    clear_has_type();
  }
}
inline ::keyapis::device::v1::PostTrunkConfigResponse_Error* PostTrunkConfigResponse::release_error() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.PostTrunkConfigResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::device::v1::PostTrunkConfigResponse_Error* temp = _impl_.type_.error_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::device::v1::PostTrunkConfigResponse_Error& PostTrunkConfigResponse::_internal_error() const {
  return type_case() == kError
      ? *_impl_.type_.error_
      : reinterpret_cast<::keyapis::device::v1::PostTrunkConfigResponse_Error&>(::keyapis::device::v1::_PostTrunkConfigResponse_Error_default_instance_);
}
inline const ::keyapis::device::v1::PostTrunkConfigResponse_Error& PostTrunkConfigResponse::error() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.PostTrunkConfigResponse.error)
  return _internal_error();
}
inline ::keyapis::device::v1::PostTrunkConfigResponse_Error* PostTrunkConfigResponse::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.device.v1.PostTrunkConfigResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::device::v1::PostTrunkConfigResponse_Error* temp = _impl_.type_.error_;
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostTrunkConfigResponse::unsafe_arena_set_allocated_error(::keyapis::device::v1::PostTrunkConfigResponse_Error* error) {
  clear_type();
  if (error) {
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.PostTrunkConfigResponse.error)
}
inline ::keyapis::device::v1::PostTrunkConfigResponse_Error* PostTrunkConfigResponse::_internal_mutable_error() {
  if (type_case() != kError) {
    clear_type();
    set_has_error();
    _impl_.type_.error_ = CreateMaybeMessage< ::keyapis::device::v1::PostTrunkConfigResponse_Error >(GetArenaForAllocation());
  }
  return _impl_.type_.error_;
}
inline ::keyapis::device::v1::PostTrunkConfigResponse_Error* PostTrunkConfigResponse::mutable_error() {
  ::keyapis::device::v1::PostTrunkConfigResponse_Error* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.PostTrunkConfigResponse.error)
  return _msg;
}

inline bool PostTrunkConfigResponse::has_type() const {
  return type_case() != TYPE_NOT_SET;
}
inline void PostTrunkConfigResponse::clear_has_type() {
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}
inline PostTrunkConfigResponse::TypeCase PostTrunkConfigResponse::type_case() const {
  return PostTrunkConfigResponse::TypeCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetTrunkConfigRequest

// string id = 1 [(.google.api.field_behavior) = REQUIRED];
inline void GetTrunkConfigRequest::clear_id() {
  _impl_.id_.ClearToEmpty();
}
inline const std::string& GetTrunkConfigRequest::id() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.GetTrunkConfigRequest.id)
  return _internal_id();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void GetTrunkConfigRequest::set_id(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.id_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.device.v1.GetTrunkConfigRequest.id)
}
inline std::string* GetTrunkConfigRequest::mutable_id() {
  std::string* _s = _internal_mutable_id();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.GetTrunkConfigRequest.id)
  return _s;
}
inline const std::string& GetTrunkConfigRequest::_internal_id() const {
  return _impl_.id_.Get();
}
inline void GetTrunkConfigRequest::_internal_set_id(const std::string& value) {
  ;


  _impl_.id_.Set(value, GetArenaForAllocation());
}
inline std::string* GetTrunkConfigRequest::_internal_mutable_id() {
  ;
  return _impl_.id_.Mutable( GetArenaForAllocation());
}
inline std::string* GetTrunkConfigRequest::release_id() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.GetTrunkConfigRequest.id)
  return _impl_.id_.Release();
}
inline void GetTrunkConfigRequest::set_allocated_id(std::string* value) {
  _impl_.id_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.id_.IsDefault()) {
          _impl_.id_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.GetTrunkConfigRequest.id)
}

// -------------------------------------------------------------------

// GetTrunkConfigResponse_Error

// .keyapis.device.v1.ValidationError validation = 1;
inline bool GetTrunkConfigResponse_Error::has_validation() const {
  return reason_case() == kValidation;
}
inline bool GetTrunkConfigResponse_Error::_internal_has_validation() const {
  return reason_case() == kValidation;
}
inline void GetTrunkConfigResponse_Error::set_has_validation() {
  _impl_._oneof_case_[0] = kValidation;
}
inline ::keyapis::device::v1::ValidationError* GetTrunkConfigResponse_Error::release_validation() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.GetTrunkConfigResponse.Error.validation)
  if (reason_case() == kValidation) {
    clear_has_reason();
    ::keyapis::device::v1::ValidationError* temp = _impl_.reason_.validation_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.validation_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::device::v1::ValidationError& GetTrunkConfigResponse_Error::_internal_validation() const {
  return reason_case() == kValidation
      ? *_impl_.reason_.validation_
      : reinterpret_cast<::keyapis::device::v1::ValidationError&>(::keyapis::device::v1::_ValidationError_default_instance_);
}
inline const ::keyapis::device::v1::ValidationError& GetTrunkConfigResponse_Error::validation() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.GetTrunkConfigResponse.Error.validation)
  return _internal_validation();
}
inline ::keyapis::device::v1::ValidationError* GetTrunkConfigResponse_Error::unsafe_arena_release_validation() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.device.v1.GetTrunkConfigResponse.Error.validation)
  if (reason_case() == kValidation) {
    clear_has_reason();
    ::keyapis::device::v1::ValidationError* temp = _impl_.reason_.validation_;
    _impl_.reason_.validation_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetTrunkConfigResponse_Error::unsafe_arena_set_allocated_validation(::keyapis::device::v1::ValidationError* validation) {
  clear_reason();
  if (validation) {
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.GetTrunkConfigResponse.Error.validation)
}
inline ::keyapis::device::v1::ValidationError* GetTrunkConfigResponse_Error::_internal_mutable_validation() {
  if (reason_case() != kValidation) {
    clear_reason();
    set_has_validation();
    _impl_.reason_.validation_ = CreateMaybeMessage< ::keyapis::device::v1::ValidationError >(GetArenaForAllocation());
  }
  return _impl_.reason_.validation_;
}
inline ::keyapis::device::v1::ValidationError* GetTrunkConfigResponse_Error::mutable_validation() {
  ::keyapis::device::v1::ValidationError* _msg = _internal_mutable_validation();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.GetTrunkConfigResponse.Error.validation)
  return _msg;
}

inline bool GetTrunkConfigResponse_Error::has_reason() const {
  return reason_case() != REASON_NOT_SET;
}
inline void GetTrunkConfigResponse_Error::clear_has_reason() {
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}
inline GetTrunkConfigResponse_Error::ReasonCase GetTrunkConfigResponse_Error::reason_case() const {
  return GetTrunkConfigResponse_Error::ReasonCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetTrunkConfigResponse

// .keyapis.device.v1.TrunkConfig data = 1;
inline bool GetTrunkConfigResponse::has_data() const {
  return type_case() == kData;
}
inline bool GetTrunkConfigResponse::_internal_has_data() const {
  return type_case() == kData;
}
inline void GetTrunkConfigResponse::set_has_data() {
  _impl_._oneof_case_[0] = kData;
}
inline void GetTrunkConfigResponse::clear_data() {
  if (type_case() == kData) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.data_;
    }
    clear_has_type();
  }
}
inline ::keyapis::device::v1::TrunkConfig* GetTrunkConfigResponse::release_data() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.GetTrunkConfigResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::device::v1::TrunkConfig* temp = _impl_.type_.data_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::device::v1::TrunkConfig& GetTrunkConfigResponse::_internal_data() const {
  return type_case() == kData
      ? *_impl_.type_.data_
      : reinterpret_cast<::keyapis::device::v1::TrunkConfig&>(::keyapis::device::v1::_TrunkConfig_default_instance_);
}
inline const ::keyapis::device::v1::TrunkConfig& GetTrunkConfigResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.GetTrunkConfigResponse.data)
  return _internal_data();
}
inline ::keyapis::device::v1::TrunkConfig* GetTrunkConfigResponse::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.device.v1.GetTrunkConfigResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::device::v1::TrunkConfig* temp = _impl_.type_.data_;
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetTrunkConfigResponse::unsafe_arena_set_allocated_data(::keyapis::device::v1::TrunkConfig* data) {
  clear_type();
  if (data) {
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.GetTrunkConfigResponse.data)
}
inline ::keyapis::device::v1::TrunkConfig* GetTrunkConfigResponse::_internal_mutable_data() {
  if (type_case() != kData) {
    clear_type();
    set_has_data();
    _impl_.type_.data_ = CreateMaybeMessage< ::keyapis::device::v1::TrunkConfig >(GetArenaForAllocation());
  }
  return _impl_.type_.data_;
}
inline ::keyapis::device::v1::TrunkConfig* GetTrunkConfigResponse::mutable_data() {
  ::keyapis::device::v1::TrunkConfig* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.GetTrunkConfigResponse.data)
  return _msg;
}

// .keyapis.device.v1.GetTrunkConfigResponse.Error error = 2;
inline bool GetTrunkConfigResponse::has_error() const {
  return type_case() == kError;
}
inline bool GetTrunkConfigResponse::_internal_has_error() const {
  return type_case() == kError;
}
inline void GetTrunkConfigResponse::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline void GetTrunkConfigResponse::clear_error() {
  if (type_case() == kError) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.error_;
    }
    clear_has_type();
  }
}
inline ::keyapis::device::v1::GetTrunkConfigResponse_Error* GetTrunkConfigResponse::release_error() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.GetTrunkConfigResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::device::v1::GetTrunkConfigResponse_Error* temp = _impl_.type_.error_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::device::v1::GetTrunkConfigResponse_Error& GetTrunkConfigResponse::_internal_error() const {
  return type_case() == kError
      ? *_impl_.type_.error_
      : reinterpret_cast<::keyapis::device::v1::GetTrunkConfigResponse_Error&>(::keyapis::device::v1::_GetTrunkConfigResponse_Error_default_instance_);
}
inline const ::keyapis::device::v1::GetTrunkConfigResponse_Error& GetTrunkConfigResponse::error() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.GetTrunkConfigResponse.error)
  return _internal_error();
}
inline ::keyapis::device::v1::GetTrunkConfigResponse_Error* GetTrunkConfigResponse::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.device.v1.GetTrunkConfigResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::device::v1::GetTrunkConfigResponse_Error* temp = _impl_.type_.error_;
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetTrunkConfigResponse::unsafe_arena_set_allocated_error(::keyapis::device::v1::GetTrunkConfigResponse_Error* error) {
  clear_type();
  if (error) {
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.GetTrunkConfigResponse.error)
}
inline ::keyapis::device::v1::GetTrunkConfigResponse_Error* GetTrunkConfigResponse::_internal_mutable_error() {
  if (type_case() != kError) {
    clear_type();
    set_has_error();
    _impl_.type_.error_ = CreateMaybeMessage< ::keyapis::device::v1::GetTrunkConfigResponse_Error >(GetArenaForAllocation());
  }
  return _impl_.type_.error_;
}
inline ::keyapis::device::v1::GetTrunkConfigResponse_Error* GetTrunkConfigResponse::mutable_error() {
  ::keyapis::device::v1::GetTrunkConfigResponse_Error* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.GetTrunkConfigResponse.error)
  return _msg;
}

inline bool GetTrunkConfigResponse::has_type() const {
  return type_case() != TYPE_NOT_SET;
}
inline void GetTrunkConfigResponse::clear_has_type() {
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}
inline GetTrunkConfigResponse::TypeCase GetTrunkConfigResponse::type_case() const {
  return GetTrunkConfigResponse::TypeCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetTrunkConfigListRequest

// .keyapis.device.v1.TrunkConfigFilter filter = 1;
inline bool GetTrunkConfigListRequest::has_filter() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.filter_ != nullptr);
  return value;
}
inline void GetTrunkConfigListRequest::clear_filter() {
  if (_impl_.filter_ != nullptr) _impl_.filter_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::keyapis::device::v1::TrunkConfigFilter& GetTrunkConfigListRequest::_internal_filter() const {
  const ::keyapis::device::v1::TrunkConfigFilter* p = _impl_.filter_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::device::v1::TrunkConfigFilter&>(
      ::keyapis::device::v1::_TrunkConfigFilter_default_instance_);
}
inline const ::keyapis::device::v1::TrunkConfigFilter& GetTrunkConfigListRequest::filter() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.GetTrunkConfigListRequest.filter)
  return _internal_filter();
}
inline void GetTrunkConfigListRequest::unsafe_arena_set_allocated_filter(
    ::keyapis::device::v1::TrunkConfigFilter* filter) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.filter_);
  }
  _impl_.filter_ = filter;
  if (filter) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.GetTrunkConfigListRequest.filter)
}
inline ::keyapis::device::v1::TrunkConfigFilter* GetTrunkConfigListRequest::release_filter() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::device::v1::TrunkConfigFilter* temp = _impl_.filter_;
  _impl_.filter_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::keyapis::device::v1::TrunkConfigFilter* GetTrunkConfigListRequest::unsafe_arena_release_filter() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.GetTrunkConfigListRequest.filter)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::device::v1::TrunkConfigFilter* temp = _impl_.filter_;
  _impl_.filter_ = nullptr;
  return temp;
}
inline ::keyapis::device::v1::TrunkConfigFilter* GetTrunkConfigListRequest::_internal_mutable_filter() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.filter_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::device::v1::TrunkConfigFilter>(GetArenaForAllocation());
    _impl_.filter_ = p;
  }
  return _impl_.filter_;
}
inline ::keyapis::device::v1::TrunkConfigFilter* GetTrunkConfigListRequest::mutable_filter() {
  ::keyapis::device::v1::TrunkConfigFilter* _msg = _internal_mutable_filter();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.GetTrunkConfigListRequest.filter)
  return _msg;
}
inline void GetTrunkConfigListRequest::set_allocated_filter(::keyapis::device::v1::TrunkConfigFilter* filter) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.filter_;
  }
  if (filter) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(filter);
    if (message_arena != submessage_arena) {
      filter = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, filter, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.filter_ = filter;
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.GetTrunkConfigListRequest.filter)
}

// .keyapis.device.v1.TrunkConfigPaging paging = 2;
inline bool GetTrunkConfigListRequest::has_paging() const {
  return pagination_case() == kPaging;
}
inline bool GetTrunkConfigListRequest::_internal_has_paging() const {
  return pagination_case() == kPaging;
}
inline void GetTrunkConfigListRequest::set_has_paging() {
  _impl_._oneof_case_[0] = kPaging;
}
inline void GetTrunkConfigListRequest::clear_paging() {
  if (pagination_case() == kPaging) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.pagination_.paging_;
    }
    clear_has_pagination();
  }
}
inline ::keyapis::device::v1::TrunkConfigPaging* GetTrunkConfigListRequest::release_paging() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.GetTrunkConfigListRequest.paging)
  if (pagination_case() == kPaging) {
    clear_has_pagination();
    ::keyapis::device::v1::TrunkConfigPaging* temp = _impl_.pagination_.paging_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.pagination_.paging_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::device::v1::TrunkConfigPaging& GetTrunkConfigListRequest::_internal_paging() const {
  return pagination_case() == kPaging
      ? *_impl_.pagination_.paging_
      : reinterpret_cast<::keyapis::device::v1::TrunkConfigPaging&>(::keyapis::device::v1::_TrunkConfigPaging_default_instance_);
}
inline const ::keyapis::device::v1::TrunkConfigPaging& GetTrunkConfigListRequest::paging() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.GetTrunkConfigListRequest.paging)
  return _internal_paging();
}
inline ::keyapis::device::v1::TrunkConfigPaging* GetTrunkConfigListRequest::unsafe_arena_release_paging() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.device.v1.GetTrunkConfigListRequest.paging)
  if (pagination_case() == kPaging) {
    clear_has_pagination();
    ::keyapis::device::v1::TrunkConfigPaging* temp = _impl_.pagination_.paging_;
    _impl_.pagination_.paging_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetTrunkConfigListRequest::unsafe_arena_set_allocated_paging(::keyapis::device::v1::TrunkConfigPaging* paging) {
  clear_pagination();
  if (paging) {
    set_has_paging();
    _impl_.pagination_.paging_ = paging;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.GetTrunkConfigListRequest.paging)
}
inline ::keyapis::device::v1::TrunkConfigPaging* GetTrunkConfigListRequest::_internal_mutable_paging() {
  if (pagination_case() != kPaging) {
    clear_pagination();
    set_has_paging();
    _impl_.pagination_.paging_ = CreateMaybeMessage< ::keyapis::device::v1::TrunkConfigPaging >(GetArenaForAllocation());
  }
  return _impl_.pagination_.paging_;
}
inline ::keyapis::device::v1::TrunkConfigPaging* GetTrunkConfigListRequest::mutable_paging() {
  ::keyapis::device::v1::TrunkConfigPaging* _msg = _internal_mutable_paging();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.GetTrunkConfigListRequest.paging)
  return _msg;
}

inline bool GetTrunkConfigListRequest::has_pagination() const {
  return pagination_case() != PAGINATION_NOT_SET;
}
inline void GetTrunkConfigListRequest::clear_has_pagination() {
  _impl_._oneof_case_[0] = PAGINATION_NOT_SET;
}
inline GetTrunkConfigListRequest::PaginationCase GetTrunkConfigListRequest::pagination_case() const {
  return GetTrunkConfigListRequest::PaginationCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetTrunkConfigListResponse_Error

// .keyapis.device.v1.ValidationError validation_error = 1;
inline bool GetTrunkConfigListResponse_Error::has_validation_error() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.validation_error_ != nullptr);
  return value;
}
inline const ::keyapis::device::v1::ValidationError& GetTrunkConfigListResponse_Error::_internal_validation_error() const {
  const ::keyapis::device::v1::ValidationError* p = _impl_.validation_error_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::device::v1::ValidationError&>(
      ::keyapis::device::v1::_ValidationError_default_instance_);
}
inline const ::keyapis::device::v1::ValidationError& GetTrunkConfigListResponse_Error::validation_error() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.GetTrunkConfigListResponse.Error.validation_error)
  return _internal_validation_error();
}
inline void GetTrunkConfigListResponse_Error::unsafe_arena_set_allocated_validation_error(
    ::keyapis::device::v1::ValidationError* validation_error) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.validation_error_);
  }
  _impl_.validation_error_ = validation_error;
  if (validation_error) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.GetTrunkConfigListResponse.Error.validation_error)
}
inline ::keyapis::device::v1::ValidationError* GetTrunkConfigListResponse_Error::release_validation_error() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::device::v1::ValidationError* temp = _impl_.validation_error_;
  _impl_.validation_error_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::keyapis::device::v1::ValidationError* GetTrunkConfigListResponse_Error::unsafe_arena_release_validation_error() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.GetTrunkConfigListResponse.Error.validation_error)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::device::v1::ValidationError* temp = _impl_.validation_error_;
  _impl_.validation_error_ = nullptr;
  return temp;
}
inline ::keyapis::device::v1::ValidationError* GetTrunkConfigListResponse_Error::_internal_mutable_validation_error() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.validation_error_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::device::v1::ValidationError>(GetArenaForAllocation());
    _impl_.validation_error_ = p;
  }
  return _impl_.validation_error_;
}
inline ::keyapis::device::v1::ValidationError* GetTrunkConfigListResponse_Error::mutable_validation_error() {
  ::keyapis::device::v1::ValidationError* _msg = _internal_mutable_validation_error();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.GetTrunkConfigListResponse.Error.validation_error)
  return _msg;
}
inline void GetTrunkConfigListResponse_Error::set_allocated_validation_error(::keyapis::device::v1::ValidationError* validation_error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.validation_error_);
  }
  if (validation_error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(validation_error));
    if (message_arena != submessage_arena) {
      validation_error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation_error, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.validation_error_ = validation_error;
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.GetTrunkConfigListResponse.Error.validation_error)
}

// -------------------------------------------------------------------

// GetTrunkConfigListResponse

// .keyapis.device.v1.TrunkConfig data = 1;
inline bool GetTrunkConfigListResponse::has_data() const {
  return type_case() == kData;
}
inline bool GetTrunkConfigListResponse::_internal_has_data() const {
  return type_case() == kData;
}
inline void GetTrunkConfigListResponse::set_has_data() {
  _impl_._oneof_case_[0] = kData;
}
inline void GetTrunkConfigListResponse::clear_data() {
  if (type_case() == kData) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.data_;
    }
    clear_has_type();
  }
}
inline ::keyapis::device::v1::TrunkConfig* GetTrunkConfigListResponse::release_data() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.GetTrunkConfigListResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::device::v1::TrunkConfig* temp = _impl_.type_.data_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::device::v1::TrunkConfig& GetTrunkConfigListResponse::_internal_data() const {
  return type_case() == kData
      ? *_impl_.type_.data_
      : reinterpret_cast<::keyapis::device::v1::TrunkConfig&>(::keyapis::device::v1::_TrunkConfig_default_instance_);
}
inline const ::keyapis::device::v1::TrunkConfig& GetTrunkConfigListResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.GetTrunkConfigListResponse.data)
  return _internal_data();
}
inline ::keyapis::device::v1::TrunkConfig* GetTrunkConfigListResponse::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.device.v1.GetTrunkConfigListResponse.data)
  if (type_case() == kData) {
    clear_has_type();
    ::keyapis::device::v1::TrunkConfig* temp = _impl_.type_.data_;
    _impl_.type_.data_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetTrunkConfigListResponse::unsafe_arena_set_allocated_data(::keyapis::device::v1::TrunkConfig* data) {
  clear_type();
  if (data) {
    set_has_data();
    _impl_.type_.data_ = data;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.GetTrunkConfigListResponse.data)
}
inline ::keyapis::device::v1::TrunkConfig* GetTrunkConfigListResponse::_internal_mutable_data() {
  if (type_case() != kData) {
    clear_type();
    set_has_data();
    _impl_.type_.data_ = CreateMaybeMessage< ::keyapis::device::v1::TrunkConfig >(GetArenaForAllocation());
  }
  return _impl_.type_.data_;
}
inline ::keyapis::device::v1::TrunkConfig* GetTrunkConfigListResponse::mutable_data() {
  ::keyapis::device::v1::TrunkConfig* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.GetTrunkConfigListResponse.data)
  return _msg;
}

// .keyapis.device.v1.GetTrunkConfigListResponse.Error error = 2;
inline bool GetTrunkConfigListResponse::has_error() const {
  return type_case() == kError;
}
inline bool GetTrunkConfigListResponse::_internal_has_error() const {
  return type_case() == kError;
}
inline void GetTrunkConfigListResponse::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline void GetTrunkConfigListResponse::clear_error() {
  if (type_case() == kError) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.error_;
    }
    clear_has_type();
  }
}
inline ::keyapis::device::v1::GetTrunkConfigListResponse_Error* GetTrunkConfigListResponse::release_error() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.GetTrunkConfigListResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::device::v1::GetTrunkConfigListResponse_Error* temp = _impl_.type_.error_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::device::v1::GetTrunkConfigListResponse_Error& GetTrunkConfigListResponse::_internal_error() const {
  return type_case() == kError
      ? *_impl_.type_.error_
      : reinterpret_cast<::keyapis::device::v1::GetTrunkConfigListResponse_Error&>(::keyapis::device::v1::_GetTrunkConfigListResponse_Error_default_instance_);
}
inline const ::keyapis::device::v1::GetTrunkConfigListResponse_Error& GetTrunkConfigListResponse::error() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.GetTrunkConfigListResponse.error)
  return _internal_error();
}
inline ::keyapis::device::v1::GetTrunkConfigListResponse_Error* GetTrunkConfigListResponse::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.device.v1.GetTrunkConfigListResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::device::v1::GetTrunkConfigListResponse_Error* temp = _impl_.type_.error_;
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetTrunkConfigListResponse::unsafe_arena_set_allocated_error(::keyapis::device::v1::GetTrunkConfigListResponse_Error* error) {
  clear_type();
  if (error) {
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.GetTrunkConfigListResponse.error)
}
inline ::keyapis::device::v1::GetTrunkConfigListResponse_Error* GetTrunkConfigListResponse::_internal_mutable_error() {
  if (type_case() != kError) {
    clear_type();
    set_has_error();
    _impl_.type_.error_ = CreateMaybeMessage< ::keyapis::device::v1::GetTrunkConfigListResponse_Error >(GetArenaForAllocation());
  }
  return _impl_.type_.error_;
}
inline ::keyapis::device::v1::GetTrunkConfigListResponse_Error* GetTrunkConfigListResponse::mutable_error() {
  ::keyapis::device::v1::GetTrunkConfigListResponse_Error* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.GetTrunkConfigListResponse.error)
  return _msg;
}

inline bool GetTrunkConfigListResponse::has_type() const {
  return type_case() != TYPE_NOT_SET;
}
inline void GetTrunkConfigListResponse::clear_has_type() {
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}
inline GetTrunkConfigListResponse::TypeCase GetTrunkConfigListResponse::type_case() const {
  return GetTrunkConfigListResponse::TypeCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// GetTrunkConfigCountRequest

// .keyapis.device.v1.TrunkConfigFilter filter = 1;
inline bool GetTrunkConfigCountRequest::has_filter() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.filter_ != nullptr);
  return value;
}
inline void GetTrunkConfigCountRequest::clear_filter() {
  if (_impl_.filter_ != nullptr) _impl_.filter_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::keyapis::device::v1::TrunkConfigFilter& GetTrunkConfigCountRequest::_internal_filter() const {
  const ::keyapis::device::v1::TrunkConfigFilter* p = _impl_.filter_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::device::v1::TrunkConfigFilter&>(
      ::keyapis::device::v1::_TrunkConfigFilter_default_instance_);
}
inline const ::keyapis::device::v1::TrunkConfigFilter& GetTrunkConfigCountRequest::filter() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.GetTrunkConfigCountRequest.filter)
  return _internal_filter();
}
inline void GetTrunkConfigCountRequest::unsafe_arena_set_allocated_filter(
    ::keyapis::device::v1::TrunkConfigFilter* filter) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.filter_);
  }
  _impl_.filter_ = filter;
  if (filter) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.GetTrunkConfigCountRequest.filter)
}
inline ::keyapis::device::v1::TrunkConfigFilter* GetTrunkConfigCountRequest::release_filter() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::device::v1::TrunkConfigFilter* temp = _impl_.filter_;
  _impl_.filter_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::keyapis::device::v1::TrunkConfigFilter* GetTrunkConfigCountRequest::unsafe_arena_release_filter() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.GetTrunkConfigCountRequest.filter)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::device::v1::TrunkConfigFilter* temp = _impl_.filter_;
  _impl_.filter_ = nullptr;
  return temp;
}
inline ::keyapis::device::v1::TrunkConfigFilter* GetTrunkConfigCountRequest::_internal_mutable_filter() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.filter_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::device::v1::TrunkConfigFilter>(GetArenaForAllocation());
    _impl_.filter_ = p;
  }
  return _impl_.filter_;
}
inline ::keyapis::device::v1::TrunkConfigFilter* GetTrunkConfigCountRequest::mutable_filter() {
  ::keyapis::device::v1::TrunkConfigFilter* _msg = _internal_mutable_filter();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.GetTrunkConfigCountRequest.filter)
  return _msg;
}
inline void GetTrunkConfigCountRequest::set_allocated_filter(::keyapis::device::v1::TrunkConfigFilter* filter) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.filter_;
  }
  if (filter) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(filter);
    if (message_arena != submessage_arena) {
      filter = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, filter, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.filter_ = filter;
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.GetTrunkConfigCountRequest.filter)
}

// -------------------------------------------------------------------

// GetTrunkConfigCountResponse_Error

// .keyapis.device.v1.ValidationError validation_error = 1;
inline bool GetTrunkConfigCountResponse_Error::has_validation_error() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.validation_error_ != nullptr);
  return value;
}
inline const ::keyapis::device::v1::ValidationError& GetTrunkConfigCountResponse_Error::_internal_validation_error() const {
  const ::keyapis::device::v1::ValidationError* p = _impl_.validation_error_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::device::v1::ValidationError&>(
      ::keyapis::device::v1::_ValidationError_default_instance_);
}
inline const ::keyapis::device::v1::ValidationError& GetTrunkConfigCountResponse_Error::validation_error() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.GetTrunkConfigCountResponse.Error.validation_error)
  return _internal_validation_error();
}
inline void GetTrunkConfigCountResponse_Error::unsafe_arena_set_allocated_validation_error(
    ::keyapis::device::v1::ValidationError* validation_error) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.validation_error_);
  }
  _impl_.validation_error_ = validation_error;
  if (validation_error) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.GetTrunkConfigCountResponse.Error.validation_error)
}
inline ::keyapis::device::v1::ValidationError* GetTrunkConfigCountResponse_Error::release_validation_error() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::device::v1::ValidationError* temp = _impl_.validation_error_;
  _impl_.validation_error_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::keyapis::device::v1::ValidationError* GetTrunkConfigCountResponse_Error::unsafe_arena_release_validation_error() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.GetTrunkConfigCountResponse.Error.validation_error)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::device::v1::ValidationError* temp = _impl_.validation_error_;
  _impl_.validation_error_ = nullptr;
  return temp;
}
inline ::keyapis::device::v1::ValidationError* GetTrunkConfigCountResponse_Error::_internal_mutable_validation_error() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.validation_error_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::device::v1::ValidationError>(GetArenaForAllocation());
    _impl_.validation_error_ = p;
  }
  return _impl_.validation_error_;
}
inline ::keyapis::device::v1::ValidationError* GetTrunkConfigCountResponse_Error::mutable_validation_error() {
  ::keyapis::device::v1::ValidationError* _msg = _internal_mutable_validation_error();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.GetTrunkConfigCountResponse.Error.validation_error)
  return _msg;
}
inline void GetTrunkConfigCountResponse_Error::set_allocated_validation_error(::keyapis::device::v1::ValidationError* validation_error) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.validation_error_);
  }
  if (validation_error) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(validation_error));
    if (message_arena != submessage_arena) {
      validation_error = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, validation_error, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.validation_error_ = validation_error;
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.GetTrunkConfigCountResponse.Error.validation_error)
}

// -------------------------------------------------------------------

// GetTrunkConfigCountResponse

// int32 data = 1;
inline bool GetTrunkConfigCountResponse::has_data() const {
  return type_case() == kData;
}
inline void GetTrunkConfigCountResponse::set_has_data() {
  _impl_._oneof_case_[0] = kData;
}
inline void GetTrunkConfigCountResponse::clear_data() {
  if (type_case() == kData) {
    _impl_.type_.data_ = 0;
    clear_has_type();
  }
}
inline ::int32_t GetTrunkConfigCountResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.GetTrunkConfigCountResponse.data)
  return _internal_data();
}
inline void GetTrunkConfigCountResponse::set_data(::int32_t value) {
  _internal_set_data(value);
  // @@protoc_insertion_point(field_set:keyapis.device.v1.GetTrunkConfigCountResponse.data)
}
inline ::int32_t GetTrunkConfigCountResponse::_internal_data() const {
  if (type_case() == kData) {
    return _impl_.type_.data_;
  }
  return 0;
}
inline void GetTrunkConfigCountResponse::_internal_set_data(::int32_t value) {
  if (type_case() != kData) {
    clear_type();
    set_has_data();
  }
  _impl_.type_.data_ = value;
}

// .keyapis.device.v1.GetTrunkConfigCountResponse.Error error = 2;
inline bool GetTrunkConfigCountResponse::has_error() const {
  return type_case() == kError;
}
inline bool GetTrunkConfigCountResponse::_internal_has_error() const {
  return type_case() == kError;
}
inline void GetTrunkConfigCountResponse::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline void GetTrunkConfigCountResponse::clear_error() {
  if (type_case() == kError) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.error_;
    }
    clear_has_type();
  }
}
inline ::keyapis::device::v1::GetTrunkConfigCountResponse_Error* GetTrunkConfigCountResponse::release_error() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.GetTrunkConfigCountResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::device::v1::GetTrunkConfigCountResponse_Error* temp = _impl_.type_.error_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::device::v1::GetTrunkConfigCountResponse_Error& GetTrunkConfigCountResponse::_internal_error() const {
  return type_case() == kError
      ? *_impl_.type_.error_
      : reinterpret_cast<::keyapis::device::v1::GetTrunkConfigCountResponse_Error&>(::keyapis::device::v1::_GetTrunkConfigCountResponse_Error_default_instance_);
}
inline const ::keyapis::device::v1::GetTrunkConfigCountResponse_Error& GetTrunkConfigCountResponse::error() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.GetTrunkConfigCountResponse.error)
  return _internal_error();
}
inline ::keyapis::device::v1::GetTrunkConfigCountResponse_Error* GetTrunkConfigCountResponse::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.device.v1.GetTrunkConfigCountResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::device::v1::GetTrunkConfigCountResponse_Error* temp = _impl_.type_.error_;
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void GetTrunkConfigCountResponse::unsafe_arena_set_allocated_error(::keyapis::device::v1::GetTrunkConfigCountResponse_Error* error) {
  clear_type();
  if (error) {
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.GetTrunkConfigCountResponse.error)
}
inline ::keyapis::device::v1::GetTrunkConfigCountResponse_Error* GetTrunkConfigCountResponse::_internal_mutable_error() {
  if (type_case() != kError) {
    clear_type();
    set_has_error();
    _impl_.type_.error_ = CreateMaybeMessage< ::keyapis::device::v1::GetTrunkConfigCountResponse_Error >(GetArenaForAllocation());
  }
  return _impl_.type_.error_;
}
inline ::keyapis::device::v1::GetTrunkConfigCountResponse_Error* GetTrunkConfigCountResponse::mutable_error() {
  ::keyapis::device::v1::GetTrunkConfigCountResponse_Error* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.GetTrunkConfigCountResponse.error)
  return _msg;
}

inline bool GetTrunkConfigCountResponse::has_type() const {
  return type_case() != TYPE_NOT_SET;
}
inline void GetTrunkConfigCountResponse::clear_has_type() {
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}
inline GetTrunkConfigCountResponse::TypeCase GetTrunkConfigCountResponse::type_case() const {
  return GetTrunkConfigCountResponse::TypeCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// DeleteTrunkConfigRequest

// string id = 1 [(.google.api.field_behavior) = REQUIRED];
inline void DeleteTrunkConfigRequest::clear_id() {
  _impl_.id_.ClearToEmpty();
}
inline const std::string& DeleteTrunkConfigRequest::id() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.DeleteTrunkConfigRequest.id)
  return _internal_id();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void DeleteTrunkConfigRequest::set_id(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.id_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.device.v1.DeleteTrunkConfigRequest.id)
}
inline std::string* DeleteTrunkConfigRequest::mutable_id() {
  std::string* _s = _internal_mutable_id();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.DeleteTrunkConfigRequest.id)
  return _s;
}
inline const std::string& DeleteTrunkConfigRequest::_internal_id() const {
  return _impl_.id_.Get();
}
inline void DeleteTrunkConfigRequest::_internal_set_id(const std::string& value) {
  ;


  _impl_.id_.Set(value, GetArenaForAllocation());
}
inline std::string* DeleteTrunkConfigRequest::_internal_mutable_id() {
  ;
  return _impl_.id_.Mutable( GetArenaForAllocation());
}
inline std::string* DeleteTrunkConfigRequest::release_id() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.DeleteTrunkConfigRequest.id)
  return _impl_.id_.Release();
}
inline void DeleteTrunkConfigRequest::set_allocated_id(std::string* value) {
  _impl_.id_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.id_.IsDefault()) {
          _impl_.id_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.DeleteTrunkConfigRequest.id)
}

// -------------------------------------------------------------------

// DeleteTrunkConfigResponse_Error

// .keyapis.device.v1.ValidationError validation = 1;
inline bool DeleteTrunkConfigResponse_Error::has_validation() const {
  return reason_case() == kValidation;
}
inline bool DeleteTrunkConfigResponse_Error::_internal_has_validation() const {
  return reason_case() == kValidation;
}
inline void DeleteTrunkConfigResponse_Error::set_has_validation() {
  _impl_._oneof_case_[0] = kValidation;
}
inline ::keyapis::device::v1::ValidationError* DeleteTrunkConfigResponse_Error::release_validation() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.DeleteTrunkConfigResponse.Error.validation)
  if (reason_case() == kValidation) {
    clear_has_reason();
    ::keyapis::device::v1::ValidationError* temp = _impl_.reason_.validation_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.validation_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::device::v1::ValidationError& DeleteTrunkConfigResponse_Error::_internal_validation() const {
  return reason_case() == kValidation
      ? *_impl_.reason_.validation_
      : reinterpret_cast<::keyapis::device::v1::ValidationError&>(::keyapis::device::v1::_ValidationError_default_instance_);
}
inline const ::keyapis::device::v1::ValidationError& DeleteTrunkConfigResponse_Error::validation() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.DeleteTrunkConfigResponse.Error.validation)
  return _internal_validation();
}
inline ::keyapis::device::v1::ValidationError* DeleteTrunkConfigResponse_Error::unsafe_arena_release_validation() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.device.v1.DeleteTrunkConfigResponse.Error.validation)
  if (reason_case() == kValidation) {
    clear_has_reason();
    ::keyapis::device::v1::ValidationError* temp = _impl_.reason_.validation_;
    _impl_.reason_.validation_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void DeleteTrunkConfigResponse_Error::unsafe_arena_set_allocated_validation(::keyapis::device::v1::ValidationError* validation) {
  clear_reason();
  if (validation) {
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.DeleteTrunkConfigResponse.Error.validation)
}
inline ::keyapis::device::v1::ValidationError* DeleteTrunkConfigResponse_Error::_internal_mutable_validation() {
  if (reason_case() != kValidation) {
    clear_reason();
    set_has_validation();
    _impl_.reason_.validation_ = CreateMaybeMessage< ::keyapis::device::v1::ValidationError >(GetArenaForAllocation());
  }
  return _impl_.reason_.validation_;
}
inline ::keyapis::device::v1::ValidationError* DeleteTrunkConfigResponse_Error::mutable_validation() {
  ::keyapis::device::v1::ValidationError* _msg = _internal_mutable_validation();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.DeleteTrunkConfigResponse.Error.validation)
  return _msg;
}

inline bool DeleteTrunkConfigResponse_Error::has_reason() const {
  return reason_case() != REASON_NOT_SET;
}
inline void DeleteTrunkConfigResponse_Error::clear_has_reason() {
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}
inline DeleteTrunkConfigResponse_Error::ReasonCase DeleteTrunkConfigResponse_Error::reason_case() const {
  return DeleteTrunkConfigResponse_Error::ReasonCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// DeleteTrunkConfigResponse

// .keyapis.device.v1.DeleteTrunkConfigResponse.Error error = 1;
inline bool DeleteTrunkConfigResponse::has_error() const {
  return type_case() == kError;
}
inline bool DeleteTrunkConfigResponse::_internal_has_error() const {
  return type_case() == kError;
}
inline void DeleteTrunkConfigResponse::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline void DeleteTrunkConfigResponse::clear_error() {
  if (type_case() == kError) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.error_;
    }
    clear_has_type();
  }
}
inline ::keyapis::device::v1::DeleteTrunkConfigResponse_Error* DeleteTrunkConfigResponse::release_error() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.DeleteTrunkConfigResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::device::v1::DeleteTrunkConfigResponse_Error* temp = _impl_.type_.error_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::device::v1::DeleteTrunkConfigResponse_Error& DeleteTrunkConfigResponse::_internal_error() const {
  return type_case() == kError
      ? *_impl_.type_.error_
      : reinterpret_cast<::keyapis::device::v1::DeleteTrunkConfigResponse_Error&>(::keyapis::device::v1::_DeleteTrunkConfigResponse_Error_default_instance_);
}
inline const ::keyapis::device::v1::DeleteTrunkConfigResponse_Error& DeleteTrunkConfigResponse::error() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.DeleteTrunkConfigResponse.error)
  return _internal_error();
}
inline ::keyapis::device::v1::DeleteTrunkConfigResponse_Error* DeleteTrunkConfigResponse::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.device.v1.DeleteTrunkConfigResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::device::v1::DeleteTrunkConfigResponse_Error* temp = _impl_.type_.error_;
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void DeleteTrunkConfigResponse::unsafe_arena_set_allocated_error(::keyapis::device::v1::DeleteTrunkConfigResponse_Error* error) {
  clear_type();
  if (error) {
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.DeleteTrunkConfigResponse.error)
}
inline ::keyapis::device::v1::DeleteTrunkConfigResponse_Error* DeleteTrunkConfigResponse::_internal_mutable_error() {
  if (type_case() != kError) {
    clear_type();
    set_has_error();
    _impl_.type_.error_ = CreateMaybeMessage< ::keyapis::device::v1::DeleteTrunkConfigResponse_Error >(GetArenaForAllocation());
  }
  return _impl_.type_.error_;
}
inline ::keyapis::device::v1::DeleteTrunkConfigResponse_Error* DeleteTrunkConfigResponse::mutable_error() {
  ::keyapis::device::v1::DeleteTrunkConfigResponse_Error* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.DeleteTrunkConfigResponse.error)
  return _msg;
}

inline bool DeleteTrunkConfigResponse::has_type() const {
  return type_case() != TYPE_NOT_SET;
}
inline void DeleteTrunkConfigResponse::clear_has_type() {
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}
inline DeleteTrunkConfigResponse::TypeCase DeleteTrunkConfigResponse::type_case() const {
  return DeleteTrunkConfigResponse::TypeCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// PostTrunkConfigRestoreRequest

// string id = 1 [(.google.api.field_behavior) = REQUIRED];
inline void PostTrunkConfigRestoreRequest::clear_id() {
  _impl_.id_.ClearToEmpty();
}
inline const std::string& PostTrunkConfigRestoreRequest::id() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.PostTrunkConfigRestoreRequest.id)
  return _internal_id();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostTrunkConfigRestoreRequest::set_id(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.id_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.device.v1.PostTrunkConfigRestoreRequest.id)
}
inline std::string* PostTrunkConfigRestoreRequest::mutable_id() {
  std::string* _s = _internal_mutable_id();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.PostTrunkConfigRestoreRequest.id)
  return _s;
}
inline const std::string& PostTrunkConfigRestoreRequest::_internal_id() const {
  return _impl_.id_.Get();
}
inline void PostTrunkConfigRestoreRequest::_internal_set_id(const std::string& value) {
  ;


  _impl_.id_.Set(value, GetArenaForAllocation());
}
inline std::string* PostTrunkConfigRestoreRequest::_internal_mutable_id() {
  ;
  return _impl_.id_.Mutable( GetArenaForAllocation());
}
inline std::string* PostTrunkConfigRestoreRequest::release_id() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.PostTrunkConfigRestoreRequest.id)
  return _impl_.id_.Release();
}
inline void PostTrunkConfigRestoreRequest::set_allocated_id(std::string* value) {
  _impl_.id_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.id_.IsDefault()) {
          _impl_.id_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.device.v1.PostTrunkConfigRestoreRequest.id)
}

// -------------------------------------------------------------------

// PostTrunkConfigRestoreResponse_Error

// .keyapis.device.v1.ValidationError validation = 1;
inline bool PostTrunkConfigRestoreResponse_Error::has_validation() const {
  return reason_case() == kValidation;
}
inline bool PostTrunkConfigRestoreResponse_Error::_internal_has_validation() const {
  return reason_case() == kValidation;
}
inline void PostTrunkConfigRestoreResponse_Error::set_has_validation() {
  _impl_._oneof_case_[0] = kValidation;
}
inline ::keyapis::device::v1::ValidationError* PostTrunkConfigRestoreResponse_Error::release_validation() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.PostTrunkConfigRestoreResponse.Error.validation)
  if (reason_case() == kValidation) {
    clear_has_reason();
    ::keyapis::device::v1::ValidationError* temp = _impl_.reason_.validation_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.reason_.validation_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::device::v1::ValidationError& PostTrunkConfigRestoreResponse_Error::_internal_validation() const {
  return reason_case() == kValidation
      ? *_impl_.reason_.validation_
      : reinterpret_cast<::keyapis::device::v1::ValidationError&>(::keyapis::device::v1::_ValidationError_default_instance_);
}
inline const ::keyapis::device::v1::ValidationError& PostTrunkConfigRestoreResponse_Error::validation() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.PostTrunkConfigRestoreResponse.Error.validation)
  return _internal_validation();
}
inline ::keyapis::device::v1::ValidationError* PostTrunkConfigRestoreResponse_Error::unsafe_arena_release_validation() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.device.v1.PostTrunkConfigRestoreResponse.Error.validation)
  if (reason_case() == kValidation) {
    clear_has_reason();
    ::keyapis::device::v1::ValidationError* temp = _impl_.reason_.validation_;
    _impl_.reason_.validation_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostTrunkConfigRestoreResponse_Error::unsafe_arena_set_allocated_validation(::keyapis::device::v1::ValidationError* validation) {
  clear_reason();
  if (validation) {
    set_has_validation();
    _impl_.reason_.validation_ = validation;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.PostTrunkConfigRestoreResponse.Error.validation)
}
inline ::keyapis::device::v1::ValidationError* PostTrunkConfigRestoreResponse_Error::_internal_mutable_validation() {
  if (reason_case() != kValidation) {
    clear_reason();
    set_has_validation();
    _impl_.reason_.validation_ = CreateMaybeMessage< ::keyapis::device::v1::ValidationError >(GetArenaForAllocation());
  }
  return _impl_.reason_.validation_;
}
inline ::keyapis::device::v1::ValidationError* PostTrunkConfigRestoreResponse_Error::mutable_validation() {
  ::keyapis::device::v1::ValidationError* _msg = _internal_mutable_validation();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.PostTrunkConfigRestoreResponse.Error.validation)
  return _msg;
}

inline bool PostTrunkConfigRestoreResponse_Error::has_reason() const {
  return reason_case() != REASON_NOT_SET;
}
inline void PostTrunkConfigRestoreResponse_Error::clear_has_reason() {
  _impl_._oneof_case_[0] = REASON_NOT_SET;
}
inline PostTrunkConfigRestoreResponse_Error::ReasonCase PostTrunkConfigRestoreResponse_Error::reason_case() const {
  return PostTrunkConfigRestoreResponse_Error::ReasonCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// PostTrunkConfigRestoreResponse

// .keyapis.device.v1.PostTrunkConfigRestoreResponse.Error error = 1;
inline bool PostTrunkConfigRestoreResponse::has_error() const {
  return type_case() == kError;
}
inline bool PostTrunkConfigRestoreResponse::_internal_has_error() const {
  return type_case() == kError;
}
inline void PostTrunkConfigRestoreResponse::set_has_error() {
  _impl_._oneof_case_[0] = kError;
}
inline void PostTrunkConfigRestoreResponse::clear_error() {
  if (type_case() == kError) {
    if (GetArenaForAllocation() == nullptr) {
      delete _impl_.type_.error_;
    }
    clear_has_type();
  }
}
inline ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error* PostTrunkConfigRestoreResponse::release_error() {
  // @@protoc_insertion_point(field_release:keyapis.device.v1.PostTrunkConfigRestoreResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error* temp = _impl_.type_.error_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error& PostTrunkConfigRestoreResponse::_internal_error() const {
  return type_case() == kError
      ? *_impl_.type_.error_
      : reinterpret_cast<::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error&>(::keyapis::device::v1::_PostTrunkConfigRestoreResponse_Error_default_instance_);
}
inline const ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error& PostTrunkConfigRestoreResponse::error() const {
  // @@protoc_insertion_point(field_get:keyapis.device.v1.PostTrunkConfigRestoreResponse.error)
  return _internal_error();
}
inline ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error* PostTrunkConfigRestoreResponse::unsafe_arena_release_error() {
  // @@protoc_insertion_point(field_unsafe_arena_release:keyapis.device.v1.PostTrunkConfigRestoreResponse.error)
  if (type_case() == kError) {
    clear_has_type();
    ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error* temp = _impl_.type_.error_;
    _impl_.type_.error_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void PostTrunkConfigRestoreResponse::unsafe_arena_set_allocated_error(::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error* error) {
  clear_type();
  if (error) {
    set_has_error();
    _impl_.type_.error_ = error;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.device.v1.PostTrunkConfigRestoreResponse.error)
}
inline ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error* PostTrunkConfigRestoreResponse::_internal_mutable_error() {
  if (type_case() != kError) {
    clear_type();
    set_has_error();
    _impl_.type_.error_ = CreateMaybeMessage< ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error >(GetArenaForAllocation());
  }
  return _impl_.type_.error_;
}
inline ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error* PostTrunkConfigRestoreResponse::mutable_error() {
  ::keyapis::device::v1::PostTrunkConfigRestoreResponse_Error* _msg = _internal_mutable_error();
  // @@protoc_insertion_point(field_mutable:keyapis.device.v1.PostTrunkConfigRestoreResponse.error)
  return _msg;
}

inline bool PostTrunkConfigRestoreResponse::has_type() const {
  return type_case() != TYPE_NOT_SET;
}
inline void PostTrunkConfigRestoreResponse::clear_has_type() {
  _impl_._oneof_case_[0] = TYPE_NOT_SET;
}
inline PostTrunkConfigRestoreResponse::TypeCase PostTrunkConfigRestoreResponse::type_case() const {
  return PostTrunkConfigRestoreResponse::TypeCase(_impl_._oneof_case_[0]);
}
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)
}  // namespace v1
}  // namespace device
}  // namespace keyapis


PROTOBUF_NAMESPACE_OPEN

template <>
struct is_proto_enum<::keyapis::device::v1::TrunkConfigPaging_OrderByType> : std::true_type {};
template <>
struct is_proto_enum<::keyapis::device::v1::TrunkConfigPaging_DirectionType> : std::true_type {};

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"

#endif  // GOOGLE_PROTOBUF_INCLUDED_keyapis_2fdevice_2fv1_2fkeyapis_5fdevice_5ftrunk_5fconfig_2eproto_2epb_2eh
