// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: proto/nodeinstance/info/v1/info.proto
// Protobuf C++ Version: 7.35.1

#ifndef proto_2fnodeinstance_2finfo_2fv1_2finfo_2eproto_2epb_2eh
#define proto_2fnodeinstance_2finfo_2fv1_2finfo_2eproto_2epb_2eh

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

// clang-format off
#include "google/protobuf/runtime_version.h"
#if PROTOBUF_VERSION != 7035001
#error "Protobuf C++ gencode is built with an incompatible version of"
#error "Protobuf C++ headers/runtime. See"
#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
#endif
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_tctable_decl.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/metadata_lite.h"
#include "google/protobuf/generated_message_reflection.h"
#include "google/protobuf/message.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/map.h"  // IWYU pragma: export
#include "google/protobuf/map_type_handler.h"  // IWYU pragma: export
#include "google/protobuf/map_entry.h"
#include "google/protobuf/map_field.h"
#include "google/protobuf/unknown_field_set.h"
#include "google/protobuf/timestamp.pb.h"
#include "proto/aclk/v1/lib.pb.h"
// @@protoc_insertion_point(includes)

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

#define PROTOBUF_INTERNAL_EXPORT_proto_2fnodeinstance_2finfo_2fv1_2finfo_2eproto

namespace google {
namespace protobuf {
namespace internal {
template <typename T>
::absl::string_view GetAnyMessageName();
}  // namespace internal
}  // namespace protobuf
}  // namespace google

// Internal implementation detail -- do not use these members.
struct TableStruct_proto_2fnodeinstance_2finfo_2fv1_2finfo_2eproto {
  static const ::uint32_t offsets[];
};
extern "C" {
extern const ::google::protobuf::internal::DescriptorTable descriptor_table_proto_2fnodeinstance_2finfo_2fv1_2finfo_2eproto;
}  // extern "C"
namespace nodeinstance {
namespace info {
namespace v1 {
class CollectorInfo;
struct CollectorInfoGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern CollectorInfoGlobalsTypeInternal CollectorInfo_globals_;
extern const ::google::protobuf::internal::ClassDataFull CollectorInfo_class_data_;
#else
extern const CollectorInfoGlobalsTypeInternal CollectorInfo_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class MachineLearningInfo;
struct MachineLearningInfoGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern MachineLearningInfoGlobalsTypeInternal MachineLearningInfo_globals_;
extern const ::google::protobuf::internal::ClassDataFull MachineLearningInfo_class_data_;
#else
extern const MachineLearningInfoGlobalsTypeInternal MachineLearningInfo_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class NodeInfo;
struct NodeInfoGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern NodeInfoGlobalsTypeInternal NodeInfo_globals_;
extern const ::google::protobuf::internal::ClassDataFull NodeInfo_class_data_;
#else
extern const NodeInfoGlobalsTypeInternal NodeInfo_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class NodeInfo2;
struct NodeInfo2GlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern NodeInfo2GlobalsTypeInternal NodeInfo2_globals_;
extern const ::google::protobuf::internal::ClassDataFull NodeInfo2_class_data_;
#else
extern const NodeInfo2GlobalsTypeInternal NodeInfo2_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class NodeInfo_HostLabelsEntry_DoNotUse;
struct NodeInfo_HostLabelsEntry_DoNotUseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern NodeInfo_HostLabelsEntry_DoNotUseGlobalsTypeInternal NodeInfo_HostLabelsEntry_DoNotUse_globals_;
extern const ::google::protobuf::internal::ClassDataFull NodeInfo_HostLabelsEntry_DoNotUse_class_data_;
#else
extern const NodeInfo_HostLabelsEntry_DoNotUseGlobalsTypeInternal NodeInfo_HostLabelsEntry_DoNotUse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class NodeInstanceInfo;
struct NodeInstanceInfoGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern NodeInstanceInfoGlobalsTypeInternal NodeInstanceInfo_globals_;
extern const ::google::protobuf::internal::ClassDataFull NodeInstanceInfo_class_data_;
#else
extern const NodeInstanceInfoGlobalsTypeInternal NodeInstanceInfo_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UpdateNodeCollectors;
struct UpdateNodeCollectorsGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UpdateNodeCollectorsGlobalsTypeInternal UpdateNodeCollectors_globals_;
extern const ::google::protobuf::internal::ClassDataFull UpdateNodeCollectors_class_data_;
#else
extern const UpdateNodeCollectorsGlobalsTypeInternal UpdateNodeCollectors_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class UpdateNodeInfo;
struct UpdateNodeInfoGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern UpdateNodeInfoGlobalsTypeInternal UpdateNodeInfo_globals_;
extern const ::google::protobuf::internal::ClassDataFull UpdateNodeInfo_class_data_;
#else
extern const UpdateNodeInfoGlobalsTypeInternal UpdateNodeInfo_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
}  // namespace v1
}  // namespace info
}  // namespace nodeinstance
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google

namespace nodeinstance {
namespace info {
namespace v1 {

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


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

class PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED NodeInfo_HostLabelsEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<::std::string, ::std::string,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<::std::string, ::std::string,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING>;
  NodeInfo_HostLabelsEntry_DoNotUse();
  template <typename = void>
  explicit constexpr NodeInfo_HostLabelsEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);
  explicit NodeInfo_HostLabelsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_message_globals() {
    return &NodeInfo_HostLabelsEntry_DoNotUse_globals_;
  }


  static constexpr auto InternalGenerateClassData_(
      const ::google::protobuf::MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_proto_2fnodeinstance_2finfo_2fv1_2finfo_2eproto;
  friend ::google::protobuf::internal::PrivateAccess;
  friend NodeInfo_HostLabelsEntry_DoNotUseGlobalsTypeInternal;

  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 62,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED MachineLearningInfo final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:nodeinstance.info.v1.MachineLearningInfo) */ {
 public:
  inline MachineLearningInfo() : MachineLearningInfo(nullptr) {}
  ~MachineLearningInfo() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(MachineLearningInfo* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(MachineLearningInfo));
  }
#endif

  template <typename = void>
  explicit constexpr MachineLearningInfo(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline MachineLearningInfo(const MachineLearningInfo& from) : MachineLearningInfo(nullptr, from) {}
  inline MachineLearningInfo(MachineLearningInfo&& from) noexcept : MachineLearningInfo(nullptr, ::std::move(from)) {}
  inline MachineLearningInfo& operator=(const MachineLearningInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline MachineLearningInfo& operator=(MachineLearningInfo&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const MachineLearningInfo& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<MachineLearningInfo>(&MachineLearningInfo_globals_);
  }
  static constexpr int kIndexInFileMessages = 5;
  friend void swap(MachineLearningInfo& a, MachineLearningInfo& b) { a.Swap(&b); }
  inline void Swap(MachineLearningInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MachineLearningInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  [[nodiscard]] MachineLearningInfo* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<MachineLearningInfo>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const MachineLearningInfo& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const MachineLearningInfo& from) { MachineLearningInfo::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(MachineLearningInfo* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "nodeinstance.info.v1.MachineLearningInfo"; }

  explicit MachineLearningInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  MachineLearningInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MachineLearningInfo& from);
  MachineLearningInfo(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MachineLearningInfo&& from) noexcept
      : MachineLearningInfo(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kMlCapableFieldNumber = 1,
    kMlEnabledFieldNumber = 2,
  };
  // bool ml_capable = 1;
  void clear_ml_capable() ;
  [[nodiscard]] bool ml_capable() const;
  void set_ml_capable(bool value);

  private:
  bool _internal_ml_capable() const;
  void _internal_set_ml_capable(bool value);

  public:
  // bool ml_enabled = 2;
  void clear_ml_enabled() ;
  [[nodiscard]] bool ml_enabled() const;
  void set_ml_enabled(bool value);

  private:
  bool _internal_ml_enabled() const;
  void _internal_set_ml_enabled(bool value);

  public:
  // @@protoc_insertion_point(class_scope:nodeinstance.info.v1.MachineLearningInfo)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const MachineLearningInfo& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    bool ml_capable_;
    bool ml_enabled_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_proto_2fnodeinstance_2finfo_2fv1_2finfo_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CollectorInfo final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:nodeinstance.info.v1.CollectorInfo) */ {
 public:
  inline CollectorInfo() : CollectorInfo(nullptr) {}
  ~CollectorInfo() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CollectorInfo* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CollectorInfo));
  }
#endif

  template <typename = void>
  explicit constexpr CollectorInfo(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline CollectorInfo(const CollectorInfo& from) : CollectorInfo(nullptr, from) {}
  inline CollectorInfo(CollectorInfo&& from) noexcept : CollectorInfo(nullptr, ::std::move(from)) {}
  inline CollectorInfo& operator=(const CollectorInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline CollectorInfo& operator=(CollectorInfo&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const CollectorInfo& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<CollectorInfo>(&CollectorInfo_globals_);
  }
  static constexpr int kIndexInFileMessages = 6;
  friend void swap(CollectorInfo& a, CollectorInfo& b) { a.Swap(&b); }
  inline void Swap(CollectorInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CollectorInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  [[nodiscard]] CollectorInfo* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<CollectorInfo>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const CollectorInfo& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const CollectorInfo& from) { CollectorInfo::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(CollectorInfo* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "nodeinstance.info.v1.CollectorInfo"; }

  explicit CollectorInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CollectorInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CollectorInfo& from);
  CollectorInfo(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CollectorInfo&& from) noexcept
      : CollectorInfo(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kModuleFieldNumber = 1,
    kPluginFieldNumber = 2,
  };
  // string module = 1;
  void clear_module() ;
  [[nodiscard]] const ::std::string& module() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_module(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_module();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_module();
  void set_allocated_module(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_module() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_module(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_module();

  public:
  // string plugin = 2;
  void clear_plugin() ;
  [[nodiscard]] const ::std::string& plugin() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_plugin(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_plugin();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_plugin();
  void set_allocated_plugin(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_plugin() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_plugin(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_plugin();

  public:
  // @@protoc_insertion_point(class_scope:nodeinstance.info.v1.CollectorInfo)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 55,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CollectorInfo& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr module_;
    ::google::protobuf::internal::ArenaStringPtr plugin_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_proto_2fnodeinstance_2finfo_2fv1_2finfo_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UpdateNodeCollectors final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:nodeinstance.info.v1.UpdateNodeCollectors) */ {
 public:
  inline UpdateNodeCollectors() : UpdateNodeCollectors(nullptr) {}
  ~UpdateNodeCollectors() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UpdateNodeCollectors* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UpdateNodeCollectors));
  }
#endif

  template <typename = void>
  explicit constexpr UpdateNodeCollectors(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UpdateNodeCollectors(const UpdateNodeCollectors& from) : UpdateNodeCollectors(nullptr, from) {}
  inline UpdateNodeCollectors(UpdateNodeCollectors&& from) noexcept : UpdateNodeCollectors(nullptr, ::std::move(from)) {}
  inline UpdateNodeCollectors& operator=(const UpdateNodeCollectors& from) {
    CopyFrom(from);
    return *this;
  }
  inline UpdateNodeCollectors& operator=(UpdateNodeCollectors&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UpdateNodeCollectors& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UpdateNodeCollectors>(&UpdateNodeCollectors_globals_);
  }
  static constexpr int kIndexInFileMessages = 7;
  friend void swap(UpdateNodeCollectors& a, UpdateNodeCollectors& b) { a.Swap(&b); }
  inline void Swap(UpdateNodeCollectors* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UpdateNodeCollectors* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  [[nodiscard]] UpdateNodeCollectors* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<UpdateNodeCollectors>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const UpdateNodeCollectors& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const UpdateNodeCollectors& from) { UpdateNodeCollectors::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(UpdateNodeCollectors* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "nodeinstance.info.v1.UpdateNodeCollectors"; }

  explicit UpdateNodeCollectors(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UpdateNodeCollectors(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UpdateNodeCollectors& from);
  UpdateNodeCollectors(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UpdateNodeCollectors&& from) noexcept
      : UpdateNodeCollectors(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kCollectorsFieldNumber = 3,
    kClaimIdFieldNumber = 1,
    kNodeIdFieldNumber = 2,
  };
  // repeated .nodeinstance.info.v1.CollectorInfo collectors = 3;
  [[nodiscard]] int collectors_size()
      const;
  private:
  int _internal_collectors_size() const;

  public:
  void clear_collectors() ;
  [[nodiscard]] const ::nodeinstance::info::v1::CollectorInfo& collectors(int index) const;
  [[nodiscard]] ::nodeinstance::info::v1::CollectorInfo* PROTOBUF_NONNULL mutable_collectors(int index);
  ::nodeinstance::info::v1::CollectorInfo* PROTOBUF_NONNULL add_collectors();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::nodeinstance::info::v1::CollectorInfo>&
  collectors() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::nodeinstance::info::v1::CollectorInfo>* PROTOBUF_NONNULL
  mutable_collectors();

  private:
  const ::google::protobuf::RepeatedPtrField<::nodeinstance::info::v1::CollectorInfo>& _internal_collectors() const;
  ::google::protobuf::RepeatedPtrField<::nodeinstance::info::v1::CollectorInfo>* PROTOBUF_NONNULL _internal_mutable_collectors();

  public:
  // string claim_id = 1;
  void clear_claim_id() ;
  [[nodiscard]] const ::std::string& claim_id() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_claim_id(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_claim_id();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_claim_id();
  void set_allocated_claim_id(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_claim_id() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_claim_id(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_claim_id();

  public:
  // string node_id = 2;
  void clear_node_id() ;
  [[nodiscard]] const ::std::string& node_id() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_node_id(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_node_id();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_node_id();
  void set_allocated_node_id(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_node_id() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_node_id(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_node_id();

  public:
  // @@protoc_insertion_point(class_scope:nodeinstance.info.v1.UpdateNodeCollectors)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 3,
                          1, 65,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const UpdateNodeCollectors& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::nodeinstance::info::v1::CollectorInfo > collectors_;
    ::google::protobuf::internal::ArenaStringPtr claim_id_;
    ::google::protobuf::internal::ArenaStringPtr node_id_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_proto_2fnodeinstance_2finfo_2fv1_2finfo_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED NodeInstanceInfo final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:nodeinstance.info.v1.NodeInstanceInfo) */ {
 public:
  inline NodeInstanceInfo() : NodeInstanceInfo(nullptr) {}
  ~NodeInstanceInfo() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(NodeInstanceInfo* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(NodeInstanceInfo));
  }
#endif

  template <typename = void>
  explicit constexpr NodeInstanceInfo(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline NodeInstanceInfo(const NodeInstanceInfo& from) : NodeInstanceInfo(nullptr, from) {}
  inline NodeInstanceInfo(NodeInstanceInfo&& from) noexcept : NodeInstanceInfo(nullptr, ::std::move(from)) {}
  inline NodeInstanceInfo& operator=(const NodeInstanceInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline NodeInstanceInfo& operator=(NodeInstanceInfo&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const NodeInstanceInfo& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<NodeInstanceInfo>(&NodeInstanceInfo_globals_);
  }
  static constexpr int kIndexInFileMessages = 2;
  friend void swap(NodeInstanceInfo& a, NodeInstanceInfo& b) { a.Swap(&b); }
  inline void Swap(NodeInstanceInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(NodeInstanceInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  [[nodiscard]] NodeInstanceInfo* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<NodeInstanceInfo>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const NodeInstanceInfo& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const NodeInstanceInfo& from) { NodeInstanceInfo::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(NodeInstanceInfo* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "nodeinstance.info.v1.NodeInstanceInfo"; }

  explicit NodeInstanceInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  NodeInstanceInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const NodeInstanceInfo& from);
  NodeInstanceInfo(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, NodeInstanceInfo&& from) noexcept
      : NodeInstanceInfo(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kCapabilitiesFieldNumber = 1,
  };
  // repeated .aclk_lib.v1.Capability capabilities = 1;
  [[nodiscard]] int capabilities_size()
      const;
  private:
  int _internal_capabilities_size() const;

  public:
  void clear_capabilities() ;
  [[nodiscard]] const ::aclk_lib::v1::Capability& capabilities(int index) const;
  [[nodiscard]] ::aclk_lib::v1::Capability* PROTOBUF_NONNULL mutable_capabilities(int index);
  ::aclk_lib::v1::Capability* PROTOBUF_NONNULL add_capabilities();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::aclk_lib::v1::Capability>&
  capabilities() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::aclk_lib::v1::Capability>* PROTOBUF_NONNULL
  mutable_capabilities();

  private:
  const ::google::protobuf::RepeatedPtrField<::aclk_lib::v1::Capability>& _internal_capabilities() const;
  ::google::protobuf::RepeatedPtrField<::aclk_lib::v1::Capability>* PROTOBUF_NONNULL _internal_mutable_capabilities();

  public:
  // @@protoc_insertion_point(class_scope:nodeinstance.info.v1.NodeInstanceInfo)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const NodeInstanceInfo& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::aclk_lib::v1::Capability > capabilities_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_proto_2fnodeinstance_2finfo_2fv1_2finfo_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED NodeInfo2 final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:nodeinstance.info.v1.NodeInfo2) */ {
 public:
  inline NodeInfo2() : NodeInfo2(nullptr) {}
  ~NodeInfo2() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(NodeInfo2* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(NodeInfo2));
  }
#endif

  template <typename = void>
  explicit constexpr NodeInfo2(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline NodeInfo2(const NodeInfo2& from) : NodeInfo2(nullptr, from) {}
  inline NodeInfo2(NodeInfo2&& from) noexcept : NodeInfo2(nullptr, ::std::move(from)) {}
  inline NodeInfo2& operator=(const NodeInfo2& from) {
    CopyFrom(from);
    return *this;
  }
  inline NodeInfo2& operator=(NodeInfo2&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const NodeInfo2& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<NodeInfo2>(&NodeInfo2_globals_);
  }
  static constexpr int kIndexInFileMessages = 1;
  friend void swap(NodeInfo2& a, NodeInfo2& b) { a.Swap(&b); }
  inline void Swap(NodeInfo2* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(NodeInfo2* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  [[nodiscard]] NodeInfo2* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<NodeInfo2>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const NodeInfo2& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const NodeInfo2& from) { NodeInfo2::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(NodeInfo2* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "nodeinstance.info.v1.NodeInfo2"; }

  explicit NodeInfo2(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  NodeInfo2(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const NodeInfo2& from);
  NodeInfo2(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, NodeInfo2&& from) noexcept
      : NodeInfo2(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kCapabilitiesFieldNumber = 1,
  };
  // repeated .aclk_lib.v1.Capability capabilities = 1;
  [[nodiscard]] int capabilities_size()
      const;
  private:
  int _internal_capabilities_size() const;

  public:
  void clear_capabilities() ;
  [[nodiscard]] const ::aclk_lib::v1::Capability& capabilities(int index) const;
  [[nodiscard]] ::aclk_lib::v1::Capability* PROTOBUF_NONNULL mutable_capabilities(int index);
  ::aclk_lib::v1::Capability* PROTOBUF_NONNULL add_capabilities();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::aclk_lib::v1::Capability>&
  capabilities() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::aclk_lib::v1::Capability>* PROTOBUF_NONNULL
  mutable_capabilities();

  private:
  const ::google::protobuf::RepeatedPtrField<::aclk_lib::v1::Capability>& _internal_capabilities() const;
  ::google::protobuf::RepeatedPtrField<::aclk_lib::v1::Capability>* PROTOBUF_NONNULL _internal_mutable_capabilities();

  public:
  // @@protoc_insertion_point(class_scope:nodeinstance.info.v1.NodeInfo2)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          1, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const NodeInfo2& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::aclk_lib::v1::Capability > capabilities_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_proto_2fnodeinstance_2finfo_2fv1_2finfo_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED NodeInfo final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:nodeinstance.info.v1.NodeInfo) */ {
 public:
  inline NodeInfo() : NodeInfo(nullptr) {}
  ~NodeInfo() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(NodeInfo* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(NodeInfo));
  }
#endif

  template <typename = void>
  explicit constexpr NodeInfo(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline NodeInfo(const NodeInfo& from) : NodeInfo(nullptr, from) {}
  inline NodeInfo(NodeInfo&& from) noexcept : NodeInfo(nullptr, ::std::move(from)) {}
  inline NodeInfo& operator=(const NodeInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline NodeInfo& operator=(NodeInfo&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const NodeInfo& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<NodeInfo>(&NodeInfo_globals_);
  }
  static constexpr int kIndexInFileMessages = 4;
  friend void swap(NodeInfo& a, NodeInfo& b) { a.Swap(&b); }
  inline void Swap(NodeInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(NodeInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  [[nodiscard]] NodeInfo* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<NodeInfo>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const NodeInfo& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const NodeInfo& from) { NodeInfo::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(NodeInfo* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "nodeinstance.info.v1.NodeInfo"; }

  explicit NodeInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  NodeInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const NodeInfo& from);
  NodeInfo(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, NodeInfo&& from) noexcept
      : NodeInfo(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
    kOsFieldNumber = 2,
    kOsNameFieldNumber = 3,
    kOsVersionFieldNumber = 4,
    kKernelNameFieldNumber = 5,
    kKernelVersionFieldNumber = 6,
    kArchitectureFieldNumber = 7,
    kCpuFrequencyFieldNumber = 9,
    kMemoryFieldNumber = 10,
    kDiskSpaceFieldNumber = 11,
    kVersionFieldNumber = 12,
    kReleaseChannelFieldNumber = 13,
    kTimezoneFieldNumber = 14,
    kVirtualizationTypeFieldNumber = 15,
    kContainerTypeFieldNumber = 16,
    kCustomInfoFieldNumber = 17,
    kMachineGuidFieldNumber = 19,
    kMlInfoFieldNumber = 22,
    kCpusFieldNumber = 8,
    kHostLabelsFieldNumber = 21,
  };
  // string name = 1;
  void clear_name() ;
  [[nodiscard]] const ::std::string& name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
  void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_name();

  public:
  // string os = 2;
  void clear_os() ;
  [[nodiscard]] const ::std::string& os() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_os(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_os();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_os();
  void set_allocated_os(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_os() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_os(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_os();

  public:
  // string os_name = 3;
  void clear_os_name() ;
  [[nodiscard]] const ::std::string& os_name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_os_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_os_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_os_name();
  void set_allocated_os_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_os_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_os_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_os_name();

  public:
  // string os_version = 4;
  void clear_os_version() ;
  [[nodiscard]] const ::std::string& os_version() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_os_version(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_os_version();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_os_version();
  void set_allocated_os_version(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_os_version() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_os_version(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_os_version();

  public:
  // string kernel_name = 5;
  void clear_kernel_name() ;
  [[nodiscard]] const ::std::string& kernel_name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_kernel_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_kernel_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_kernel_name();
  void set_allocated_kernel_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_kernel_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_kernel_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_kernel_name();

  public:
  // string kernel_version = 6;
  void clear_kernel_version() ;
  [[nodiscard]] const ::std::string& kernel_version() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_kernel_version(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_kernel_version();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_kernel_version();
  void set_allocated_kernel_version(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_kernel_version() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_kernel_version(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_kernel_version();

  public:
  // string architecture = 7;
  void clear_architecture() ;
  [[nodiscard]] const ::std::string& architecture() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_architecture(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_architecture();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_architecture();
  void set_allocated_architecture(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_architecture() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_architecture(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_architecture();

  public:
  // string cpu_frequency = 9;
  void clear_cpu_frequency() ;
  [[nodiscard]] const ::std::string& cpu_frequency() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_cpu_frequency(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_cpu_frequency();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_cpu_frequency();
  void set_allocated_cpu_frequency(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_cpu_frequency() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_cpu_frequency(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_cpu_frequency();

  public:
  // string memory = 10;
  void clear_memory() ;
  [[nodiscard]] const ::std::string& memory() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_memory(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_memory();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_memory();
  void set_allocated_memory(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_memory() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_memory(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_memory();

  public:
  // string disk_space = 11;
  void clear_disk_space() ;
  [[nodiscard]] const ::std::string& disk_space() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_disk_space(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_disk_space();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_disk_space();
  void set_allocated_disk_space(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_disk_space() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_disk_space(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_disk_space();

  public:
  // string version = 12;
  void clear_version() ;
  [[nodiscard]] const ::std::string& version() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_version(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_version();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_version();
  void set_allocated_version(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_version() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_version(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_version();

  public:
  // string release_channel = 13;
  void clear_release_channel() ;
  [[nodiscard]] const ::std::string& release_channel() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_release_channel(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_release_channel();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_release_channel();
  void set_allocated_release_channel(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_release_channel() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_release_channel(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_release_channel();

  public:
  // string timezone = 14;
  void clear_timezone() ;
  [[nodiscard]] const ::std::string& timezone() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_timezone(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_timezone();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_timezone();
  void set_allocated_timezone(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_timezone() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_timezone(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_timezone();

  public:
  // string virtualization_type = 15;
  void clear_virtualization_type() ;
  [[nodiscard]] const ::std::string& virtualization_type() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_virtualization_type(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_virtualization_type();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_virtualization_type();
  void set_allocated_virtualization_type(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_virtualization_type() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_virtualization_type(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_virtualization_type();

  public:
  // string container_type = 16;
  void clear_container_type() ;
  [[nodiscard]] const ::std::string& container_type() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_container_type(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_container_type();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_container_type();
  void set_allocated_container_type(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_container_type() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_container_type(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_container_type();

  public:
  // string custom_info = 17;
  void clear_custom_info() ;
  [[nodiscard]] const ::std::string& custom_info() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_custom_info(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_custom_info();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_custom_info();
  void set_allocated_custom_info(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_custom_info() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_custom_info(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_custom_info();

  public:
  // string machine_guid = 19;
  void clear_machine_guid() ;
  [[nodiscard]] const ::std::string& machine_guid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_machine_guid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_machine_guid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_machine_guid();
  void set_allocated_machine_guid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_machine_guid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_machine_guid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_machine_guid();

  public:
  // .nodeinstance.info.v1.MachineLearningInfo ml_info = 22;
  [[nodiscard]] bool has_ml_info()
      const;
  void clear_ml_info() ;
  [[nodiscard]] const ::nodeinstance::info::v1::MachineLearningInfo& ml_info() const;
  [[nodiscard]] ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NULLABLE release_ml_info();
  ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NONNULL mutable_ml_info();
  void set_allocated_ml_info(::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_ml_info(::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NULLABLE value);
  ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NULLABLE unsafe_arena_release_ml_info();

  private:
  const ::nodeinstance::info::v1::MachineLearningInfo& _internal_ml_info() const;
  ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NONNULL _internal_mutable_ml_info();

  public:
  // uint32 cpus = 8;
  void clear_cpus() ;
  [[nodiscard]] ::uint32_t cpus() const;
  void set_cpus(::uint32_t value);

  private:
  ::uint32_t _internal_cpus() const;
  void _internal_set_cpus(::uint32_t value);

  public:
  // map<string, string> host_labels = 21;
  [[nodiscard]] int host_labels_size()
      const;
  private:
  int _internal_host_labels_size() const;

  public:
  void clear_host_labels() ;
  [[nodiscard]] const ::google::protobuf::Map<::std::string, ::std::string>& host_labels() const;
  [[nodiscard]] ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL mutable_host_labels();

  private:
  const ::google::protobuf::Map<::std::string, ::std::string>& _internal_host_labels() const;
  ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL _internal_mutable_host_labels();

  public:
  // @@protoc_insertion_point(class_scope:nodeinstance.info.v1.NodeInfo)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<5, 20,
                          2, 240,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const NodeInfo& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::protobuf::internal::ArenaStringPtr os_;
    ::google::protobuf::internal::ArenaStringPtr os_name_;
    ::google::protobuf::internal::ArenaStringPtr os_version_;
    ::google::protobuf::internal::ArenaStringPtr kernel_name_;
    ::google::protobuf::internal::ArenaStringPtr kernel_version_;
    ::google::protobuf::internal::ArenaStringPtr architecture_;
    ::google::protobuf::internal::ArenaStringPtr cpu_frequency_;
    ::google::protobuf::internal::ArenaStringPtr memory_;
    ::google::protobuf::internal::ArenaStringPtr disk_space_;
    ::google::protobuf::internal::ArenaStringPtr version_;
    ::google::protobuf::internal::ArenaStringPtr release_channel_;
    ::google::protobuf::internal::ArenaStringPtr timezone_;
    ::google::protobuf::internal::ArenaStringPtr virtualization_type_;
    ::google::protobuf::internal::ArenaStringPtr container_type_;
    ::google::protobuf::internal::ArenaStringPtr custom_info_;
    ::google::protobuf::internal::ArenaStringPtr machine_guid_;
    ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NULLABLE ml_info_;
    ::uint32_t cpus_;
    ::google::protobuf::internal::MapField<NodeInfo_HostLabelsEntry_DoNotUse, ::std::string, ::std::string> host_labels_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_proto_2fnodeinstance_2finfo_2fv1_2finfo_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED UpdateNodeInfo final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:nodeinstance.info.v1.UpdateNodeInfo) */ {
 public:
  inline UpdateNodeInfo() : UpdateNodeInfo(nullptr) {}
  ~UpdateNodeInfo() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(UpdateNodeInfo* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(UpdateNodeInfo));
  }
#endif

  template <typename = void>
  explicit constexpr UpdateNodeInfo(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline UpdateNodeInfo(const UpdateNodeInfo& from) : UpdateNodeInfo(nullptr, from) {}
  inline UpdateNodeInfo(UpdateNodeInfo&& from) noexcept : UpdateNodeInfo(nullptr, ::std::move(from)) {}
  inline UpdateNodeInfo& operator=(const UpdateNodeInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline UpdateNodeInfo& operator=(UpdateNodeInfo&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const UpdateNodeInfo& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<UpdateNodeInfo>(&UpdateNodeInfo_globals_);
  }
  static constexpr int kIndexInFileMessages = 0;
  friend void swap(UpdateNodeInfo& a, UpdateNodeInfo& b) { a.Swap(&b); }
  inline void Swap(UpdateNodeInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UpdateNodeInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  [[nodiscard]] UpdateNodeInfo* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<UpdateNodeInfo>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const UpdateNodeInfo& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const UpdateNodeInfo& from) { UpdateNodeInfo::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(UpdateNodeInfo* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "nodeinstance.info.v1.UpdateNodeInfo"; }

  explicit UpdateNodeInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  UpdateNodeInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const UpdateNodeInfo& from);
  UpdateNodeInfo(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, UpdateNodeInfo&& from) noexcept
      : UpdateNodeInfo(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kClaimIdFieldNumber = 1,
    kMachineGuidFieldNumber = 5,
    kNodeIdFieldNumber = 7,
    kDataFieldNumber = 2,
    kUpdatedAtFieldNumber = 3,
    kMlInfoFieldNumber = 8,
    kNodeInfoFieldNumber = 9,
    kNodeInstanceInfoFieldNumber = 10,
    kSessionIdFieldNumber = 4,
    kChildFieldNumber = 6,
  };
  // string claim_id = 1;
  void clear_claim_id() ;
  [[nodiscard]] const ::std::string& claim_id() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_claim_id(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_claim_id();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_claim_id();
  void set_allocated_claim_id(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_claim_id() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_claim_id(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_claim_id();

  public:
  // string machine_guid = 5;
  void clear_machine_guid() ;
  [[nodiscard]] const ::std::string& machine_guid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_machine_guid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_machine_guid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_machine_guid();
  void set_allocated_machine_guid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_machine_guid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_machine_guid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_machine_guid();

  public:
  // string node_id = 7;
  void clear_node_id() ;
  [[nodiscard]] const ::std::string& node_id() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_node_id(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_node_id();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_node_id();
  void set_allocated_node_id(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_node_id() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_node_id(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_node_id();

  public:
  // .nodeinstance.info.v1.NodeInfo data = 2;
  [[nodiscard]] bool has_data()
      const;
  void clear_data() ;
  [[nodiscard]] const ::nodeinstance::info::v1::NodeInfo& data() const;
  [[nodiscard]] ::nodeinstance::info::v1::NodeInfo* PROTOBUF_NULLABLE release_data();
  ::nodeinstance::info::v1::NodeInfo* PROTOBUF_NONNULL mutable_data();
  void set_allocated_data(::nodeinstance::info::v1::NodeInfo* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_data(::nodeinstance::info::v1::NodeInfo* PROTOBUF_NULLABLE value);
  ::nodeinstance::info::v1::NodeInfo* PROTOBUF_NULLABLE unsafe_arena_release_data();

  private:
  const ::nodeinstance::info::v1::NodeInfo& _internal_data() const;
  ::nodeinstance::info::v1::NodeInfo* PROTOBUF_NONNULL _internal_mutable_data();

  public:
  // .google.protobuf.Timestamp updated_at = 3;
  [[nodiscard]] bool has_updated_at()
      const;
  void clear_updated_at() ;
  [[nodiscard]] const ::google::protobuf::Timestamp& updated_at() const;
  [[nodiscard]] ::google::protobuf::Timestamp* PROTOBUF_NULLABLE release_updated_at();
  ::google::protobuf::Timestamp* PROTOBUF_NONNULL mutable_updated_at();
  void set_allocated_updated_at(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_updated_at(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value);
  ::google::protobuf::Timestamp* PROTOBUF_NULLABLE unsafe_arena_release_updated_at();

  private:
  const ::google::protobuf::Timestamp& _internal_updated_at() const;
  ::google::protobuf::Timestamp* PROTOBUF_NONNULL _internal_mutable_updated_at();

  public:
  // .nodeinstance.info.v1.MachineLearningInfo ml_info = 8;
  [[nodiscard]] bool has_ml_info()
      const;
  void clear_ml_info() ;
  [[nodiscard]] const ::nodeinstance::info::v1::MachineLearningInfo& ml_info() const;
  [[nodiscard]] ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NULLABLE release_ml_info();
  ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NONNULL mutable_ml_info();
  void set_allocated_ml_info(::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_ml_info(::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NULLABLE value);
  ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NULLABLE unsafe_arena_release_ml_info();

  private:
  const ::nodeinstance::info::v1::MachineLearningInfo& _internal_ml_info() const;
  ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NONNULL _internal_mutable_ml_info();

  public:
  // .nodeinstance.info.v1.NodeInfo2 node_info = 9;
  [[nodiscard]] bool has_node_info()
      const;
  void clear_node_info() ;
  [[nodiscard]] const ::nodeinstance::info::v1::NodeInfo2& node_info() const;
  [[nodiscard]] ::nodeinstance::info::v1::NodeInfo2* PROTOBUF_NULLABLE release_node_info();
  ::nodeinstance::info::v1::NodeInfo2* PROTOBUF_NONNULL mutable_node_info();
  void set_allocated_node_info(::nodeinstance::info::v1::NodeInfo2* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_node_info(::nodeinstance::info::v1::NodeInfo2* PROTOBUF_NULLABLE value);
  ::nodeinstance::info::v1::NodeInfo2* PROTOBUF_NULLABLE unsafe_arena_release_node_info();

  private:
  const ::nodeinstance::info::v1::NodeInfo2& _internal_node_info() const;
  ::nodeinstance::info::v1::NodeInfo2* PROTOBUF_NONNULL _internal_mutable_node_info();

  public:
  // .nodeinstance.info.v1.NodeInstanceInfo node_instance_info = 10;
  [[nodiscard]] bool has_node_instance_info()
      const;
  void clear_node_instance_info() ;
  [[nodiscard]] const ::nodeinstance::info::v1::NodeInstanceInfo& node_instance_info() const;
  [[nodiscard]] ::nodeinstance::info::v1::NodeInstanceInfo* PROTOBUF_NULLABLE release_node_instance_info();
  ::nodeinstance::info::v1::NodeInstanceInfo* PROTOBUF_NONNULL mutable_node_instance_info();
  void set_allocated_node_instance_info(::nodeinstance::info::v1::NodeInstanceInfo* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_node_instance_info(::nodeinstance::info::v1::NodeInstanceInfo* PROTOBUF_NULLABLE value);
  ::nodeinstance::info::v1::NodeInstanceInfo* PROTOBUF_NULLABLE unsafe_arena_release_node_instance_info();

  private:
  const ::nodeinstance::info::v1::NodeInstanceInfo& _internal_node_instance_info() const;
  ::nodeinstance::info::v1::NodeInstanceInfo* PROTOBUF_NONNULL _internal_mutable_node_instance_info();

  public:
  // int64 session_id = 4;
  void clear_session_id() ;
  [[nodiscard]] ::int64_t session_id() const;
  void set_session_id(::int64_t value);

  private:
  ::int64_t _internal_session_id() const;
  void _internal_set_session_id(::int64_t value);

  public:
  // bool child = 6;
  void clear_child() ;
  [[nodiscard]] bool child() const;
  void set_child(bool value);

  private:
  bool _internal_child() const;
  void _internal_set_child(bool value);

  public:
  // @@protoc_insertion_point(class_scope:nodeinstance.info.v1.UpdateNodeInfo)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<4, 10,
                          5, 79,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const UpdateNodeInfo& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr claim_id_;
    ::google::protobuf::internal::ArenaStringPtr machine_guid_;
    ::google::protobuf::internal::ArenaStringPtr node_id_;
    ::nodeinstance::info::v1::NodeInfo* PROTOBUF_NULLABLE data_;
    ::google::protobuf::Timestamp* PROTOBUF_NULLABLE updated_at_;
    ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NULLABLE ml_info_;
    ::nodeinstance::info::v1::NodeInfo2* PROTOBUF_NULLABLE node_info_;
    ::nodeinstance::info::v1::NodeInstanceInfo* PROTOBUF_NULLABLE node_instance_info_;
    ::int64_t session_id_;
    bool child_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_proto_2fnodeinstance_2finfo_2fv1_2finfo_2eproto;
};

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




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


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

// UpdateNodeInfo

// string node_id = 7;
inline void UpdateNodeInfo::clear_node_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.node_id_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline const ::std::string& UpdateNodeInfo::node_id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.UpdateNodeInfo.node_id)
  return _internal_node_id();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UpdateNodeInfo::set_node_id(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.node_id_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.UpdateNodeInfo.node_id)
}
inline ::std::string* PROTOBUF_NONNULL UpdateNodeInfo::mutable_node_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_node_id();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.UpdateNodeInfo.node_id)
  return _s;
}
inline const ::std::string& UpdateNodeInfo::_internal_node_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.node_id_.Get();
}
inline void UpdateNodeInfo::_internal_set_node_id(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.node_id_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UpdateNodeInfo::_internal_mutable_node_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.node_id_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UpdateNodeInfo::release_node_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.UpdateNodeInfo.node_id)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.node_id_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.node_id_.Set("", GetArena());
  }
  return released;
}
inline void UpdateNodeInfo::set_allocated_node_id(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.node_id_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.node_id_.IsDefault()) {
    _impl_.node_id_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.UpdateNodeInfo.node_id)
}

// string claim_id = 1;
inline void UpdateNodeInfo::clear_claim_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.claim_id_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& UpdateNodeInfo::claim_id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.UpdateNodeInfo.claim_id)
  return _internal_claim_id();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UpdateNodeInfo::set_claim_id(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.claim_id_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.UpdateNodeInfo.claim_id)
}
inline ::std::string* PROTOBUF_NONNULL UpdateNodeInfo::mutable_claim_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_claim_id();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.UpdateNodeInfo.claim_id)
  return _s;
}
inline const ::std::string& UpdateNodeInfo::_internal_claim_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.claim_id_.Get();
}
inline void UpdateNodeInfo::_internal_set_claim_id(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.claim_id_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UpdateNodeInfo::_internal_mutable_claim_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.claim_id_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UpdateNodeInfo::release_claim_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.UpdateNodeInfo.claim_id)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.claim_id_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.claim_id_.Set("", GetArena());
  }
  return released;
}
inline void UpdateNodeInfo::set_allocated_claim_id(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.claim_id_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.claim_id_.IsDefault()) {
    _impl_.claim_id_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.UpdateNodeInfo.claim_id)
}

// .nodeinstance.info.v1.NodeInfo data = 2;
inline bool UpdateNodeInfo::has_data() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
  PROTOBUF_ASSUME(!value || _impl_.data_ != nullptr);
  return value;
}
inline void UpdateNodeInfo::clear_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.data_ != nullptr) _impl_.data_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline const ::nodeinstance::info::v1::NodeInfo& UpdateNodeInfo::_internal_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::nodeinstance::info::v1::NodeInfo* p = _impl_.data_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::nodeinstance::info::v1::NodeInfo>(&::nodeinstance::info::v1::NodeInfo_globals_);
}
inline const ::nodeinstance::info::v1::NodeInfo& UpdateNodeInfo::data() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.UpdateNodeInfo.data)
  return _internal_data();
}
inline void UpdateNodeInfo::unsafe_arena_set_allocated_data(
    ::nodeinstance::info::v1::NodeInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.data_);
  }
  _impl_.data_ = reinterpret_cast<::nodeinstance::info::v1::NodeInfo*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:nodeinstance.info.v1.UpdateNodeInfo.data)
}
inline ::nodeinstance::info::v1::NodeInfo* PROTOBUF_NULLABLE UpdateNodeInfo::release_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::nodeinstance::info::v1::NodeInfo* released = _impl_.data_;
  _impl_.data_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::nodeinstance::info::v1::NodeInfo* PROTOBUF_NULLABLE UpdateNodeInfo::unsafe_arena_release_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.UpdateNodeInfo.data)

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::nodeinstance::info::v1::NodeInfo* temp = _impl_.data_;
  _impl_.data_ = nullptr;
  return temp;
}
inline ::nodeinstance::info::v1::NodeInfo* PROTOBUF_NONNULL UpdateNodeInfo::_internal_mutable_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.data_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::nodeinstance::info::v1::NodeInfo>(GetArena());
    _impl_.data_ = reinterpret_cast<::nodeinstance::info::v1::NodeInfo*>(p);
  }
  return _impl_.data_;
}
inline ::nodeinstance::info::v1::NodeInfo* PROTOBUF_NONNULL UpdateNodeInfo::mutable_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::nodeinstance::info::v1::NodeInfo* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.UpdateNodeInfo.data)
  return _msg;
}
inline void UpdateNodeInfo::set_allocated_data(::nodeinstance::info::v1::NodeInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.data_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }

  _impl_.data_ = reinterpret_cast<::nodeinstance::info::v1::NodeInfo*>(value);
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.UpdateNodeInfo.data)
}

// .google.protobuf.Timestamp updated_at = 3;
inline bool UpdateNodeInfo::has_updated_at() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
  PROTOBUF_ASSUME(!value || _impl_.updated_at_ != nullptr);
  return value;
}
inline const ::google::protobuf::Timestamp& UpdateNodeInfo::_internal_updated_at() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::protobuf::Timestamp* p = _impl_.updated_at_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::protobuf::Timestamp>(&::google::protobuf::Timestamp_globals_);
}
inline const ::google::protobuf::Timestamp& UpdateNodeInfo::updated_at() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.UpdateNodeInfo.updated_at)
  return _internal_updated_at();
}
inline void UpdateNodeInfo::unsafe_arena_set_allocated_updated_at(
    ::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.updated_at_);
  }
  _impl_.updated_at_ = reinterpret_cast<::google::protobuf::Timestamp*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:nodeinstance.info.v1.UpdateNodeInfo.updated_at)
}
inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE UpdateNodeInfo::release_updated_at() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::google::protobuf::Timestamp* released = _impl_.updated_at_;
  _impl_.updated_at_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE UpdateNodeInfo::unsafe_arena_release_updated_at() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.UpdateNodeInfo.updated_at)

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::google::protobuf::Timestamp* temp = _impl_.updated_at_;
  _impl_.updated_at_ = nullptr;
  return temp;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL UpdateNodeInfo::_internal_mutable_updated_at() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.updated_at_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Timestamp>(GetArena());
    _impl_.updated_at_ = reinterpret_cast<::google::protobuf::Timestamp*>(p);
  }
  return _impl_.updated_at_;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL UpdateNodeInfo::mutable_updated_at()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::google::protobuf::Timestamp* _msg = _internal_mutable_updated_at();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.UpdateNodeInfo.updated_at)
  return _msg;
}
inline void UpdateNodeInfo::set_allocated_updated_at(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.updated_at_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }

  _impl_.updated_at_ = reinterpret_cast<::google::protobuf::Timestamp*>(value);
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.UpdateNodeInfo.updated_at)
}

// int64 session_id = 4;
inline void UpdateNodeInfo::clear_session_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.session_id_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
}
inline ::int64_t UpdateNodeInfo::session_id() const {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.UpdateNodeInfo.session_id)
  return _internal_session_id();
}
inline void UpdateNodeInfo::set_session_id(::int64_t value) {
  _internal_set_session_id(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.UpdateNodeInfo.session_id)
}
inline ::int64_t UpdateNodeInfo::_internal_session_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.session_id_;
}
inline void UpdateNodeInfo::_internal_set_session_id(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.session_id_ = value;
}

// string machine_guid = 5;
inline void UpdateNodeInfo::clear_machine_guid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.machine_guid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& UpdateNodeInfo::machine_guid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.UpdateNodeInfo.machine_guid)
  return _internal_machine_guid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UpdateNodeInfo::set_machine_guid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.machine_guid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.UpdateNodeInfo.machine_guid)
}
inline ::std::string* PROTOBUF_NONNULL UpdateNodeInfo::mutable_machine_guid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_machine_guid();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.UpdateNodeInfo.machine_guid)
  return _s;
}
inline const ::std::string& UpdateNodeInfo::_internal_machine_guid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.machine_guid_.Get();
}
inline void UpdateNodeInfo::_internal_set_machine_guid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.machine_guid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UpdateNodeInfo::_internal_mutable_machine_guid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.machine_guid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UpdateNodeInfo::release_machine_guid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.UpdateNodeInfo.machine_guid)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.machine_guid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.machine_guid_.Set("", GetArena());
  }
  return released;
}
inline void UpdateNodeInfo::set_allocated_machine_guid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.machine_guid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.machine_guid_.IsDefault()) {
    _impl_.machine_guid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.UpdateNodeInfo.machine_guid)
}

// bool child = 6;
inline void UpdateNodeInfo::clear_child() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.child_ = false;
  ClearHasBit(_impl_._has_bits_[0], 0x00000200U);
}
inline bool UpdateNodeInfo::child() const {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.UpdateNodeInfo.child)
  return _internal_child();
}
inline void UpdateNodeInfo::set_child(bool value) {
  _internal_set_child(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000200U);
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.UpdateNodeInfo.child)
}
inline bool UpdateNodeInfo::_internal_child() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.child_;
}
inline void UpdateNodeInfo::_internal_set_child(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.child_ = value;
}

// .nodeinstance.info.v1.MachineLearningInfo ml_info = 8;
inline bool UpdateNodeInfo::has_ml_info() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000020U);
  PROTOBUF_ASSUME(!value || _impl_.ml_info_ != nullptr);
  return value;
}
inline void UpdateNodeInfo::clear_ml_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.ml_info_ != nullptr) _impl_.ml_info_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
}
inline const ::nodeinstance::info::v1::MachineLearningInfo& UpdateNodeInfo::_internal_ml_info() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::nodeinstance::info::v1::MachineLearningInfo* p = _impl_.ml_info_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::nodeinstance::info::v1::MachineLearningInfo>(&::nodeinstance::info::v1::MachineLearningInfo_globals_);
}
inline const ::nodeinstance::info::v1::MachineLearningInfo& UpdateNodeInfo::ml_info() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.UpdateNodeInfo.ml_info)
  return _internal_ml_info();
}
inline void UpdateNodeInfo::unsafe_arena_set_allocated_ml_info(
    ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.ml_info_);
  }
  _impl_.ml_info_ = reinterpret_cast<::nodeinstance::info::v1::MachineLearningInfo*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:nodeinstance.info.v1.UpdateNodeInfo.ml_info)
}
inline ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NULLABLE UpdateNodeInfo::release_ml_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::nodeinstance::info::v1::MachineLearningInfo* released = _impl_.ml_info_;
  _impl_.ml_info_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NULLABLE UpdateNodeInfo::unsafe_arena_release_ml_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.UpdateNodeInfo.ml_info)

  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::nodeinstance::info::v1::MachineLearningInfo* temp = _impl_.ml_info_;
  _impl_.ml_info_ = nullptr;
  return temp;
}
inline ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NONNULL UpdateNodeInfo::_internal_mutable_ml_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.ml_info_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::nodeinstance::info::v1::MachineLearningInfo>(GetArena());
    _impl_.ml_info_ = reinterpret_cast<::nodeinstance::info::v1::MachineLearningInfo*>(p);
  }
  return _impl_.ml_info_;
}
inline ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NONNULL UpdateNodeInfo::mutable_ml_info()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::nodeinstance::info::v1::MachineLearningInfo* _msg = _internal_mutable_ml_info();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.UpdateNodeInfo.ml_info)
  return _msg;
}
inline void UpdateNodeInfo::set_allocated_ml_info(::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.ml_info_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  }

  _impl_.ml_info_ = reinterpret_cast<::nodeinstance::info::v1::MachineLearningInfo*>(value);
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.UpdateNodeInfo.ml_info)
}

// .nodeinstance.info.v1.NodeInfo2 node_info = 9;
inline bool UpdateNodeInfo::has_node_info() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000040U);
  PROTOBUF_ASSUME(!value || _impl_.node_info_ != nullptr);
  return value;
}
inline void UpdateNodeInfo::clear_node_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.node_info_ != nullptr) _impl_.node_info_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
}
inline const ::nodeinstance::info::v1::NodeInfo2& UpdateNodeInfo::_internal_node_info() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::nodeinstance::info::v1::NodeInfo2* p = _impl_.node_info_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::nodeinstance::info::v1::NodeInfo2>(&::nodeinstance::info::v1::NodeInfo2_globals_);
}
inline const ::nodeinstance::info::v1::NodeInfo2& UpdateNodeInfo::node_info() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.UpdateNodeInfo.node_info)
  return _internal_node_info();
}
inline void UpdateNodeInfo::unsafe_arena_set_allocated_node_info(
    ::nodeinstance::info::v1::NodeInfo2* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.node_info_);
  }
  _impl_.node_info_ = reinterpret_cast<::nodeinstance::info::v1::NodeInfo2*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:nodeinstance.info.v1.UpdateNodeInfo.node_info)
}
inline ::nodeinstance::info::v1::NodeInfo2* PROTOBUF_NULLABLE UpdateNodeInfo::release_node_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  ::nodeinstance::info::v1::NodeInfo2* released = _impl_.node_info_;
  _impl_.node_info_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::nodeinstance::info::v1::NodeInfo2* PROTOBUF_NULLABLE UpdateNodeInfo::unsafe_arena_release_node_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.UpdateNodeInfo.node_info)

  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  ::nodeinstance::info::v1::NodeInfo2* temp = _impl_.node_info_;
  _impl_.node_info_ = nullptr;
  return temp;
}
inline ::nodeinstance::info::v1::NodeInfo2* PROTOBUF_NONNULL UpdateNodeInfo::_internal_mutable_node_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.node_info_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::nodeinstance::info::v1::NodeInfo2>(GetArena());
    _impl_.node_info_ = reinterpret_cast<::nodeinstance::info::v1::NodeInfo2*>(p);
  }
  return _impl_.node_info_;
}
inline ::nodeinstance::info::v1::NodeInfo2* PROTOBUF_NONNULL UpdateNodeInfo::mutable_node_info()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  ::nodeinstance::info::v1::NodeInfo2* _msg = _internal_mutable_node_info();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.UpdateNodeInfo.node_info)
  return _msg;
}
inline void UpdateNodeInfo::set_allocated_node_info(::nodeinstance::info::v1::NodeInfo2* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.node_info_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  }

  _impl_.node_info_ = reinterpret_cast<::nodeinstance::info::v1::NodeInfo2*>(value);
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.UpdateNodeInfo.node_info)
}

// .nodeinstance.info.v1.NodeInstanceInfo node_instance_info = 10;
inline bool UpdateNodeInfo::has_node_instance_info() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000080U);
  PROTOBUF_ASSUME(!value || _impl_.node_instance_info_ != nullptr);
  return value;
}
inline void UpdateNodeInfo::clear_node_instance_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.node_instance_info_ != nullptr) _impl_.node_instance_info_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
}
inline const ::nodeinstance::info::v1::NodeInstanceInfo& UpdateNodeInfo::_internal_node_instance_info() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::nodeinstance::info::v1::NodeInstanceInfo* p = _impl_.node_instance_info_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::nodeinstance::info::v1::NodeInstanceInfo>(&::nodeinstance::info::v1::NodeInstanceInfo_globals_);
}
inline const ::nodeinstance::info::v1::NodeInstanceInfo& UpdateNodeInfo::node_instance_info() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.UpdateNodeInfo.node_instance_info)
  return _internal_node_instance_info();
}
inline void UpdateNodeInfo::unsafe_arena_set_allocated_node_instance_info(
    ::nodeinstance::info::v1::NodeInstanceInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.node_instance_info_);
  }
  _impl_.node_instance_info_ = reinterpret_cast<::nodeinstance::info::v1::NodeInstanceInfo*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:nodeinstance.info.v1.UpdateNodeInfo.node_instance_info)
}
inline ::nodeinstance::info::v1::NodeInstanceInfo* PROTOBUF_NULLABLE UpdateNodeInfo::release_node_instance_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
  ::nodeinstance::info::v1::NodeInstanceInfo* released = _impl_.node_instance_info_;
  _impl_.node_instance_info_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::nodeinstance::info::v1::NodeInstanceInfo* PROTOBUF_NULLABLE UpdateNodeInfo::unsafe_arena_release_node_instance_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.UpdateNodeInfo.node_instance_info)

  ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
  ::nodeinstance::info::v1::NodeInstanceInfo* temp = _impl_.node_instance_info_;
  _impl_.node_instance_info_ = nullptr;
  return temp;
}
inline ::nodeinstance::info::v1::NodeInstanceInfo* PROTOBUF_NONNULL UpdateNodeInfo::_internal_mutable_node_instance_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.node_instance_info_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::nodeinstance::info::v1::NodeInstanceInfo>(GetArena());
    _impl_.node_instance_info_ = reinterpret_cast<::nodeinstance::info::v1::NodeInstanceInfo*>(p);
  }
  return _impl_.node_instance_info_;
}
inline ::nodeinstance::info::v1::NodeInstanceInfo* PROTOBUF_NONNULL UpdateNodeInfo::mutable_node_instance_info()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  ::nodeinstance::info::v1::NodeInstanceInfo* _msg = _internal_mutable_node_instance_info();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.UpdateNodeInfo.node_instance_info)
  return _msg;
}
inline void UpdateNodeInfo::set_allocated_node_instance_info(::nodeinstance::info::v1::NodeInstanceInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.node_instance_info_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
  }

  _impl_.node_instance_info_ = reinterpret_cast<::nodeinstance::info::v1::NodeInstanceInfo*>(value);
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.UpdateNodeInfo.node_instance_info)
}

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

// NodeInfo2

// repeated .aclk_lib.v1.Capability capabilities = 1;
inline int NodeInfo2::_internal_capabilities_size() const {
  return _internal_capabilities().size();
}
inline int NodeInfo2::capabilities_size() const {
  return _internal_capabilities_size();
}
inline const ::aclk_lib::v1::Capability& NodeInfo2::capabilities(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo2.capabilities)
  return _internal_capabilities().Get(index);
}
inline ::aclk_lib::v1::Capability* PROTOBUF_NONNULL NodeInfo2::mutable_capabilities(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo2.capabilities)
  return _internal_mutable_capabilities()->Mutable(index);
}
inline ::aclk_lib::v1::Capability* PROTOBUF_NONNULL NodeInfo2::add_capabilities()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::aclk_lib::v1::Capability* _add =
      _internal_mutable_capabilities()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:nodeinstance.info.v1.NodeInfo2.capabilities)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::aclk_lib::v1::Capability>& NodeInfo2::capabilities() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:nodeinstance.info.v1.NodeInfo2.capabilities)
  return _internal_capabilities();
}
inline ::google::protobuf::RepeatedPtrField<::aclk_lib::v1::Capability>* PROTOBUF_NONNULL
NodeInfo2::mutable_capabilities() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:nodeinstance.info.v1.NodeInfo2.capabilities)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_capabilities();
}
inline const ::google::protobuf::RepeatedPtrField<::aclk_lib::v1::Capability>&
NodeInfo2::_internal_capabilities() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.capabilities_;
}
inline ::google::protobuf::RepeatedPtrField<::aclk_lib::v1::Capability>* PROTOBUF_NONNULL
NodeInfo2::_internal_mutable_capabilities() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.capabilities_;
}

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

// NodeInstanceInfo

// repeated .aclk_lib.v1.Capability capabilities = 1;
inline int NodeInstanceInfo::_internal_capabilities_size() const {
  return _internal_capabilities().size();
}
inline int NodeInstanceInfo::capabilities_size() const {
  return _internal_capabilities_size();
}
inline const ::aclk_lib::v1::Capability& NodeInstanceInfo::capabilities(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInstanceInfo.capabilities)
  return _internal_capabilities().Get(index);
}
inline ::aclk_lib::v1::Capability* PROTOBUF_NONNULL NodeInstanceInfo::mutable_capabilities(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInstanceInfo.capabilities)
  return _internal_mutable_capabilities()->Mutable(index);
}
inline ::aclk_lib::v1::Capability* PROTOBUF_NONNULL NodeInstanceInfo::add_capabilities()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::aclk_lib::v1::Capability* _add =
      _internal_mutable_capabilities()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:nodeinstance.info.v1.NodeInstanceInfo.capabilities)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::aclk_lib::v1::Capability>& NodeInstanceInfo::capabilities() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:nodeinstance.info.v1.NodeInstanceInfo.capabilities)
  return _internal_capabilities();
}
inline ::google::protobuf::RepeatedPtrField<::aclk_lib::v1::Capability>* PROTOBUF_NONNULL
NodeInstanceInfo::mutable_capabilities() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:nodeinstance.info.v1.NodeInstanceInfo.capabilities)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_capabilities();
}
inline const ::google::protobuf::RepeatedPtrField<::aclk_lib::v1::Capability>&
NodeInstanceInfo::_internal_capabilities() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.capabilities_;
}
inline ::google::protobuf::RepeatedPtrField<::aclk_lib::v1::Capability>* PROTOBUF_NONNULL
NodeInstanceInfo::_internal_mutable_capabilities() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.capabilities_;
}

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

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

// NodeInfo

// string name = 1;
inline void NodeInfo::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& NodeInfo::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void NodeInfo::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.NodeInfo.name)
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo.name)
  return _s;
}
inline const ::std::string& NodeInfo::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void NodeInfo::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE NodeInfo::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.NodeInfo.name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void NodeInfo::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.NodeInfo.name)
}

// string os = 2;
inline void NodeInfo::clear_os() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.os_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& NodeInfo::os() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.os)
  return _internal_os();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void NodeInfo::set_os(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.os_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.NodeInfo.os)
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::mutable_os()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_os();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo.os)
  return _s;
}
inline const ::std::string& NodeInfo::_internal_os() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.os_.Get();
}
inline void NodeInfo::_internal_set_os(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.os_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::_internal_mutable_os() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.os_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE NodeInfo::release_os() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.NodeInfo.os)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.os_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.os_.Set("", GetArena());
  }
  return released;
}
inline void NodeInfo::set_allocated_os(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.os_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.os_.IsDefault()) {
    _impl_.os_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.NodeInfo.os)
}

// string os_name = 3;
inline void NodeInfo::clear_os_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.os_name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline const ::std::string& NodeInfo::os_name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.os_name)
  return _internal_os_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void NodeInfo::set_os_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.os_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.NodeInfo.os_name)
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::mutable_os_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_os_name();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo.os_name)
  return _s;
}
inline const ::std::string& NodeInfo::_internal_os_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.os_name_.Get();
}
inline void NodeInfo::_internal_set_os_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.os_name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::_internal_mutable_os_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.os_name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE NodeInfo::release_os_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.NodeInfo.os_name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.os_name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.os_name_.Set("", GetArena());
  }
  return released;
}
inline void NodeInfo::set_allocated_os_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.os_name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.os_name_.IsDefault()) {
    _impl_.os_name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.NodeInfo.os_name)
}

// string os_version = 4;
inline void NodeInfo::clear_os_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.os_version_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline const ::std::string& NodeInfo::os_version() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.os_version)
  return _internal_os_version();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void NodeInfo::set_os_version(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  _impl_.os_version_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.NodeInfo.os_version)
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::mutable_os_version()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::std::string* _s = _internal_mutable_os_version();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo.os_version)
  return _s;
}
inline const ::std::string& NodeInfo::_internal_os_version() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.os_version_.Get();
}
inline void NodeInfo::_internal_set_os_version(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.os_version_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::_internal_mutable_os_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.os_version_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE NodeInfo::release_os_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.NodeInfo.os_version)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000008U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  auto* released = _impl_.os_version_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.os_version_.Set("", GetArena());
  }
  return released;
}
inline void NodeInfo::set_allocated_os_version(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  _impl_.os_version_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.os_version_.IsDefault()) {
    _impl_.os_version_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.NodeInfo.os_version)
}

// string kernel_name = 5;
inline void NodeInfo::clear_kernel_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.kernel_name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
}
inline const ::std::string& NodeInfo::kernel_name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.kernel_name)
  return _internal_kernel_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void NodeInfo::set_kernel_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  _impl_.kernel_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.NodeInfo.kernel_name)
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::mutable_kernel_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::std::string* _s = _internal_mutable_kernel_name();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo.kernel_name)
  return _s;
}
inline const ::std::string& NodeInfo::_internal_kernel_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.kernel_name_.Get();
}
inline void NodeInfo::_internal_set_kernel_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.kernel_name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::_internal_mutable_kernel_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.kernel_name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE NodeInfo::release_kernel_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.NodeInfo.kernel_name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000010U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  auto* released = _impl_.kernel_name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.kernel_name_.Set("", GetArena());
  }
  return released;
}
inline void NodeInfo::set_allocated_kernel_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }
  _impl_.kernel_name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.kernel_name_.IsDefault()) {
    _impl_.kernel_name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.NodeInfo.kernel_name)
}

// string kernel_version = 6;
inline void NodeInfo::clear_kernel_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.kernel_version_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
}
inline const ::std::string& NodeInfo::kernel_version() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.kernel_version)
  return _internal_kernel_version();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void NodeInfo::set_kernel_version(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  _impl_.kernel_version_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.NodeInfo.kernel_version)
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::mutable_kernel_version()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::std::string* _s = _internal_mutable_kernel_version();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo.kernel_version)
  return _s;
}
inline const ::std::string& NodeInfo::_internal_kernel_version() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.kernel_version_.Get();
}
inline void NodeInfo::_internal_set_kernel_version(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.kernel_version_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::_internal_mutable_kernel_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.kernel_version_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE NodeInfo::release_kernel_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.NodeInfo.kernel_version)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000020U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  auto* released = _impl_.kernel_version_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.kernel_version_.Set("", GetArena());
  }
  return released;
}
inline void NodeInfo::set_allocated_kernel_version(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  }
  _impl_.kernel_version_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.kernel_version_.IsDefault()) {
    _impl_.kernel_version_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.NodeInfo.kernel_version)
}

// string architecture = 7;
inline void NodeInfo::clear_architecture() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.architecture_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
}
inline const ::std::string& NodeInfo::architecture() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.architecture)
  return _internal_architecture();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void NodeInfo::set_architecture(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  _impl_.architecture_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.NodeInfo.architecture)
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::mutable_architecture()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  ::std::string* _s = _internal_mutable_architecture();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo.architecture)
  return _s;
}
inline const ::std::string& NodeInfo::_internal_architecture() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.architecture_.Get();
}
inline void NodeInfo::_internal_set_architecture(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.architecture_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::_internal_mutable_architecture() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.architecture_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE NodeInfo::release_architecture() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.NodeInfo.architecture)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000040U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  auto* released = _impl_.architecture_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.architecture_.Set("", GetArena());
  }
  return released;
}
inline void NodeInfo::set_allocated_architecture(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  }
  _impl_.architecture_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.architecture_.IsDefault()) {
    _impl_.architecture_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.NodeInfo.architecture)
}

// uint32 cpus = 8;
inline void NodeInfo::clear_cpus() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.cpus_ = 0u;
  ClearHasBit(_impl_._has_bits_[0], 0x00040000U);
}
inline ::uint32_t NodeInfo::cpus() const {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.cpus)
  return _internal_cpus();
}
inline void NodeInfo::set_cpus(::uint32_t value) {
  _internal_set_cpus(value);
  SetHasBit(_impl_._has_bits_[0], 0x00040000U);
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.NodeInfo.cpus)
}
inline ::uint32_t NodeInfo::_internal_cpus() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.cpus_;
}
inline void NodeInfo::_internal_set_cpus(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.cpus_ = value;
}

// string cpu_frequency = 9;
inline void NodeInfo::clear_cpu_frequency() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.cpu_frequency_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
}
inline const ::std::string& NodeInfo::cpu_frequency() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.cpu_frequency)
  return _internal_cpu_frequency();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void NodeInfo::set_cpu_frequency(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  _impl_.cpu_frequency_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.NodeInfo.cpu_frequency)
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::mutable_cpu_frequency()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  ::std::string* _s = _internal_mutable_cpu_frequency();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo.cpu_frequency)
  return _s;
}
inline const ::std::string& NodeInfo::_internal_cpu_frequency() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.cpu_frequency_.Get();
}
inline void NodeInfo::_internal_set_cpu_frequency(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.cpu_frequency_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::_internal_mutable_cpu_frequency() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.cpu_frequency_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE NodeInfo::release_cpu_frequency() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.NodeInfo.cpu_frequency)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000080U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
  auto* released = _impl_.cpu_frequency_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.cpu_frequency_.Set("", GetArena());
  }
  return released;
}
inline void NodeInfo::set_allocated_cpu_frequency(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
  }
  _impl_.cpu_frequency_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.cpu_frequency_.IsDefault()) {
    _impl_.cpu_frequency_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.NodeInfo.cpu_frequency)
}

// string memory = 10;
inline void NodeInfo::clear_memory() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.memory_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
}
inline const ::std::string& NodeInfo::memory() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.memory)
  return _internal_memory();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void NodeInfo::set_memory(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  _impl_.memory_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.NodeInfo.memory)
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::mutable_memory()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  ::std::string* _s = _internal_mutable_memory();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo.memory)
  return _s;
}
inline const ::std::string& NodeInfo::_internal_memory() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.memory_.Get();
}
inline void NodeInfo::_internal_set_memory(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.memory_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::_internal_mutable_memory() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.memory_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE NodeInfo::release_memory() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.NodeInfo.memory)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000100U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
  auto* released = _impl_.memory_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.memory_.Set("", GetArena());
  }
  return released;
}
inline void NodeInfo::set_allocated_memory(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
  }
  _impl_.memory_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.memory_.IsDefault()) {
    _impl_.memory_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.NodeInfo.memory)
}

// string disk_space = 11;
inline void NodeInfo::clear_disk_space() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.disk_space_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000200U);
}
inline const ::std::string& NodeInfo::disk_space() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.disk_space)
  return _internal_disk_space();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void NodeInfo::set_disk_space(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000200U);
  _impl_.disk_space_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.NodeInfo.disk_space)
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::mutable_disk_space()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000200U);
  ::std::string* _s = _internal_mutable_disk_space();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo.disk_space)
  return _s;
}
inline const ::std::string& NodeInfo::_internal_disk_space() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.disk_space_.Get();
}
inline void NodeInfo::_internal_set_disk_space(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.disk_space_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::_internal_mutable_disk_space() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.disk_space_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE NodeInfo::release_disk_space() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.NodeInfo.disk_space)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000200U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000200U);
  auto* released = _impl_.disk_space_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.disk_space_.Set("", GetArena());
  }
  return released;
}
inline void NodeInfo::set_allocated_disk_space(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000200U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000200U);
  }
  _impl_.disk_space_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.disk_space_.IsDefault()) {
    _impl_.disk_space_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.NodeInfo.disk_space)
}

// string version = 12;
inline void NodeInfo::clear_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.version_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000400U);
}
inline const ::std::string& NodeInfo::version() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.version)
  return _internal_version();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void NodeInfo::set_version(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000400U);
  _impl_.version_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.NodeInfo.version)
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::mutable_version()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000400U);
  ::std::string* _s = _internal_mutable_version();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo.version)
  return _s;
}
inline const ::std::string& NodeInfo::_internal_version() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.version_.Get();
}
inline void NodeInfo::_internal_set_version(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.version_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::_internal_mutable_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.version_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE NodeInfo::release_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.NodeInfo.version)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000400U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000400U);
  auto* released = _impl_.version_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.version_.Set("", GetArena());
  }
  return released;
}
inline void NodeInfo::set_allocated_version(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000400U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000400U);
  }
  _impl_.version_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.version_.IsDefault()) {
    _impl_.version_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.NodeInfo.version)
}

// string release_channel = 13;
inline void NodeInfo::clear_release_channel() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.release_channel_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000800U);
}
inline const ::std::string& NodeInfo::release_channel() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.release_channel)
  return _internal_release_channel();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void NodeInfo::set_release_channel(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000800U);
  _impl_.release_channel_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.NodeInfo.release_channel)
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::mutable_release_channel()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000800U);
  ::std::string* _s = _internal_mutable_release_channel();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo.release_channel)
  return _s;
}
inline const ::std::string& NodeInfo::_internal_release_channel() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.release_channel_.Get();
}
inline void NodeInfo::_internal_set_release_channel(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.release_channel_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::_internal_mutable_release_channel() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.release_channel_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE NodeInfo::release_release_channel() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.NodeInfo.release_channel)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000800U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000800U);
  auto* released = _impl_.release_channel_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.release_channel_.Set("", GetArena());
  }
  return released;
}
inline void NodeInfo::set_allocated_release_channel(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000800U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000800U);
  }
  _impl_.release_channel_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.release_channel_.IsDefault()) {
    _impl_.release_channel_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.NodeInfo.release_channel)
}

// string timezone = 14;
inline void NodeInfo::clear_timezone() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.timezone_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00001000U);
}
inline const ::std::string& NodeInfo::timezone() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.timezone)
  return _internal_timezone();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void NodeInfo::set_timezone(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00001000U);
  _impl_.timezone_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.NodeInfo.timezone)
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::mutable_timezone()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00001000U);
  ::std::string* _s = _internal_mutable_timezone();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo.timezone)
  return _s;
}
inline const ::std::string& NodeInfo::_internal_timezone() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.timezone_.Get();
}
inline void NodeInfo::_internal_set_timezone(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.timezone_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::_internal_mutable_timezone() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.timezone_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE NodeInfo::release_timezone() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.NodeInfo.timezone)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00001000U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00001000U);
  auto* released = _impl_.timezone_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.timezone_.Set("", GetArena());
  }
  return released;
}
inline void NodeInfo::set_allocated_timezone(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00001000U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00001000U);
  }
  _impl_.timezone_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.timezone_.IsDefault()) {
    _impl_.timezone_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.NodeInfo.timezone)
}

// string virtualization_type = 15;
inline void NodeInfo::clear_virtualization_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.virtualization_type_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00002000U);
}
inline const ::std::string& NodeInfo::virtualization_type() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.virtualization_type)
  return _internal_virtualization_type();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void NodeInfo::set_virtualization_type(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00002000U);
  _impl_.virtualization_type_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.NodeInfo.virtualization_type)
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::mutable_virtualization_type()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00002000U);
  ::std::string* _s = _internal_mutable_virtualization_type();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo.virtualization_type)
  return _s;
}
inline const ::std::string& NodeInfo::_internal_virtualization_type() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.virtualization_type_.Get();
}
inline void NodeInfo::_internal_set_virtualization_type(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.virtualization_type_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::_internal_mutable_virtualization_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.virtualization_type_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE NodeInfo::release_virtualization_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.NodeInfo.virtualization_type)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00002000U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00002000U);
  auto* released = _impl_.virtualization_type_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.virtualization_type_.Set("", GetArena());
  }
  return released;
}
inline void NodeInfo::set_allocated_virtualization_type(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00002000U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00002000U);
  }
  _impl_.virtualization_type_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.virtualization_type_.IsDefault()) {
    _impl_.virtualization_type_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.NodeInfo.virtualization_type)
}

// string container_type = 16;
inline void NodeInfo::clear_container_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.container_type_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00004000U);
}
inline const ::std::string& NodeInfo::container_type() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.container_type)
  return _internal_container_type();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void NodeInfo::set_container_type(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00004000U);
  _impl_.container_type_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.NodeInfo.container_type)
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::mutable_container_type()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00004000U);
  ::std::string* _s = _internal_mutable_container_type();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo.container_type)
  return _s;
}
inline const ::std::string& NodeInfo::_internal_container_type() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.container_type_.Get();
}
inline void NodeInfo::_internal_set_container_type(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.container_type_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::_internal_mutable_container_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.container_type_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE NodeInfo::release_container_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.NodeInfo.container_type)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00004000U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00004000U);
  auto* released = _impl_.container_type_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.container_type_.Set("", GetArena());
  }
  return released;
}
inline void NodeInfo::set_allocated_container_type(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00004000U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00004000U);
  }
  _impl_.container_type_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.container_type_.IsDefault()) {
    _impl_.container_type_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.NodeInfo.container_type)
}

// string custom_info = 17;
inline void NodeInfo::clear_custom_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.custom_info_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00008000U);
}
inline const ::std::string& NodeInfo::custom_info() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.custom_info)
  return _internal_custom_info();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void NodeInfo::set_custom_info(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00008000U);
  _impl_.custom_info_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.NodeInfo.custom_info)
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::mutable_custom_info()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00008000U);
  ::std::string* _s = _internal_mutable_custom_info();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo.custom_info)
  return _s;
}
inline const ::std::string& NodeInfo::_internal_custom_info() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.custom_info_.Get();
}
inline void NodeInfo::_internal_set_custom_info(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.custom_info_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::_internal_mutable_custom_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.custom_info_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE NodeInfo::release_custom_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.NodeInfo.custom_info)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00008000U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00008000U);
  auto* released = _impl_.custom_info_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.custom_info_.Set("", GetArena());
  }
  return released;
}
inline void NodeInfo::set_allocated_custom_info(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00008000U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00008000U);
  }
  _impl_.custom_info_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.custom_info_.IsDefault()) {
    _impl_.custom_info_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.NodeInfo.custom_info)
}

// string machine_guid = 19;
inline void NodeInfo::clear_machine_guid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.machine_guid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00010000U);
}
inline const ::std::string& NodeInfo::machine_guid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.machine_guid)
  return _internal_machine_guid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void NodeInfo::set_machine_guid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00010000U);
  _impl_.machine_guid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.NodeInfo.machine_guid)
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::mutable_machine_guid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00010000U);
  ::std::string* _s = _internal_mutable_machine_guid();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo.machine_guid)
  return _s;
}
inline const ::std::string& NodeInfo::_internal_machine_guid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.machine_guid_.Get();
}
inline void NodeInfo::_internal_set_machine_guid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.machine_guid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL NodeInfo::_internal_mutable_machine_guid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.machine_guid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE NodeInfo::release_machine_guid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.NodeInfo.machine_guid)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00010000U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00010000U);
  auto* released = _impl_.machine_guid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.machine_guid_.Set("", GetArena());
  }
  return released;
}
inline void NodeInfo::set_allocated_machine_guid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00010000U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00010000U);
  }
  _impl_.machine_guid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.machine_guid_.IsDefault()) {
    _impl_.machine_guid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.NodeInfo.machine_guid)
}

// map<string, string> host_labels = 21;
inline int NodeInfo::_internal_host_labels_size() const {
  return _internal_host_labels().size();
}
inline int NodeInfo::host_labels_size() const {
  return _internal_host_labels_size();
}
inline void NodeInfo::clear_host_labels() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.host_labels_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00080000U);
}
inline const ::google::protobuf::Map<::std::string, ::std::string>& NodeInfo::_internal_host_labels() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.host_labels_.GetMap();
}
inline const ::google::protobuf::Map<::std::string, ::std::string>& NodeInfo::host_labels() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:nodeinstance.info.v1.NodeInfo.host_labels)
  return _internal_host_labels();
}
inline ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL NodeInfo::_internal_mutable_host_labels() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.host_labels_.MutableMap();
}
inline ::google::protobuf::Map<::std::string, ::std::string>* PROTOBUF_NONNULL NodeInfo::mutable_host_labels()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00080000U);
  // @@protoc_insertion_point(field_mutable_map:nodeinstance.info.v1.NodeInfo.host_labels)
  return _internal_mutable_host_labels();
}

// .nodeinstance.info.v1.MachineLearningInfo ml_info = 22;
inline bool NodeInfo::has_ml_info() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00020000U);
  PROTOBUF_ASSUME(!value || _impl_.ml_info_ != nullptr);
  return value;
}
inline void NodeInfo::clear_ml_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.ml_info_ != nullptr) _impl_.ml_info_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00020000U);
}
inline const ::nodeinstance::info::v1::MachineLearningInfo& NodeInfo::_internal_ml_info() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::nodeinstance::info::v1::MachineLearningInfo* p = _impl_.ml_info_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::nodeinstance::info::v1::MachineLearningInfo>(&::nodeinstance::info::v1::MachineLearningInfo_globals_);
}
inline const ::nodeinstance::info::v1::MachineLearningInfo& NodeInfo::ml_info() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.NodeInfo.ml_info)
  return _internal_ml_info();
}
inline void NodeInfo::unsafe_arena_set_allocated_ml_info(
    ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.ml_info_);
  }
  _impl_.ml_info_ = reinterpret_cast<::nodeinstance::info::v1::MachineLearningInfo*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00020000U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00020000U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:nodeinstance.info.v1.NodeInfo.ml_info)
}
inline ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NULLABLE NodeInfo::release_ml_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00020000U);
  ::nodeinstance::info::v1::MachineLearningInfo* released = _impl_.ml_info_;
  _impl_.ml_info_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NULLABLE NodeInfo::unsafe_arena_release_ml_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.NodeInfo.ml_info)

  ClearHasBit(_impl_._has_bits_[0], 0x00020000U);
  ::nodeinstance::info::v1::MachineLearningInfo* temp = _impl_.ml_info_;
  _impl_.ml_info_ = nullptr;
  return temp;
}
inline ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NONNULL NodeInfo::_internal_mutable_ml_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.ml_info_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::nodeinstance::info::v1::MachineLearningInfo>(GetArena());
    _impl_.ml_info_ = reinterpret_cast<::nodeinstance::info::v1::MachineLearningInfo*>(p);
  }
  return _impl_.ml_info_;
}
inline ::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NONNULL NodeInfo::mutable_ml_info()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00020000U);
  ::nodeinstance::info::v1::MachineLearningInfo* _msg = _internal_mutable_ml_info();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.NodeInfo.ml_info)
  return _msg;
}
inline void NodeInfo::set_allocated_ml_info(::nodeinstance::info::v1::MachineLearningInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.ml_info_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00020000U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00020000U);
  }

  _impl_.ml_info_ = reinterpret_cast<::nodeinstance::info::v1::MachineLearningInfo*>(value);
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.NodeInfo.ml_info)
}

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

// MachineLearningInfo

// bool ml_capable = 1;
inline void MachineLearningInfo::clear_ml_capable() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ml_capable_ = false;
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline bool MachineLearningInfo::ml_capable() const {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.MachineLearningInfo.ml_capable)
  return _internal_ml_capable();
}
inline void MachineLearningInfo::set_ml_capable(bool value) {
  _internal_set_ml_capable(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.MachineLearningInfo.ml_capable)
}
inline bool MachineLearningInfo::_internal_ml_capable() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.ml_capable_;
}
inline void MachineLearningInfo::_internal_set_ml_capable(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ml_capable_ = value;
}

// bool ml_enabled = 2;
inline void MachineLearningInfo::clear_ml_enabled() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ml_enabled_ = false;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline bool MachineLearningInfo::ml_enabled() const {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.MachineLearningInfo.ml_enabled)
  return _internal_ml_enabled();
}
inline void MachineLearningInfo::set_ml_enabled(bool value) {
  _internal_set_ml_enabled(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.MachineLearningInfo.ml_enabled)
}
inline bool MachineLearningInfo::_internal_ml_enabled() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.ml_enabled_;
}
inline void MachineLearningInfo::_internal_set_ml_enabled(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ml_enabled_ = value;
}

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

// CollectorInfo

// string module = 1;
inline void CollectorInfo::clear_module() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.module_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& CollectorInfo::module() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.CollectorInfo.module)
  return _internal_module();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void CollectorInfo::set_module(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.module_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.CollectorInfo.module)
}
inline ::std::string* PROTOBUF_NONNULL CollectorInfo::mutable_module()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_module();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.CollectorInfo.module)
  return _s;
}
inline const ::std::string& CollectorInfo::_internal_module() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.module_.Get();
}
inline void CollectorInfo::_internal_set_module(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.module_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL CollectorInfo::_internal_mutable_module() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.module_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE CollectorInfo::release_module() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.CollectorInfo.module)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.module_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.module_.Set("", GetArena());
  }
  return released;
}
inline void CollectorInfo::set_allocated_module(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.module_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.module_.IsDefault()) {
    _impl_.module_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.CollectorInfo.module)
}

// string plugin = 2;
inline void CollectorInfo::clear_plugin() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.plugin_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& CollectorInfo::plugin() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.CollectorInfo.plugin)
  return _internal_plugin();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void CollectorInfo::set_plugin(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.plugin_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.CollectorInfo.plugin)
}
inline ::std::string* PROTOBUF_NONNULL CollectorInfo::mutable_plugin()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_plugin();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.CollectorInfo.plugin)
  return _s;
}
inline const ::std::string& CollectorInfo::_internal_plugin() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.plugin_.Get();
}
inline void CollectorInfo::_internal_set_plugin(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.plugin_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL CollectorInfo::_internal_mutable_plugin() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.plugin_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE CollectorInfo::release_plugin() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.CollectorInfo.plugin)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.plugin_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.plugin_.Set("", GetArena());
  }
  return released;
}
inline void CollectorInfo::set_allocated_plugin(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.plugin_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.plugin_.IsDefault()) {
    _impl_.plugin_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.CollectorInfo.plugin)
}

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

// UpdateNodeCollectors

// string claim_id = 1;
inline void UpdateNodeCollectors::clear_claim_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.claim_id_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& UpdateNodeCollectors::claim_id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.UpdateNodeCollectors.claim_id)
  return _internal_claim_id();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UpdateNodeCollectors::set_claim_id(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.claim_id_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.UpdateNodeCollectors.claim_id)
}
inline ::std::string* PROTOBUF_NONNULL UpdateNodeCollectors::mutable_claim_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_claim_id();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.UpdateNodeCollectors.claim_id)
  return _s;
}
inline const ::std::string& UpdateNodeCollectors::_internal_claim_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.claim_id_.Get();
}
inline void UpdateNodeCollectors::_internal_set_claim_id(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.claim_id_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UpdateNodeCollectors::_internal_mutable_claim_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.claim_id_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UpdateNodeCollectors::release_claim_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.UpdateNodeCollectors.claim_id)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.claim_id_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.claim_id_.Set("", GetArena());
  }
  return released;
}
inline void UpdateNodeCollectors::set_allocated_claim_id(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.claim_id_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.claim_id_.IsDefault()) {
    _impl_.claim_id_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.UpdateNodeCollectors.claim_id)
}

// string node_id = 2;
inline void UpdateNodeCollectors::clear_node_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.node_id_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline const ::std::string& UpdateNodeCollectors::node_id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.UpdateNodeCollectors.node_id)
  return _internal_node_id();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UpdateNodeCollectors::set_node_id(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.node_id_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:nodeinstance.info.v1.UpdateNodeCollectors.node_id)
}
inline ::std::string* PROTOBUF_NONNULL UpdateNodeCollectors::mutable_node_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_node_id();
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.UpdateNodeCollectors.node_id)
  return _s;
}
inline const ::std::string& UpdateNodeCollectors::_internal_node_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.node_id_.Get();
}
inline void UpdateNodeCollectors::_internal_set_node_id(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.node_id_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UpdateNodeCollectors::_internal_mutable_node_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.node_id_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UpdateNodeCollectors::release_node_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:nodeinstance.info.v1.UpdateNodeCollectors.node_id)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.node_id_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.node_id_.Set("", GetArena());
  }
  return released;
}
inline void UpdateNodeCollectors::set_allocated_node_id(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.node_id_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.node_id_.IsDefault()) {
    _impl_.node_id_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:nodeinstance.info.v1.UpdateNodeCollectors.node_id)
}

// repeated .nodeinstance.info.v1.CollectorInfo collectors = 3;
inline int UpdateNodeCollectors::_internal_collectors_size() const {
  return _internal_collectors().size();
}
inline int UpdateNodeCollectors::collectors_size() const {
  return _internal_collectors_size();
}
inline void UpdateNodeCollectors::clear_collectors() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.collectors_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::nodeinstance::info::v1::CollectorInfo& UpdateNodeCollectors::collectors(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:nodeinstance.info.v1.UpdateNodeCollectors.collectors)
  return _internal_collectors().Get(index);
}
inline ::nodeinstance::info::v1::CollectorInfo* PROTOBUF_NONNULL UpdateNodeCollectors::mutable_collectors(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:nodeinstance.info.v1.UpdateNodeCollectors.collectors)
  return _internal_mutable_collectors()->Mutable(index);
}
inline ::nodeinstance::info::v1::CollectorInfo* PROTOBUF_NONNULL UpdateNodeCollectors::add_collectors()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::nodeinstance::info::v1::CollectorInfo* _add =
      _internal_mutable_collectors()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:nodeinstance.info.v1.UpdateNodeCollectors.collectors)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::nodeinstance::info::v1::CollectorInfo>& UpdateNodeCollectors::collectors() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:nodeinstance.info.v1.UpdateNodeCollectors.collectors)
  return _internal_collectors();
}
inline ::google::protobuf::RepeatedPtrField<::nodeinstance::info::v1::CollectorInfo>* PROTOBUF_NONNULL
UpdateNodeCollectors::mutable_collectors() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:nodeinstance.info.v1.UpdateNodeCollectors.collectors)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_collectors();
}
inline const ::google::protobuf::RepeatedPtrField<::nodeinstance::info::v1::CollectorInfo>&
UpdateNodeCollectors::_internal_collectors() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.collectors_;
}
inline ::google::protobuf::RepeatedPtrField<::nodeinstance::info::v1::CollectorInfo>* PROTOBUF_NONNULL
UpdateNodeCollectors::_internal_mutable_collectors() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.collectors_;
}

#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)
}  // namespace v1
}  // namespace info
}  // namespace nodeinstance


// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"
// clang-format on

#endif  // proto_2fnodeinstance_2finfo_2fv1_2finfo_2eproto_2epb_2eh
